classipypi


Nameclassipypi JSON
Version 0.0.7 PyPI version JSON
download
home_page
SummaryNeurosymbolic PyPI package classifier selector.
upload_time2023-11-11 21:58:19
maintainer
docs_urlNone
author
requires_python<3.12,>=3.10
licenseMIT
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"
}
        
Elapsed time: 0.17646s