See More

# AfterPython: Python Package Maintenance Toolkit and Project Website Generator [MyST]: https://mystmd.org [MyST Markdown]: https://mystmd.org/spec/ [Jupyter Notebook]: https://jupyter.org [pre-commit]: https://pre-commit.com [pagefind]: https://pagefind.app [SemVer]: https://semver.org [pdoc]: https://pdoc.dev/ [GitHub Actions]: https://github.com/features/actions [PyTorch]: https://pytorch.org [Scikit-Learn]: https://scikit-learn.org [WebLLM]: https://webllm.mlc.ai/ [project-website-template]: https://github.com/AfterPythonOrg/project-website-template [uv]: https://docs.astral.sh/uv/ [ruff]: https://docs.astral.sh/ruff/ [ty]: https://docs.astral.sh/ty/ [git-cliff]: https://git-cliff.org/ ## Problem 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. ## Solution `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. ## Core Features - [x] Write content directly in [MyST Markdown] or [Jupyter Notebook] - [x] Go from writing to **website deployment in minutes** — no need to learn any of the underlying tools - [x] Centralize all your content in a modern, **unified project website** — from documentation to blog posts - [x] Zero-config orchestration — Pre-configured modern tooling with sane defaults (see [Tech Stack](#tech-stack)), so you can start maintaining packages immediately **without learning each tool** - [x] **⚡ Full-text search** across **ALL** your content in your website — docs, blogs, tutorials, everything - [ ] Export content as PDF — for example, combine all blog posts into a single PDF file - [ ] **🤖 Embedded AI Chatbot** that answers questions directly using an in-browser LLM — at no cost --- ## Project Website > The project website for `afterpython` is created using `afterpython` itself. See the [**website**](https://afterpython.afterpython.org). Project Website You can create your own website too and deploy it to GitHub Pages in **less than a minute**! See [Quickstart](https://afterpython.afterpython.org/doc/quickstart). --- ## Installation ```bash # install afterpython as a dev dependency uv add --dev afterpython # initialize afterpython ap init ``` --- ## CLI Commands ```bash # show all commands ap --help # or use terminal UI (TUI) ap tui ``` --- ## Tech Stack - [MyST] - [project-website-template] - [pre-commit] - [GitHub Actions] - [pdoc] - [uv] - [ruff] - [ty] - [pagefind] - [WebLLM] - [git-cliff] > Every link below points to the raw markdown source of the page. Fetch any URL directly to read its content as markdown. ## Documentation > CLI tool to streamline Python package maintenance and generate a dedicated project website - [CI/CD Pipelines](/doc/ci-cd.md) - [Commit Workflow](/doc/commit-workflow.md) - [Concepts](/doc/concepts.md) - [Environment Variables](/doc/environment-variables.md) - [Overview](/doc/index.md) - [llms.txt](/doc/llms-txt.md) - [Quick Guide to MyST](/doc/myst.md) - [Package Management](/doc/package-management.md) - [Package Releases](/doc/package-releases.md) - [Project Website](/doc/project-website.md) - [Quickstart](/doc/quickstart.md) - [Roadmap](/doc/roadmap.md)