Skip to main content
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

Metadata

Release files for tracerepo 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for tracerepo 0.0.7
File Size Uploaded Provenance Actions
tracerepo-0.0.7.tar.gz 23.5 kB Without provenance Details for tracerepo-0.0.7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for tracerepo 0.0.7
File Interpreter ABI Platform Actions
tracerepo-0.0.7-py3-none-any.whl Python 3 none any Details for tracerepo-0.0.7-py3-none-any.whl

Total release size: 47.8 kB

Release files / tracerepo-0.0.7.tar.gz

Download URL tracerepo-0.0.7.tar.gz
Size 23.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e772dc0c020507e5078b032dad5a1265ec406ee9ae41db64eeb491756cf0115a
BLAKE2b-256 checksum
How to use checksums
7f56386b7d20b16ba4e5be7ea8600d360dd2d9252f7db1c38847ea4133895604
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / tracerepo-0.0.7-py3-none-any.whl

Download URL tracerepo-0.0.7-py3-none-any.whl
Size 24.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7181466318f30c618e1bcbbf4e4932f1cb88ad9f974853a9e60bdc7a71171aa
BLAKE2b-256 checksum
How to use checksums
ea7566fdeebec4d0721252b457d40e49a09effd7d61d15f791c86bc1405f6f91
Upload date
Uploaded using Trusted Publishing?
What is 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

Security for tracerepo 0.0.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page