# Opine
Most people either hand-write a setup.py, or crib one from someone else. Either
way, this usually results in not using the most recent features that can make
the job of a distro easier, such as putting the static parts in `setup.cfg`.
This is a kind of linter for packaging, that can suggest changes to your
configuration in {setup.py, setup.cfg, pyproject.toml} for easier consumption by
others.
A related project is [honesty](https://pypi.org/project/honesty/), whose job it
is to make sure that your bdists appear built from the same revision with the
same contents as your sdists are.
# Usage
```
opine [-a] /path/to/root
```
This will run all suggestions and print a sequence of diffs. If you want to
apply the changes use `-a`.
# Suggestions
* Move tox.ini to setup.cfg
* Move coverage.ini to setup.cfg
* Move static config from setup.py to setup.cfg
# Status
Beta
# License
opine is copyright [Tim Hatch](http://timhatch.com/), and licensed under
the MIT license. I am providing code in this repository to you under an open
source license. This is my personal repository; the license you receive to
my code is from me and not from my employer. See the `LICENSE` file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/python-packaging/opine/",
"name": "opine",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "",
"author": "Tim Hatch",
"author_email": "tim@timhatch.com",
"download_url": "https://files.pythonhosted.org/packages/15/5b/81069ac991fc5aa6a6db36038b348f4cc469e1d956a00436f097579c58c6/opine-0.6.0.tar.gz",
"platform": null,
"description": "# Opine\n\nMost people either hand-write a setup.py, or crib one from someone else. Either\nway, this usually results in not using the most recent features that can make\nthe job of a distro easier, such as putting the static parts in `setup.cfg`.\n\nThis is a kind of linter for packaging, that can suggest changes to your\nconfiguration in {setup.py, setup.cfg, pyproject.toml} for easier consumption by\nothers.\n\nA related project is [honesty](https://pypi.org/project/honesty/), whose job it\nis to make sure that your bdists appear built from the same revision with the\nsame contents as your sdists are.\n\n# Usage\n\n```\nopine [-a] /path/to/root\n```\n\nThis will run all suggestions and print a sequence of diffs. If you want to\napply the changes use `-a`.\n\n# Suggestions\n\n* Move tox.ini to setup.cfg\n* Move coverage.ini to setup.cfg\n* Move static config from setup.py to setup.cfg\n\n# Status\n\nBeta\n\n# License\n\nopine is copyright [Tim Hatch](http://timhatch.com/), and licensed under\nthe MIT license. I am providing code in this repository to you under an open\nsource license. This is my personal repository; the license you receive to\nmy code is from me and not from my employer. See the `LICENSE` file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "An opinionated linter for python packaging",
"version": "0.6.0",
"project_urls": {
"Homepage": "https://github.com/python-packaging/opine/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "278fb2b2e45aef5018cbffe9c9560b002199c26960c64dc23eae2192981ab531",
"md5": "2430428eafa784bd4305b3b65f49b88b",
"sha256": "8b215024332b9cf57677e1c69c77c3bc57159342ee6c43f485d18b129b4879ce"
},
"downloads": -1,
"filename": "opine-0.6.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2430428eafa784bd4305b3b65f49b88b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 20610,
"upload_time": "2024-01-16T17:31:05",
"upload_time_iso_8601": "2024-01-16T17:31:05.136127Z",
"url": "https://files.pythonhosted.org/packages/27/8f/b2b2e45aef5018cbffe9c9560b002199c26960c64dc23eae2192981ab531/opine-0.6.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "155b81069ac991fc5aa6a6db36038b348f4cc469e1d956a00436f097579c58c6",
"md5": "d4a43f111c23fb697d5f9d96c32af2d3",
"sha256": "7201b36c4cac8f669c63fc2295b8f4b9a08fa23f663f312b00dff18be95a15a0"
},
"downloads": -1,
"filename": "opine-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "d4a43f111c23fb697d5f9d96c32af2d3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 10693,
"upload_time": "2024-01-16T17:31:06",
"upload_time_iso_8601": "2024-01-16T17:31:06.457215Z",
"url": "https://files.pythonhosted.org/packages/15/5b/81069ac991fc5aa6a6db36038b348f4cc469e1d956a00436f097579c58c6/opine-0.6.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-16 17:31:06",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "python-packaging",
"github_project": "opine",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "dowsing",
"specs": [
[
"==",
"0.8.0"
]
]
},
{
"name": "libcst",
"specs": [
[
"==",
"1.1.0"
]
]
},
{
"name": "pkginfo",
"specs": [
[
"==",
"1.9.6"
]
]
},
{
"name": "imperfect",
"specs": [
[
"==",
"0.3.0"
]
]
},
{
"name": "moreorless",
"specs": [
[
"==",
"0.4.0"
]
]
},
{
"name": "tomlkit",
"specs": [
[
"==",
"0.12.3"
]
]
}
],
"lcname": "opine"
}