Developer guide¶
Installation¶
To install the required dependencies in Debian run:
$ apt-get install python3-libhamlib2
It is recommended to install the client in a virtualenv.
The virtualenv needs to have access to system Python bindings.
To create the virtualenv, you can use virtualenvwrapper
.
On the first time, create the virtualenv by running:
$ mkvirtualenv --system-site-packages -a . satnogs-client
To activate the virtualenv after it is created run:
$ workon satnogs-client
To install SatNOGS Client for development run in the project root directory:
$ pip install -e .
Configuration¶
This project uses python-dotenv
.
Configuration of satnogsclient/settings.py
can be overridden by setting the respective environment variables or an .env
file placed on the project root directory.
Check Configuration for a list of all configuration variables.
Code Quality Assurance¶
The following code quality assurance tools are used in this project:
flake8
isort
yapf
pylint
robotframework
Testing¶
System testing¶
Robot Framework is used for system testing.
robot/testsuites
contain Robot test cases and suites.
Automation¶
tox
is used to automate development tasks.
To install tox
run:
$ pip install tox
To execute the default list of tasks run:
$ tox
Environments¶
The following tox
environments are available:
flake8
- Check code for common errors, coding style and complexity
isort
- Check code for correct imports order
isort-apply
- Sort imports
yapf
- Check code for correct formatting
yapf-apply
- Reformat source code
pylint
- Execute static code analysis
build
- Build source and binary distributions
upload
- Upload source and binary distributions to PyPI
docs
- Build documentation
robot-lint
- Lint system test cases and suites
robot-tidy
- Reformat system test cases and suites
robot
- Execute system testing
To execute a single environment run:
$ tox -e <environment>