Development

Github

We develop python-snap7 on github. If you have questions about python-snap7 please raise a question in the Q&A discussion sessions. If you have a bug or feature request for python-snap7 please raise an issue in the issue tracker. Even better is if you have a solution to problem! In that case you can make our live easier by following these steps:

  • fork our repository on Github

  • Add a tests that will fail because of the problem

  • Fix the problem

  • Run the test suite again

  • Commit to your repository

  • Issue a github pull request.

Also we try to be as much pep8 compatible as possible, where possible and reasonable.

Test suite

python-snap7 comes with a test suite with close to 100% coverage. This test suite verifies that the code actually works and makes development much easier. To run all tests please run from the source:

$ make test

Note that some tests require to run as root, since snap7 needs to bind on a privileged TCP port.

If the test complain about missing Python modules make sure the source directory is in your PYTHONPATH environment variable, or the python-snap7 module is installed.

Tox

We also have a whole repertoire of linters and code quality checkers in place, which you can run with:

$ make tox

Credits

python-snap7 is created by:

Special thanks to: