Development¶
Installing requirements¶
Using pip¶
$ pip install -r requirements/docs.txt -r requirements/testing.txt
Building the documentation locally¶
Install the documentation requirements:
$ pip install -r requirements/docs.txtChange directory to
docsand runmake html:$ cd docs $ make html
Load HTML documentation in a web browser of your choice:
$ firefox docs/_build/html/index.html
Running tests¶
Install the development requirements:
$ pip install -r requirements/testing.txtRun
make test lintin the project root. This will runnosetestswith coverage and also display anyflake8errors.$ make test lint
To run all tests against all supported versions of python,
use tox.
Running tests with tox¶
tox allows us to use
one command to
run tests against
all versions of python
that we support.
Setting up tox¶
Decide how you want to manage multiple python versions.
- System level using a package manager such as
apt-get. This approach will likely require adding additionalapt-getsources in order to install alternative versions of python. - Use pyenv to manage and install multiple python versions. After installation, see the pyenv command reference.
- System level using a package manager such as
Install
tox.$ pip install tox
Running tox¶
Now that you have tox setup, you just need to run the command tox from the project root directory.
$ tox
Getting involved¶
The PyDocX project welcomes help in any of the following ways:
- Making pull requests on github for code, tests and documentation.
- Participating on open issues and pull requests, reviewing changes
Coding Standards¶
All python source files must be PEP8 compliant.
All python source files must include the following import declaration at the top of the file:
from __future__ import ( absolute_import, print_function, unicode_literals, )
Unicode Data¶
- All stream data is assumed to be a UTF-8 bytestream unless specified otherwise. What this means is that when you are writing test cases for a particular function, any input data you define which would have otherwise have come from a file source must be encoded as UTF-8.
Release process¶
PyDocX adheres to Semantic versioning v2.0.0.
- Update CHANGELOG.
- Bump the version number in __init__.py on master.
- Tag the version.
- Push to PyPI
python setup.py sdist upload