Development =========== This chapter descibes how to develop on ppci. Communication ------------- Join the #ppci irc channel on freenode! Source code ----------- The sourcecode of the project is located at these repositories: - https://bitbucket.org/windel/ppci - https://pikacode.com/windel/ppci/ Continuous integration ---------------------- The compiler is tested for linux: - https://drone.io/bitbucket.org/windel/ppci and for windows: - https://ci.appveyor.com/project/WindelBouwman/ppci-786 Code metrics ------------ Code coverage is reported to the codecov service: - https://codecov.io/bitbucket/windel/ppci?branch=default Other code metrics are listed at openhub: - https://www.openhub.net/p/ppci Running the testsuite --------------------- To run the unit tests with the compiler, use pytest: .. code:: bash $ python -m pytest -v test/ Or use the unittest module: .. code:: bash $ python -m unittest discover -s test In order to test ppci versus different versions of python, tox is used. To run tox, simply run in the root directory: .. code:: bash $ tox Building the docs ----------------- The docs can be build locally by using sphinx. Make sure that ppci is on your PYTHONPATH .. code:: bash $ export PYTHONPATH=your_ppci_root $ cd docs $ sphinx-build -b html . build Alternatively the tox docs environment can be used: .. code:: bash $ tox -e docs Release procedure ----------------- Make sure all tests pass before a release. Package and upload the python package with: .. code:: bash $ python setup.py sdist upload Increase the version number.