PyScaffold
Template tool for putting up the scaffold of a Python project
What it is and what it does
PyScaffold is a command-line tool that generates a complete, production-ready Python project structure with one command. It creates a Git repository with sensible defaults for packaging, testing, documentation, and deployment—including setup.cfg configuration, pytest integration, Sphinx documentation templates, tox automation, and optional CI/CD support via flags like --cirrus. The generated project uses setuptools-scm for automatic versioning from Git tags and includes a .gitignore tuned for Python development.
The tool is designed to enforce best practices across teams and reduce boilerplate setup time. It supports extensions for specialized project types (data science, Django, Markdown docs) and integrates with common Python tools like pytest, tox, and pre-commit. Once generated, a project can be immediately installed in editable mode and is ready for development, testing, and publication to PyPI.
Use it for:
- Quickly bootstrap a new open-source Python library with standard packaging and documentation structure.
- Set up a team project with consistent configuration, testing, and CI/CD templates across multiple developers.
- Generate a data science project template with pre-configured tools via the --dsproject extension.
- Create a Django project with PyScaffold's automation and best practices baked in.
- Establish a project with pre-commit hooks and automated version management via Git tags.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyScaffold generates a complete Python project template with packaging, testing, documentation, and CI/CD scaffolding, ready to publish to PyPI.
Yes. PyScaffold is worth installing if you regularly create Python packages or lead teams that do. It eliminates repetitive setup work, enforces ecosystem best practices, and has proven stable over a decade of use by thousands of developers. No known vulnerabilities, permissive MIT license, and active maintenance make it a low-risk productivity gain.
Install
pyscaffold on PyPI
pip
pip install pyscaffolduv
uv add pyscaffoldpoetry
poetry add pyscaffoldInstalling PyScaffold
Before you install
Low install friction with eight standard runtime dependencies. Active maintenance with last commit on 2026-08-10 and stable production status since initial release in 2014.
License in practice
MIT license (permissive) means you can use, modify, and distribute PyScaffold-generated projects with minimal restrictions, and the tool itself imposes no licensing constraints on your code.
Quickstart
pip install pyscaffold
putup my_project
cd my_project
pip install -e .
Requires Git to be installed and configured with at least name and email set.
Verify before relying
- Whether generated projects work with Python versions older than 3.7 or newer than current stable.
- Performance characteristics when generating very large or complex project structures.
- Compatibility of generated tox configurations with recent tox versions.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 8 — platformdirs, configupdater, setuptools, setuptools-scm, tomlkit, packaging, importlib-metadata, colorama |
| Maintenance | actively maintained — 690 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,919,583/month — #2,453 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: PyScaffold-4.6-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
ansible-creatorA CLI tool that scaffolds new Ansible projects…
permissive · top 15,000 on PyPI
makeGenerates project directory structures and…
permissive · top 15,000 on PyPI
sphinx-autodoc2sphinx-autodoc2 generates API documentation for…
permissive · top 15,000 on PyPI
pickleyInstalls and auto-upgrades standalone Python…
permissive · top 15,000 on PyPI
sampleprojectA minimal reference implementation…
permissive · top 15,000 on PyPI
setuptools-gitA setuptools plugin that automatically includes…
permissive · top 15,000 on PyPI
sphinx-panelsA Sphinx extension that adds directives for…
permissive · top 15,000 on PyPI
jupyter-packagingProvides build tools and utilities for…
permissive · top 5,000 on PyPI
clang-formatPackages the clang-format code formatter as a…
permissive · top 5,000 on PyPI