Name | classipypi JSON |
Version |
0.0.7
JSON |
| download |
home_page | |
Summary | Neurosymbolic PyPI package classifier selector. |
upload_time | 2023-11-11 21:58:19 |
maintainer | |
docs_url | None |
author | |
requires_python | <3.12,>=3.10 |
license | MIT |
keywords |
pydantic
pypi
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# classipypi
[![PyPI](https://img.shields.io/pypi/v/classipypi?logo=python&logoColor=%23cccccc)](https://pypi.org/project/classipypi)
[![pdm-managed](https://img.shields.io/badge/pdm-managed-blueviolet)](https://pdm.fming.dev)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/lmmx/classipypi/master.svg)](https://results.pre-commit.ci/latest/github/lmmx/classipypi/master)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/classipypi.svg)](https://pypi.org/project/classipypi)
<!-- [![build status](https://github.com/lmmx/classipypi/actions/workflows/master.yml/badge.svg)](https://github.com/lmmx/classipypi/actions/workflows/master.yml) -->
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
```py
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):
```sh
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:
```sh
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:
```sh
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](https://www.conventionalcommits.org/en/v1.0.0/).
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.
Raw data
{
"_id": null,
"home_page": "",
"name": "classipypi",
"maintainer": "",
"docs_url": null,
"requires_python": "<3.12,>=3.10",
"maintainer_email": "",
"keywords": "pydantic pypi",
"author": "",
"author_email": "Louis Maddox <louismmx@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/08/a5/67408a624bd2171d58d935f999373a91a092886bf3ca6aaa798f8cf1d607/classipypi-0.0.7.tar.gz",
"platform": null,
"description": "# classipypi\n\n[![PyPI](https://img.shields.io/pypi/v/classipypi?logo=python&logoColor=%23cccccc)](https://pypi.org/project/classipypi)\n[![pdm-managed](https://img.shields.io/badge/pdm-managed-blueviolet)](https://pdm.fming.dev)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/lmmx/classipypi/master.svg)](https://results.pre-commit.ci/latest/github/lmmx/classipypi/master)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/classipypi.svg)](https://pypi.org/project/classipypi)\n\n<!-- [![build status](https://github.com/lmmx/classipypi/actions/workflows/master.yml/badge.svg)](https://github.com/lmmx/classipypi/actions/workflows/master.yml) -->\n\nNeural PyPI package 'Trove classifier' selector.\n\n## Motivation\n\nPyPI 'Trove classifiers' are used in `setup.py` or `pyproject.toml` files to convey to\nPyPI users the conditions under which the package has been used or tested,\nthe topic of the software, etc. such as\n\n- `Operating System :: POSIX :: Linux`\n- `Topic :: Software Development :: Libraries`\n- `Intended Audience :: Developers`\n\n## Installation\n\n```py\npip install classipypi\n```\n\n## Usage\n\n### `ls`\n\n```\nusage: classipypi ls [-h] [-i [INCLUDE ...]] [-e [EXCLUDE ...]] [-t] [-g]\n\nConfigure input filtering and output display.\n\noptions:\n -h, --help show this help message and exit\n -i [INCLUDE ...], --include [INCLUDE ...]\n Strings to filter tags for.\n (default: [])\n -e [EXCLUDE ...], --exclude [EXCLUDE ...]\n Strings to filter tags against.\n (default: [])\n -t, --toml Whether to display the tags as a TOML-compatible list.\n (default: False)\n -g, --group Whether to display tags grouped by section.\n (default: False)\n```\n\nFor example, to show the _Development Status_ tags (but skip any with \"Alpha\" in):\n\n```sh\nclassipypi ls -i \"Development Status\" -e Alpha\n```\n\n```\nDevelopment Status :: 1 - Planning\nDevelopment Status :: 4 - Beta\nDevelopment Status :: 5 - Production/Stable\nDevelopment Status :: 6 - Mature\nDevelopment Status :: 7 - Inactive\n```\n\n### `sel`\n\nUse `-q` or `--query` to select classifiers based on a description:\n\n```sh\nclassipypi -q \"3D scientific visualisation tool\"\n```\n\n```\nusage: classipypi sel [-h] [-q QUERY] [-s SOURCE] [-t] [-g]\n\nConfigure source and y.\n\noptions:\n -h, --help show this help message and exit\n -q QUERY, --query QUERY\n The query string.\n (default: None)\n -s SOURCE, --source SOURCE\n The source code.\n (default: None)\n -t, --toml Whether to display the tags as a TOML-compatible list.\n (default: False)\n -g, --group Whether to display tags grouped by section.\n (default: False)\n```\n\nUse `-s` or `--source` to select classifiers based on source code:\n\n```sh\nclassipypi --source ./local_package_repo/\n```\n\n\n## Development\n\n- To set up pre-commit hooks (to keep the CI bot happy) run `pre-commit install-hooks` so all git\n commits trigger the pre-commit checks. I use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).\n This runs `black`, `flake8`, `autopep8`, `pyupgrade`, etc.\n\n- To set up a dev env, I first create a new conda environment and use it in PDM with `which python > .pdm-python`.\n To use `virtualenv` environment instead of conda, skip that. Run `pdm install` and a `.venv` will be created if no\n Python binary path is found in `.pdm-python`.\n\n- To run tests, run `pdm run python -m pytest` and the PDM environment will be used to run the test suite.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Neurosymbolic PyPI package classifier selector.",
"version": "0.0.7",
"project_urls": {
"Homepage": "https://github.com/lmmx/classipypi",
"Repository": "https://github.com/lmmx/classipypi.git"
},
"split_keywords": [
"pydantic",
"pypi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1fcf8078204e3183c75147cd87b5efaf8d13422e7dcacbca3ff1640ddc543f4c",
"md5": "b44a6493ccd756cb10f64cd5e16e7d43",
"sha256": "a31b36f0ac020771430c737f5479d31f61440d8f7c2711eda8b52b76188a56ba"
},
"downloads": -1,
"filename": "classipypi-0.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b44a6493ccd756cb10f64cd5e16e7d43",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12,>=3.10",
"size": 7804,
"upload_time": "2023-11-11T21:58:17",
"upload_time_iso_8601": "2023-11-11T21:58:17.715787Z",
"url": "https://files.pythonhosted.org/packages/1f/cf/8078204e3183c75147cd87b5efaf8d13422e7dcacbca3ff1640ddc543f4c/classipypi-0.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "08a567408a624bd2171d58d935f999373a91a092886bf3ca6aaa798f8cf1d607",
"md5": "94d16be66e3cabdf5336fc468ce8a073",
"sha256": "bcd5ed44b68ccc25af9447f5bc5453e9f18ab8908192d34f613ed7913af832ab"
},
"downloads": -1,
"filename": "classipypi-0.0.7.tar.gz",
"has_sig": false,
"md5_digest": "94d16be66e3cabdf5336fc468ce8a073",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12,>=3.10",
"size": 7350,
"upload_time": "2023-11-11T21:58:19",
"upload_time_iso_8601": "2023-11-11T21:58:19.289354Z",
"url": "https://files.pythonhosted.org/packages/08/a5/67408a624bd2171d58d935f999373a91a092886bf3ca6aaa798f8cf1d607/classipypi-0.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-11 21:58:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "lmmx",
"github_project": "classipypi",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "classipypi"
}