Testudo
A wrapper for commands to be run as periodic tasks while reporting on their results/errors to legiond. Intended to be integrated with supervisord, should work well with systemd in theory.
Setup & Usage
Installation
testudo can be easily installed with pip:
pip3 install testudo
Configuration
TODO
Usage
The key reference for using testudo is:
testudo --help
Development
Standards
- Be excellent to each other
- Code coverage must be at 100% for all new code, or a good reason must be provided for why a given bit of code is not covered.
- Example of an acceptable reason: "There is a bug in the code coverage tool and it says its missing this, but its not".
- Example of unacceptable reason: "This is just exception handling, its too annoying to cover it".
- The code must pass the following analytics tools. Similar exceptions are allowable as in rule 2.
pylint --disable=C0103,C0111,W1203,R0903,R0913 --max-line-length=120 testudoflake8 --max-line-length=120 ...mypy --ignore-missing-imports --follow-imports=skip --strict-optional ...
- All incoming information from users, clients, and configurations should be validated.
- All internal arguments passing should be typechecked whenever possible with
typeguard.typechecked
Development Setup
Using pdm install from inside the repo directory:
pdm install
This will set up a virtualenv which you can always run specific commands with pdm run ....
Development
Testing
All testing should be done with pytest which is installed with the --dev requirements (pdm --dev install ...).
To run all the unit tests, execute the following from the repo directory:
pdm run pytest
This should produce a coverage report in /path/to/dewey-api/htmlcov/
While developing, you can use watchexec to monitor the file system for changes and re-run the tests:
watchexec -r -e py,yaml pdm run pytest
To run a specific test file:
pdm run pytest tests/unit/test_cli.py
To run a specific test:
pdm run pytest tests/unit/test_cli.py::test_cli_basics
For more information on testing, see the pytest.ini file as well as the documentation.
Release files for testudo 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| testudo-0.3.2.tar.gz | 22.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| testudo-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:43.1 kB
Release files / testudo-0.3.2.tar.gz
| Download URL | testudo-0.3.2.tar.gz |
|---|---|
| Size | 22.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3ad823bbc3bf9d6a16a04574d03b79dcf811bb2ef67acf6071dab70e81694361
|
|
BLAKE2b-256 checksum How to use checksums |
ac8144a8f27fa0a37da49d6f7687a9cb0da74cc000d34f4761557728e59b0945
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.6
|
Release files / testudo-0.3.2-py3-none-any.whl
| Download URL | testudo-0.3.2-py3-none-any.whl |
|---|---|
| Size | 20.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2b61af4d617bece8d25fe3e30251fab086cdb7861d24fb08983d3bfeaef5a252
|
|
BLAKE2b-256 checksum How to use checksums |
4dc8a98bfcae83f9b6dc7b25e8eab83225202e2c88cf3b8cbc1a4ffe863607e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.6
|