Generate a new Django app with all the goodies you need to start developing, testing and publishing your app to PyPI and Github.
👉 Try it as a github template repository: matagus/django-app-template-repository.
- Compatibility with Python 3.10 to 3.14 and Django 5.x to 6.x
- Package management and dynamic versioning using Hatch.
- Testing with
hatchfor all possible combinations of Python and Django versions. - Code coverage reporting to using Coverage.py.
- Ready to use GitHub Actions
pipelines for:
- CI + reporting code coverage to codecov.io
- Building and publishing to Pypi when a new tag is pushed
- Creating a draft release
-
pre-commitconfiguration with:-
blackfor code formatting - Linting and formatting with
ruff -
codespell,pyupgradeand several standard checks.
-
- Consistent coding styles for multiple editors and IDEs via .editorconfig file.
- Configuration using
pyproject.tomlfile. -
README.mdfile with instructions on how to start developing, testing and publishing your app. - An
example_projectfully configured to try you app from the start. - Dependency updates with Dependabot.
- Issues templates for bugs and features, a Code of conduct file referencing Django's CoC, and a Security Policy config.
- Sync updates from newest versions of this template with Copier.
- Standardised list of GitHub labels synchronised on push to main branch using the labels CLI.
- Documentation with Material for MkDocs and docstring reference support with mkdocstrings.
- Latest stable documentation published to GitHub/GitLab Pages.
- Versioned documentation and pull request previews with Read the Docs.
- Containerization for development and deployment with dev container.
- Follow the all-contributors specification.
You need to have copier and hatch installed:
pip install copier
pip install hatch
copier copy https://github.com/matagus/django-app-starter <app-name>
You'll be prompted for your project name, description, and GitHub username. A new directory is created with your app ready to develop.
After generating, follow the Post-Generation Setup Guide to activate GitHub Pages, Codecov, and PyPI publishing.
See the full documentation for running tests, the example project, and the release process.
Contributions are welcome! ❤️
django-app-starter is released under an MIT License - see the LICENSE file for more information.
