Skip to main content

Suggests classifiers for Python packages.

Project description

troml

troml provides a list of potential classifiers that could be added to a Python package.

It supports modern Python packages that use the pyproject.toml standard (aka PEP 621 and PEP 639). troml follows PEP 561 to determine typing information.

Screenshot of troml in action

Usage

uvx

uv is an extremely fast Python package and project manager, written in Rust. Self-contained library using uv. uvx is an alias for uv tool run ....

  1. Install uv
  2. Go to a directory with source code for a Python package
  3. uvx troml

pipx

pipx is a way to run install and run Python applications in isolated environments.

  1. Install pipx
  2. pipx install troml
  3. Go to a directory with source code for a Python package
  4. troml

pip --user

Install troml to the Python user install directory. More details in the docs.

  1. pip install --user troml
  2. Go to a directory with source code for a Python package
  3. troml

CLI arguments

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

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

troml-0.3.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

troml-0.3.0-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file troml-0.3.0.tar.gz.

File metadata

  • Download URL: troml-0.3.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

Hashes for troml-0.3.0.tar.gz
Algorithm Hash digest
SHA256 dfd27ea338a448cdc34493a74c324317a5849959fd42485280012939f8844d6c
MD5 98f2169d18f719949dc6aa7b7c124865
BLAKE2b-256 bdb24fbde802537740a9d20f45b2f19ebddc52dece601deea589a593df995758

See more details on using hashes here.

Provenance

The following attestation bundles were made for troml-0.3.0.tar.gz:

Publisher: publish.yml on adamghill/troml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file troml-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: troml-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for troml-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 512b573d2906de6718ef692aa2e06c6328cdaedf95a1ec4aef6d6a8b00cf1328
MD5 c44c65b972e6e25e016d99c9ede74b2b
BLAKE2b-256 3bd79ac5f4ce0f2ec70dce1340cec8d9e6f4173b1b1edab34ac2fcd80b872b8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for troml-0.3.0-py3-none-any.whl:

Publisher: publish.yml on adamghill/troml

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page