Observed since 20 Oct, 21:14 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
afterpython
CLI tool to streamline Python package maintenance and generate a dedicated project website
Going from writing Python code to publishing and maintaining a package is time-consuming. First-time maintainers must learn multiple tools and concepts, e.g. MyST, SemVer, CI/CD (pre-commit hooks, GitHub workflows), and they often spend hours just to deploy a documentation site whereas well-resourced projects like PyTorch and Scikit-Learn have dedicated websites that serve as their project hubs.
afterpython automates the tedious parts of Python package maintenance and generates a project website for building community and hosting content such as documentation, blog posts, tutorials, examples and more — empowering more developers to write packages with ease.
afterpython is a CLI tool that abstracts away the complexity of content writing, website deployment, and package release/maintenance by providing an opinionated set of modern tools — so you don’t have to spend time selecting or learning anything beyond the basics.
The project website for
afterpythonis created usingafterpythonitself. See the website.
You can create your own website too and deploy it to GitHub Pages in less than a minute! See Quickstart.
# install afterpython as a dev dependency
uv add --dev afterpython
# initialize afterpython
ap init
# show all commands
ap --help
# or use terminal UI (TUI)
ap tui
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
clickEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | click>=8.5.0 | runtime |
trogonEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | trogon>=0.6.0 | runtime |
httpx2Environment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | httpx2>=2.13.1 | runtime |
tomlkitEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | tomlkit>=0.15.1 | runtime |
ruamel-yamlEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | ruamel-yaml>=0.19.1 | runtime |
gitpythonEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | gitpython>=3.2.0 | runtime |
python-dotenvEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | python-dotenv>=1.2.3 | runtime |
pyproject-metadataEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | pyproject-metadata>=0.12.1 | runtime |
jupytextEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | jupytext>=1.19.5 | runtime |
mystmdEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | mystmd>=1.11.0 | runtime |
pdocEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | pdoc>=16.0.0 | runtime |
ruffEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | ruff>=0.16.9 | runtime |
prekEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | prek>=0.5.4 | runtime |
tyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | ty>=0.0.84 | runtime |
git-cliffEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | git-cliff>=2.14.2 | runtime |
marimoEnvironment{
"extras": "lsp,recommended",
"marker": "extra == \"marimo\"",
"requires_python": ">=3.12",
"evaluation": "NOT_EVALUATED"
} | marimo[lsp,recommended]>=0.25.0; extra == "marimo" | runtime |
bdist_wheel · 97.01 KB · Python py3
sdist · 68.68 KB · Python source
Shared repository data · GitHub
Observed since 20 Oct, 21:14 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:dc0259b754b289c4bef0b444d407fb4ac5a4075fa85bd01cfbd03e18603f8566