Skip to main content

A Python wrapper of adevs, a C++ library implementing the Discrete Event System Specification (DEVS)

Project description

======
pydevs
======

A Python wrapper of `adevs`_, a C++ library implementing the Discrete Event
System Specification (DEVS).

.. _adevs: http://web.ornl.gov/~1qn/adevs/

.. image:: https://readthedocs.org/projects/pydevs/badge/?version=latest
:target: https://readthedocs.org/projects/pydevs/?badge=latest
:alt: Documentation Status

.. image:: http://img.shields.io/pypi/l/pydevs.svg
:target: http://pydevs.readthedocs.org/en/latest/license.html
:alt: License

* **Documentation**: `pydevs.readthedocs.org <http://pydevs.readthedocs.org>`_
* **Repository**: `github.com/andsor/pydevs <http://github.com/andsor/pydevs>`_
* **Read the Docs**: `readthedocs.org/projects/pydevs <https://readthedocs.org/projects/pydevs>`_

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 <LICENSE>`_ file.


Developing
==========

Development environment
-----------------------

Use `tox`_ to `prepare virtual environments for development`_.

.. _prepare virtual environments for development: http://testrun.org/tox/latest/example/devenv.html

.. _tox: http://tox.testrun.org

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`_.

.. _setuptools: http://pythonhosted.org/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 <https://github.com/warner/python-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.

.. _PEP440: http://www.python.org/dev/peps/pep-0440

Pre-commit hooks
................

Unleash the power of Git by using its `pre-commit hooks
<http://pre-commit.com/>`_.

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 <http://tox.readthedocs.org/en/latest/example/general.html#integrating-sphinx-documentation-checks>`_::

$ 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.

.. _Read the Docs: http://readthedocs.org/

Add `requirements`_ for building the documentation to the
`requirements-doc.txt <requirements-doc.txt>`_ file.

.. _requirements: http://pip.readthedocs.org/en/latest/user_guide.html#requirements-files

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`_.

.. _py.test: http://pytest.org

The py.test plugin `pytest-cov`_ is used to automatically generate a coverage
report.

.. _pytest-cov: http://github.com/schlamar/pytest-cov

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 <requirements.txt>`_ file which
will be automatically used by ``setup.py``.

Add development `requirements`_ to the `requirements-dev.txt <requirements-dev.txt>`_ file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

devs-0.1.8.tar.gz (117.8 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page