pydevs
A Python wrapper of adevs, a C++ library implementing the Discrete Event System Specification (DEVS).
- Documentation: pydevs.readthedocs.org
- Repository: github.com/andsor/pydevs
- Read the Docs: readthedocs.org/projects/pydevs
- PyPI: pypi.python.org/pypi/devs
Requirements and Python 2/3 compatibility
This package runs under Python 2 and Python 3, and has been tested with Python 2.7.6 and Python 3.4.0.
License
See the LICENSE file.
Developing
Development environment
Use tox to prepare virtual environments for development.
To set up a Python 2.7 environment in .devenv27
, run:
$ tox -e devenv27
To set up a Python 3.4 environment in .devenv34
, run:
$ tox -e devenv34
Packaging
This package uses setuptools.
Run
$ python setup.py sdist
or
$ python setup.py bdist
or
$ python setup.py bdist_wheel
to build a source, binary or wheel distribution.
Complete Git Integration
Setuptool uses the information of tags to infer the version of your project with the help of versioneer.
To use this feature you need to tag with the format MAJOR.MINOR[.REVISION]
, e.g. v0.0.1
or v0.1
.
The prefix v
is needed!
Run
$ python setup.py version
to retrieve the current PEP440-compliant version.
This version will be used when building a package and is also accessible
through devs.__version__
.
The version will be unknown
until you have added a first tag.
Pre-commit hooks
Unleash the power of Git by using its pre-commit hooks.
Run
$ pre-commit install
to install the pre-commit hooks.
Sphinx Documentation
Build the documentation with
$ python setup.py docs
and run doctests with
$ python setup.py doctest
Alternatively, let tox configure the virtual environment and run sphinx:
$ tox -e docs
Add further options separated from tox options by a double dash --
:
$ tox -e docs -- --help
Read the Docs
Read the Docs hosts the project at https://readthedocs.org/projects/pydevs.
Add requirements for building the documentation to the requirements-doc.txt file.
Continuous documentation building
For continuously building the documentation during development, run:
$ python setup.py autodocs
Unittest & Coverage
Run
$ python setup.py test
to run all unittests defined in the subfolder tests
with the help of tox
and py.test.
The py.test plugin pytest-cov is used to automatically generate a coverage report.
Continuous testing
For continuous testing in a Python 2.7 environment, run:
$ python setup.py test --tox-args='-c toxdev.ini -e py27'
For continuous testing in a Python 3.4 environment, run:
$ python setup.py test --tox-args='-c toxdev.ini -e py34'
Requirements Management
Add requirements to the requirements.txt file which
will be automatically used by setup.py
.
Add development requirements to the requirements-dev.txt file.