Metadata-Version: 2.1
Name: ndd-test4p
Version: 0.3.0
Summary: Utilities for testing Python code
Home-page: https://gitlab.com/ddidier/python-ndd-test4p/
Author: David DIDIER
Author-email: c_inconnu2@yahoo.fr
License: mit
Project-URL: Documentation, https://ddidier.gitlab.io/python-ndd-test4p/
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Testing
Description-Content-Type: text/x-rst; charset=UTF-8
Requires-Dist: expects (>=0.9.0)
Requires-Dist: pyyaml (>=3.13)
Provides-Extra: distributing
Requires-Dist: twine (==1.13) ; extra == 'distributing'
Requires-Dist: wheel (==0.33.6) ; extra == 'distributing'
Provides-Extra: documenting
Requires-Dist: sphinx (==2.2.0) ; extra == 'documenting'
Requires-Dist: sphinx-rtd-theme (==0.4.3) ; extra == 'documenting'
Provides-Extra: testing
Requires-Dist: flake8 (==3.7.8) ; extra == 'testing'
Requires-Dist: pylint (==2.3.1) ; extra == 'testing'
Requires-Dist: pytest (==5.0.1) ; extra == 'testing'
Requires-Dist: pytest-cov (==2.7.1) ; extra == 'testing'
Requires-Dist: pytest-mock (==1.10.4) ; extra == 'testing'
Requires-Dist: tox (==3.13.2) ; extra == 'testing'

##########
NDD Test4P
##########

|pipeline| |coverage|

.. |pipeline| image:: https://gitlab.com/ddidier/python-ndd-test4p/badges/master/pipeline.svg
    :target: https://gitlab.com/ddidier/python-ndd-test4p/commits/master
    :alt: Pipeline Status

.. |coverage| image:: https://gitlab.com/ddidier/python-ndd-test4p/badges/master/coverage.svg
    :target: https://gitlab.com/ddidier/python-ndd-test4p/commits/master
    :alt: Coverage Report


Utilities for testing Python code.

Documentation available at https://ddidier.gitlab.io/python-ndd-test4p/.


Requirements
============

- Python 3.6 requires PyYAML >= 3.13
- Python 3.7 requires PyYAML >= 5.1


Development
===========

The Python package manager is `PIP`_.

We strongly suggest that you use `pyenv`_.

On Ubuntu 18.04:

.. code-block:: shell

    # install PIP and VirtualEnv
    sudo apt install -y python3-pip python3-venv

    # install pyenv
    curl https://pyenv.run | bash

    # clone the template repository
    git clone https://gitlab.com/ddidier/python-ndd-test4p.git

    cd python-ndd-test4p

    # install the Python versions specified in the '.python-version' file,
    # and if the Python compilation fails because of an unmet dependency,
    # have a look at https://github.com/pyenv/pyenv/wiki/common-build-problems
    pyenv install 3.6.9
    pyenv install 3.7.4

    # create and activate the environments specified in the '.python-version' file
    pyenv virtualenv 3.6.9 ndd-test4p_3.6.9
    pyenv virtualenv 3.7.4 ndd-test4p_3.7.4

    # install all the required dependencies from the project directory
    pip install -e .
    pip install -e .[testing]
    pip install -e .[documenting]
    pip install -e .[distributing]

Test the library within your current environment:

.. code-block:: shell

    python setup.py test

Run the Python linters:

.. code-block:: shell

    pylint src/
    pylint --rcfile=.pylintrc-tests tests/**/*.py

    flake8 src/
    flake8 --config=.flake8-tests tests/

Test the documentation examples:

.. code-block:: shell

    python setup.py doctest

Generate the documentation:

.. code-block:: shell

    python setup.py docs

Test the library within the supported environments:

.. code-block:: shell

    tox --parallel auto

Generate the Wheels package:

.. code-block:: shell

    python setup.py bdist_wheel


Notes
=====

Similar and/or complementary projects:

- `pytest-datadir <https://pypi.org/project/pytest-datadir/>`_
- `pytest-datafiles <https://pypi.org/project/pytest-datafiles/>`_

This project has been set up using PyScaffold 3.2.1.
For details and usage information on PyScaffold see https://pyscaffold.org/.


References
==========

.. _PIP: https://en.wikipedia.org/wiki/Pip_(package_manager)
.. _pyenv: https://github.com/pyenv/pyenv
.. _VirtualEnv: https://virtualenv.pypa.io/
.. _VirtualEnvWrapper: https://virtualenvwrapper.readthedocs.io/

- `PIP`_
- `pyenv`_
- `VirtualEnv`_
- `VirtualEnvWrapper`_


