To install the latest development version in editable mode run pip install -e . in the current directory.
This will generate the python stubs inside the proto directory. For uninstall must be removed by hand.
Python stubs can also be generated with python -m grpc_tools.protoc -I. --python_out=. --pyi_out=. --grpc_python_out=. *.proto
inside the proto directory.
Building
To build the project, run:
$ tox run -e build
To re-build in a re-created environment, run:
$ tox run -r -e build
Maintenance
Dependencies
Python dependencies are defined in the python/pyproject.toml file.
Only top-level dependencies shall be defined, with the exception of overrides needed to workaround dependency incompatibilities.
Each dependency is defined using the appropriate compatible version specifier.
The compatible version specifiers shall be such that any newer compatible version can be installed, taking into account the versioning schema followed by each dependency.
When a dependency has been added, removed or updated in pyproject.toml, the requirements and constraints files must be manually regenerated.
To regenerate these files run:
$ cd python
$ .scm-ci-helpers/refresh-requirements-docker.sh
Changes on the requirements.txt, requirements-dev.txt and constraints.txt files shall be committed together with the changes in pyproject.toml.
SatNOGS Proto
SatNOGS Protocol Buffers for gRPC interfaces
Python
Installation
To install the latest development version in editable mode run
pip install -e .in the current directory. This will generate the python stubs inside the proto directory. For uninstall must be removed by hand. Python stubs can also be generated withpython -m grpc_tools.protoc -I. --python_out=. --pyi_out=. --grpc_python_out=. *.protoinside the proto directory.Building
To build the project, run:
To re-build in a re-created environment, run:
Maintenance
Dependencies
Python dependencies are defined in the
python/pyproject.tomlfile. Only top-level dependencies shall be defined, with the exception of overrides needed to workaround dependency incompatibilities. Each dependency is defined using the appropriate compatible version specifier. The compatible version specifiers shall be such that any newer compatible version can be installed, taking into account the versioning schema followed by each dependency. When a dependency has been added, removed or updated inpyproject.toml, the requirements and constraints files must be manually regenerated. To regenerate these files run:Changes on the
requirements.txt,requirements-dev.txtandconstraints.txtfiles shall be committed together with the changes inpyproject.toml.License