setuptools-generate

pre-commit.ci status github/workflow codecov readthedocs

github/downloads github/downloads/latest github/issues github/issues-closed github/issues-pr github/issues-pr-closed github/discussions github/milestones github/forks github/stars github/watchers github/contributors github/commit-activity github/last-commit github/release-date

github/license github/languages github/languages/top github/directory-file-count github/code-size github/repo-size github/v

pypi/status pypi/v pypi/downloads pypi/format pypi/implementation pypi/pyversions

Generate shell completions and man page when building a python package.

Usage

Add this package to your build requires:

[build-system]
requires = [ "setuptools-generate",]
build-backend = "setuptools.build_meta"

[project]
name = "demo"
version = "0.0.1"

[project.scripts]
demo = "demo:main"

Build your package:

python -m build

See your sdist:

$ tree sdist
 sdist
├──  _demo  # zsh completion script
├──  demo  # bash completion script
├──  demo-0.0.1-py3-none-any.whl  # wheel file
├──  demo-0.0.1.tar.gz  # source distribution file
├──  demo.1  # man page
└──  demo.fish  # fish completion script

You got them.

Example projects:

See document to know more.