Suggest new trove classifiers for modern Python packages.
Project description
troml
troml provides a list of potential classifiers that could be added to a Python package. It only supports modern Python packages that use the pyproject.toml standard.
Usage
- Go to a directory with source code for a Python package
uvx troml
Specify a path
troml also accepts a path as the first argument.
uvx troml /path/to/pypyproject.toml
Supported classifiers
Python version
troml will read project.python-requires and suggest classifiers based on it.
Legacy license
troml will suggest removing the legacy license classifiers.
Dependencies
troml will suggest classifiers based on the dependencies in project.dependencies, project.dependency-groups, and tool.uv.constraint-dependencies.
Typing
troml will suggest the "Typing :: Typed" classifier based on the existence of the py.typed file in the same directory as the pyproject.toml file.
What's with the name?
- The classifiers for Python are called "Trove classifiers"
- Modern Python packages use TOML for configuration
"trove" 🤝 "TOML"
Yes, I agree, the name is a little weird.
Development
Run from source
uv run troml [PATH-TO-PYPROJECT-TOML]
Commands
- unit tests (via
pytest):just test - linting (via
ruff):just lint - type checking (via
mypy):just type - unit test coverage (via
coverage.py):just coverage
Inspiration
- https://indieweb.social/@adamghill/115174743670090084
- another approach from @kfdm: https://codeberg.org/kfdm/add-classifiers
- post about
add-classifers: https://paultraylor.net/blog/2025/add-classifiers/ - https://github.com/jvllmr/trove-setup
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
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 troml-0.2.0.tar.gz.
File metadata
- Download URL: troml-0.2.0.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd8b725fd3eddb2a59151e027e11dd2cec4102b547ae6dcc2d8103e8769d31e4
|
|
| MD5 |
de7b96dac704a246c53a72fe9a7d16a3
|
|
| BLAKE2b-256 |
15dcd6dc34874a5d942b5b04389311c708bc21b269ae7369be6b3aca2bb76b77
|
Provenance
The following attestation bundles were made for troml-0.2.0.tar.gz:
Publisher:
publish.yml on adamghill/troml
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
troml-0.2.0.tar.gz -
Subject digest:
cd8b725fd3eddb2a59151e027e11dd2cec4102b547ae6dcc2d8103e8769d31e4 - Sigstore transparency entry: 511521211
- Sigstore integration time:
-
Permalink:
adamghill/troml@304218ee7955166fe3e20fa94876df11d85335c1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/adamghill
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@304218ee7955166fe3e20fa94876df11d85335c1 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file troml-0.2.0-py3-none-any.whl.
File metadata
- Download URL: troml-0.2.0-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9b22b331e0ce9ed901a42befd0c8e9feecc24aaad28b39fce8a32bec95e9f3f
|
|
| MD5 |
8be3171bcba180e44a3b824c042592aa
|
|
| BLAKE2b-256 |
7f128766c4603ad6a25564fe9b0777adcb497dc431caaf9c37d1cd3e69d0a863
|
Provenance
The following attestation bundles were made for troml-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on adamghill/troml
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
troml-0.2.0-py3-none-any.whl -
Subject digest:
f9b22b331e0ce9ed901a42befd0c8e9feecc24aaad28b39fce8a32bec95e9f3f - Sigstore transparency entry: 511521215
- Sigstore integration time:
-
Permalink:
adamghill/troml@304218ee7955166fe3e20fa94876df11d85335c1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/adamghill
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@304218ee7955166fe3e20fa94876df11d85335c1 -
Trigger Event:
workflow_dispatch
-
Statement type: