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.
Upgrading versions
Currently, the following, somewhat hacky, process works well:
-
Run
sed -i '' "s/==/>=/g" pyproject.toml
to remove strict version requirements. -
poetry shell
andpip install toml requests
-
Run
python ./bump_to_latest.py
-
Check non-strict versions in
pyproject.toml
and make them strict by manually running thepoetry add PACKAGE@==VERSION --optional
. Finaly, runpoetry update
Name
"A tomte and his son enjoying quiet company of the cat. Illustration by Rolf Lidberg."
Release guide:
Finish edits, bump versions in pyproject.toml
and tomte/__init__.py
, then poetry lock
, 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.