-
Notifications
You must be signed in to change notification settings - Fork 11
Add manpage and migrate to pyproject.toml #138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| [project] | ||
| name = "pxpx" | ||
| description = "ps and top for Human Beings" | ||
| readme = "README.rst" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The old setup.py used the README.rst as long_description.
Does setting readme here have the same effect?
For clarity, I don't know what the effect was of setting that...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup they both map to the core metadata field Description which for example PyPI displays: https://pypi.org/project/pxpx/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR modernizes the Python packaging setup by migrating from setup.py to pyproject.toml and adds manpage installation support for package managers like pipx and homebrew.
- Migrates from
setup.pytopyproject.tomlwith static metadata configuration - Replaces custom version detection with
setuptools_scmfor standardized version management - Consolidates configuration files (
mypy.ini,setup.cfg) intopyproject.toml
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| setup.py | Removed entire custom setup script with version detection logic |
| pyproject.toml | Added modern Python packaging configuration with metadata and tool settings |
| tox.ini | Updated test environment to remove version.py dependency and cleanup commands |
| px/px.py | Updated version imports to use __version__ from setuptools_scm |
| setup.cfg | Removed file, configuration moved to pyproject.toml |
| mypy.ini | Removed file, configuration moved to pyproject.toml |
| .pylintrc | Removed unused pylint configuration |
| devbin/test_clone_and_build.py | Removed setup.py build step and fixed import ordering |
| .github/workflows/macos-ci.yml | Removed version.py tox environment from CI |
| .github/workflows/deployment.yml | Updated deployment workflow to check version after build |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
This reverts commit a814558. Broke CI.
|
Beautiful, thanks Vincent! :) |
I noticed the manpage was intentionally omitted from
setup.pysince bf6eb98, however manpages are now recognized by installers like pipx and homebrew (with uv to hopefully follow soon). So this installs them at the standardshare/man/man1pathAlso, I took the opportunity to migrate to
pyproject.toml(the modern replacement forsetup.pyfavoring static metadata). Things should generally be the same, but note I:setuptools_scm(which is generally more familiar to packagers and allows easily overriding the version when building from a source tarball).pylintrcand mergemypy.iniandsetup.cfgintopyproject.tomlrequires-python = ">=3.9"(which is the currently supported pythons, lmk if this should be something else)