Documentation
=============
|Documentation Status| |PyPI Status| |CI Test| |Coverage|
Running tests
-------------
To run pytest in currently installed environment:
.. code:: bash
poetry run pytest
To run full extensive test suite:
.. code:: bash
poetry run doit
# Add -n <your-cpu-core-count> to execute tasks in parallel
# E.g.
poetry run doit -n 8 -v 0
# -v 0 is added to limit verbosity to mininum (optional)
# doit makes sure tasks are run in the correct order
# E.g. if a task uses a requirements.txt file that other task produces
# the producer is run first even with parallel execution
Formatting and linting
----------------------
Formatting & linting:
.. code:: bash
poetry run doit format
poetry run doit lint
Building docs
-------------
Docs can be built locally to test that ``ReadTheDocs`` can also build them:
.. code:: bash
poetry run doit docs
doit usage
----------
To list all available commands from ``dodo.py``:
.. code:: bash
poetry run doit list
Development
~~~~~~~~~~~
Development dependencies for ``tracerepo`` include:
- ``poetry``
- Used to handle Python package dependencies.
.. code:: bash
# Use poetry run to execute poetry installed cli tools such as invoke,
# nox and pytest.
poetry run <cmd>
- ``doit``
- A general task executor that is a replacement for a ``Makefile``
- Understands task dependencies and can run tasks in parallel
even while running them in the order determined from dependencies
between tasks. E.g. requirements.txt is a requirement for running
tests and therefore the task creating requirements.txt will always
run before the test task.
.. code:: bash
# Tasks are defined in dodo.py
# To list doit tasks from command line
poetry run doit list
# To run all tasks in parallel (recommended before pushing and/or
# committing)
# 8 is the number of cpu cores, change as wanted
# -v 0 sets verbosity to very low. (Errors will always still be printed.)
poetry run doit -n 8 -v 0
- ``nox``
- ``nox`` is a replacement for ``tox``. Both are made to create
reproducible Python environments for testing, making docs locally, etc.
.. code:: bash
# To list available nox sessions
# Sessions are defined in noxfile.py
poetry run nox --list
- ``copier``
- ``copier`` is a project templater. Many Python projects follow a similar
framework for testing, creating documentations and overall placement of
files and configuration. ``copier`` allows creating a template project
(e.g. https://github.com/nialov/nialov-py-template) which can be firstly
cloned as the framework for your own package and secondly to pull updates
from the template to your already started project.
.. code:: bash
# To pull copier update from github/nialov/nialov-py-template
poetry run copier update
- ``pytest``
- ``pytest`` is a Python test runner. It is used to run defined tests to
check that the package executes as expected. The defined tests in
``./tests`` contain many regression tests (done with
``pytest-regressions``) that make it almost impossible
to add features to ``tracerepo`` that changes the results of functions
and methods.
.. code:: bash
# To run tests implemented in ./tests directory and as doctests
# within project itself:
poetry run pytest
- ``coverage``
.. code:: bash
# To check coverage of tests
# (Implemented as nox session!)
poetry run nox --session test_pip
- ``sphinx``
- Creates documentation from files in ``./docs_src``.
.. code:: bash
# To create documentation
# (Implemented as nox session!)
poetry run nox --session docs
Big thanks to all maintainers of the above packages!
License
~~~~~~~
Copyright © 2021, Nikolas Ovaskainen.
-----
.. |Documentation Status| image:: https://readthedocs.org/projects/tracerepo/badge/?version=latest
:target: https://tracerepo.readthedocs.io/en/latest/?badge=latest
.. |PyPI Status| image:: https://img.shields.io/pypi/v/tracerepo.svg
:target: https://pypi.python.org/pypi/tracerepo
.. |CI Test| image:: https://github.com/nialov/tracerepo/workflows/test-and-publish/badge.svg
:target: https://github.com/nialov/tracerepo/actions/workflows/test-and-publish.yaml?query=branch%3Amaster
.. |Coverage| image:: https://raw.githubusercontent.com/nialov/tracerepo/master/docs_src/imgs/coverage.svg
:target: https://github.com/nialov/tracerepo/blob/master/docs_src/imgs/coverage.svg
=============
|Documentation Status| |PyPI Status| |CI Test| |Coverage|
Running tests
-------------
To run pytest in currently installed environment:
.. code:: bash
poetry run pytest
To run full extensive test suite:
.. code:: bash
poetry run doit
# Add -n <your-cpu-core-count> to execute tasks in parallel
# E.g.
poetry run doit -n 8 -v 0
# -v 0 is added to limit verbosity to mininum (optional)
# doit makes sure tasks are run in the correct order
# E.g. if a task uses a requirements.txt file that other task produces
# the producer is run first even with parallel execution
Formatting and linting
----------------------
Formatting & linting:
.. code:: bash
poetry run doit format
poetry run doit lint
Building docs
-------------
Docs can be built locally to test that ``ReadTheDocs`` can also build them:
.. code:: bash
poetry run doit docs
doit usage
----------
To list all available commands from ``dodo.py``:
.. code:: bash
poetry run doit list
Development
~~~~~~~~~~~
Development dependencies for ``tracerepo`` include:
- ``poetry``
- Used to handle Python package dependencies.
.. code:: bash
# Use poetry run to execute poetry installed cli tools such as invoke,
# nox and pytest.
poetry run <cmd>
- ``doit``
- A general task executor that is a replacement for a ``Makefile``
- Understands task dependencies and can run tasks in parallel
even while running them in the order determined from dependencies
between tasks. E.g. requirements.txt is a requirement for running
tests and therefore the task creating requirements.txt will always
run before the test task.
.. code:: bash
# Tasks are defined in dodo.py
# To list doit tasks from command line
poetry run doit list
# To run all tasks in parallel (recommended before pushing and/or
# committing)
# 8 is the number of cpu cores, change as wanted
# -v 0 sets verbosity to very low. (Errors will always still be printed.)
poetry run doit -n 8 -v 0
- ``nox``
- ``nox`` is a replacement for ``tox``. Both are made to create
reproducible Python environments for testing, making docs locally, etc.
.. code:: bash
# To list available nox sessions
# Sessions are defined in noxfile.py
poetry run nox --list
- ``copier``
- ``copier`` is a project templater. Many Python projects follow a similar
framework for testing, creating documentations and overall placement of
files and configuration. ``copier`` allows creating a template project
(e.g. https://github.com/nialov/nialov-py-template) which can be firstly
cloned as the framework for your own package and secondly to pull updates
from the template to your already started project.
.. code:: bash
# To pull copier update from github/nialov/nialov-py-template
poetry run copier update
- ``pytest``
- ``pytest`` is a Python test runner. It is used to run defined tests to
check that the package executes as expected. The defined tests in
``./tests`` contain many regression tests (done with
``pytest-regressions``) that make it almost impossible
to add features to ``tracerepo`` that changes the results of functions
and methods.
.. code:: bash
# To run tests implemented in ./tests directory and as doctests
# within project itself:
poetry run pytest
- ``coverage``
.. code:: bash
# To check coverage of tests
# (Implemented as nox session!)
poetry run nox --session test_pip
- ``sphinx``
- Creates documentation from files in ``./docs_src``.
.. code:: bash
# To create documentation
# (Implemented as nox session!)
poetry run nox --session docs
Big thanks to all maintainers of the above packages!
License
~~~~~~~
Copyright © 2021, Nikolas Ovaskainen.
-----
.. |Documentation Status| image:: https://readthedocs.org/projects/tracerepo/badge/?version=latest
:target: https://tracerepo.readthedocs.io/en/latest/?badge=latest
.. |PyPI Status| image:: https://img.shields.io/pypi/v/tracerepo.svg
:target: https://pypi.python.org/pypi/tracerepo
.. |CI Test| image:: https://github.com/nialov/tracerepo/workflows/test-and-publish/badge.svg
:target: https://github.com/nialov/tracerepo/actions/workflows/test-and-publish.yaml?query=branch%3Amaster
.. |Coverage| image:: https://raw.githubusercontent.com/nialov/tracerepo/master/docs_src/imgs/coverage.svg
:target: https://github.com/nialov/tracerepo/blob/master/docs_src/imgs/coverage.svg
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
tracerepo-0.0.7.tar.gz
(23.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
tracerepo-0.0.7-py3-none-any.whl
(24.3 kB
view details)
File details
Details for the file tracerepo-0.0.7.tar.gz.
File metadata
- Download URL: tracerepo-0.0.7.tar.gz
- Upload date:
- Size: 23.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e772dc0c020507e5078b032dad5a1265ec406ee9ae41db64eeb491756cf0115a
|
|
| MD5 |
20e916d965ff1593815fe4cf851f3a5b
|
|
| BLAKE2b-256 |
7f56386b7d20b16ba4e5be7ea8600d360dd2d9252f7db1c38847ea4133895604
|
File details
Details for the file tracerepo-0.0.7-py3-none-any.whl.
File metadata
- Download URL: tracerepo-0.0.7-py3-none-any.whl
- Upload date:
- Size: 24.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7181466318f30c618e1bcbbf4e4932f1cb88ad9f974853a9e60bdc7a71171aa
|
|
| MD5 |
42681a6b8ed2b60dbd8d69e07ad761ed
|
|
| BLAKE2b-256 |
ea7566fdeebec4d0721252b457d40e49a09effd7d61d15f791c86bc1405f6f91
|