/pyggcq

Scientific Python Package for G/G/c Queueing Simulation

Primary LanguagePythonApache License 2.0Apache-2.0

pyggcq

Scientific Python package for G/G/c Queueing Simulation

Documentation Status License

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 LICENSE.txt.

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

Your project is already an initialised Git repository and setup.py 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 vMAJOR.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 ggcq.__version__. The version will be unknown until you have added a first tag.

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

Start editing the file docs/index.rst to extend the documentation.

Read the Docs hosts the project at https://readthedocs.org/projects/pyggcq.

Add requirements for building the documentation to the doc-requirements.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.