Skip to main content

Fracture & lineament data management.

Project description

Documentation Status PyPI Status CI Test Coverage

Running tests

To run pytest in currently installed environment:

poetry run pytest

To run full extensive test suite:

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:

poetry run doit format
poetry run doit lint

Building docs

Docs can be built locally to test that ReadTheDocs can also build them:

poetry run doit docs

doit usage

To list all available commands from dodo.py:

poetry run doit list

Development

Development dependencies for tracerepo include:

  • poetry

    • Used to handle Python package dependencies.

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

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

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

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

    # To run tests implemented in ./tests directory and as doctests
    # within project itself:
    poetry run pytest
  • coverage

    # To check coverage of tests
    # (Implemented as nox session!)
    poetry run nox --session test_pip
  • sphinx

    • Creates documentation from files in ./docs_src.

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


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

tracerepo-0.0.7.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

tracerepo-0.0.7-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

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

Hashes for tracerepo-0.0.7.tar.gz
Algorithm Hash digest
SHA256 e772dc0c020507e5078b032dad5a1265ec406ee9ae41db64eeb491756cf0115a
MD5 20e916d965ff1593815fe4cf851f3a5b
BLAKE2b-256 7f56386b7d20b16ba4e5be7ea8600d360dd2d9252f7db1c38847ea4133895604

See more details on using hashes here.

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

Hashes for tracerepo-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f7181466318f30c618e1bcbbf4e4932f1cb88ad9f974853a9e60bdc7a71171aa
MD5 42681a6b8ed2b60dbd8d69e07ad761ed
BLAKE2b-256 ea7566fdeebec4d0721252b457d40e49a09effd7d61d15f791c86bc1405f6f91

See more details on using hashes here.

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