Skip to main content

classipypi

PyPI pdm-managed pre-commit.ci status Supported Python versions

Neural PyPI package 'Trove classifier' selector.

Motivation

PyPI 'Trove classifiers' are used in setup.py or pyproject.toml files to convey to PyPI users the conditions under which the package has been used or tested, the topic of the software, etc. such as

  • Operating System :: POSIX :: Linux
  • Topic :: Software Development :: Libraries
  • Intended Audience :: Developers

Installation

pip install classipypi

Usage

ls

usage: classipypi ls [-h] [-i [INCLUDE ...]] [-e [EXCLUDE ...]] [-t] [-g]

Configure input filtering and output display.

options:
  -h, --help            show this help message and exit
  -i [INCLUDE ...], --include [INCLUDE ...]
                        Strings to filter tags for.
                        (default: [])
  -e [EXCLUDE ...], --exclude [EXCLUDE ...]
                        Strings to filter tags against.
                        (default: [])
  -t, --toml            Whether to display the tags as a TOML-compatible list.
                        (default: False)
  -g, --group           Whether to display tags grouped by section.
                        (default: False)

For example, to show the Development Status tags (but skip any with "Alpha" in):

classipypi ls -i "Development Status" -e Alpha
Development Status :: 1 - Planning
Development Status :: 4 - Beta
Development Status :: 5 - Production/Stable
Development Status :: 6 - Mature
Development Status :: 7 - Inactive

sel

Use -q or --query to select classifiers based on a description:

classipypi -q "3D scientific visualisation tool"
usage: classipypi sel [-h] [-q QUERY] [-s SOURCE] [-t] [-g]

Configure source and y.

options:
  -h, --help            show this help message and exit
  -q QUERY, --query QUERY
                        The query string.
                        (default: None)
  -s SOURCE, --source SOURCE
                        The source code.
                        (default: None)
  -t, --toml            Whether to display the tags as a TOML-compatible list.
                        (default: False)
  -g, --group           Whether to display tags grouped by section.
                        (default: False)

Use -s or --source to select classifiers based on source code:

classipypi --source ./local_package_repo/

Development

  • To set up pre-commit hooks (to keep the CI bot happy) run pre-commit install-hooks so all git commits trigger the pre-commit checks. I use Conventional Commits. This runs black, flake8, autopep8, pyupgrade, etc.

  • To set up a dev env, I first create a new conda environment and use it in PDM with which python > .pdm-python. To use virtualenv environment instead of conda, skip that. Run pdm install and a .venv will be created if no Python binary path is found in .pdm-python.

  • To run tests, run pdm run python -m pytest and the PDM environment will be used to run the test suite.

Metadata

Release files for classipypi 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for classipypi 0.0.7
File Size Uploaded
classipypi-0.0.7.tar.gz 7.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for classipypi 0.0.7
File Interpreter ABI Platform
classipypi-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 15.2 kB

Release files / classipypi-0.0.7.tar.gz

Download URL classipypi-0.0.7.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
bcd5ed44b68ccc25af9447f5bc5453e9f18ab8908192d34f613ed7913af832ab
BLAKE2b-256 checksum
How to use checksums
08a567408a624bd2171d58d935f999373a91a092886bf3ca6aaa798f8cf1d607
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.10.1 CPython/3.10.4

Release files / classipypi-0.0.7-py3-none-any.whl

Download URL classipypi-0.0.7-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a31b36f0ac020771430c737f5479d31f61440d8f7c2711eda8b52b76188a56ba
BLAKE2b-256 checksum
How to use checksums
1fcf8078204e3183c75147cd87b5efaf8d13422e7dcacbca3ff1640ddc543f4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.10.1 CPython/3.10.4

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page