A library that wraps many useful tools (linters, analysers, etc) to keep Python code clean, secure, well-documented and optimised.
Project description
tomte
A library that wraps many useful tools (linters, analysers, etc) to keep Python code clean, secure, well-documented and optimised.
Essentially does nothing else but pinning multiple packages to compatible versions, for consistency across many projects and simplicity of use.
Extremely (!) opinionated by design!
Wrapped tools
- black
- bandit
- isort
- flake8
- mypy
- safety
- darglint
- vulture
- pylint
- docs (various mkdocs libraries)
- tests (various pytest libraries)
- tox
- liccheck
To install, for instance black, simply specify tomte[black]==VERSION, where VERSION is the latest version, and then use black CLI as required.
Development:
Install deps:
Install poetry. Install development dependencies before running maintenance scripts:
poetry install --with dev
Upgrading versions
Use the script directly (fully automated, no manual pin editing):
- Run
poetry run python bump_to_latest.py
This command automatically:
- Resolves latest compatible versions for
<4,>=3.10support. - Applies strict
==pins with Poetry. - Falls back to the highest resolver-compatible version when the absolute latest conflicts.
- Bumps package version (patch by default) in
pyproject.toml,tomte/__init__.py, andtests/test_tomte.py. - Regenerates
poetry.lock.
Useful flags:
--dry-run--bump-version none|patch|minor|major--no-lock
Name
"A tomte and his son enjoying quiet company of the cat. Illustration by Rolf Lidberg."
Release guide:
Finish edits and ensure dev dependencies are installed (poetry install --with dev), then run poetry run python bump_to_latest.py, then poetry run pytest -q, then poetry build, then rm -rf dist, then poetry publish --build --username=<username> --password=<password>.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file tomte-0.6.5.tar.gz.
File metadata
- Download URL: tomte-0.6.5.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f19c1b57d74394b91cfe001eac4445c3163d956b16a599f9b6de20873de0e777
|
|
| MD5 |
ca2d5cc6cdc8018d3074dbf10cb2dd73
|
|
| BLAKE2b-256 |
67f11af29384666f8e6b07ab47515fe4c25ba1fc176505e3966c177a842f1e20
|
File details
Details for the file tomte-0.6.5-py3-none-any.whl.
File metadata
- Download URL: tomte-0.6.5-py3-none-any.whl
- Upload date:
- Size: 18.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a89379b640fced037d6ea367d6ae7167f50b1088d7ed9cb6bec3d51341ce45c
|
|
| MD5 |
fcc817d35616c8c3afada3821a8a47a9
|
|
| BLAKE2b-256 |
795c7ee5488c095b7ed6d3ae1dce1924e04d2a267873901cbfb043f2d2e0326a
|