{"id":16422094,"url":"https://github.com/matagus/django-app-starter","last_synced_at":"2025-10-24T05:26:06.851Z","repository":{"id":223172806,"uuid":"759493475","full_name":"matagus/django-app-starter","owner":"matagus","description":"A copier template for generating a Django app. Python 3.9-3.12 and Django 4.x-5.x compatible, pre-commit, test matrix + coverage, Github actions for CI, publish to Pypi \u0026 create release, github issues config + templates, docs with MkDocs + Material, and more!","archived":false,"fork":false,"pushed_at":"2024-04-03T20:40:12.000Z","size":2950,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T00:43:56.649Z","etag":null,"topics":["boilerplate-application","boilerplate-template","copier","copier-python","copier-template","django","django-app-generator","django-app-skeleton","python","starter-app","starter-template","template-app"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matagus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null}},"created_at":"2024-02-18T18:34:54.000Z","updated_at":"2025-01-21T20:47:14.000Z","dependencies_parsed_at":"2024-03-06T03:24:52.878Z","dependency_job_id":"491761e8-52fe-4882-80e6-fe5820affbef","html_url":"https://github.com/matagus/django-app-starter","commit_stats":null,"previous_names":["matagus/django-app-starter"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matagus%2Fdjango-app-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matagus%2Fdjango-app-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matagus%2Fdjango-app-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matagus%2Fdjango-app-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matagus","download_url":"https://codeload.github.com/matagus/django-app-starter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238408421,"owners_count":19467088,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boilerplate-application","boilerplate-template","copier","copier-python","copier-template","django","django-app-generator","django-app-skeleton","python","starter-app","starter-template","template-app"],"created_at":"2024-10-11T07:35:23.377Z","updated_at":"2025-10-24T05:26:06.845Z","avatar_url":"https://github.com/matagus.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# django-app-starter\n\n![Demo.gif](https://raw.githubusercontent.com/matagus/django-app-starter/main/screenshots/demo.gif)\n\n![Python Compatibility](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12-blue.svg) [![License](https://img.shields.io/badge/MIT-blue.svg)](https://opensource.org/licenses/MIT) [![We use Hatch](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch) [![linting - Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) [![code style - black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nGenerate a new Django app with all the goodies you need to start developing, testing and publishing your app to PyPI\nand Github.\n\n\n## Features\n\n- [x] Compatibility with Python 3.10 to 3.13 and Django 5.x.\n- [x] Package management and dynamic versioning using [Hatch](https://hatch.pypa.io/latest/install/).\n- [x] Testing with `hatch` for all possible combinations of Python and Django versions.\n- [x] Code coverage reporting to using [Coverage.py](https://coverage.readthedocs.io/en/latest/).\n- [x] Ready to use [GitHub Actions](https://help.github.com/en/actions/automating-your-workflow-with-github-actions)\npipelines for:\n  * [x] CI + reporting code coverage to codecov.io\n  * [x] Building and publishing to Pypi when a new tag is pushed\n  * [x] Creating a draft release\n- [x] `pre-commit` configuration with:\n  - [x] `black` for code formatting\n  - [x] Linting and formatting with [`ruff`](https://github.com/charliermarsh/ruff)\n  - [x] `codespell`, `pyupgrade` and several standard checks.\n- [x] Consistent coding styles for multiple editors and IDEs via [.editorconfig](https://editorconfig.org/) file.\n- [x] Configuration using `pyproject.toml` file.\n- [x] `README.md` file with instructions on how to start developing, testing and publishing your app.\n- [x] An `example_project` fully configured to try you app from the start.\n- [x] Dependency updates with [Dependabot](https://github.com/dependabot).\n- [x] Issues templates for bugs and features, a Code of conduct file referencing Django's CoC, and a Security Policy\nconfig.\n- [x] Sync updates from newest versions of this template with [Copier](https://copier.readthedocs.io/en/stable/updating/).\n- [x] Standardised list of GitHub labels synchronised on push to main branch using [the labels CLI](https://github.com/hackebrot/labels).\n- [x] Documentation with [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/) and docstring reference\nsupport with [mkdocstrings](https://mkdocstrings.github.io/).\n- [x] Latest stable documentation published to [GitHub](https://docs.github.com/en/pages)/[GitLab](https://docs.gitlab.com/ee/user/project/pages/) Pages.\n\n\n## Coming Soon\n\n- [ ] [Versioned documentation](https://docs.readthedocs.io/en/stable/versions.html) and [pull request previews](https://docs.readthedocs.io/en/stable/pull-requests.html) with [Read the Docs](https://readthedocs.org/).\n- [ ] Containerization for development and deployment with [dev container](https://containers.dev/).\n- [ ] Follow the [all-contributors](https://github.com/all-contributors/all-contributors) specification.\n- [ ] Turn Github repository in to a [Template Repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-template-repository)\nthat does all the setup so people don't need to install copier and run it locally. Similar to what Simon Willison did\nwith [his cookicutter template](https://github.com/simonw/python-lib-template-repository)\n\n\n## Usage\n\n### Prerequisites\n\nYou need to have `copier` and `hatch` installed in your system. If you don't have them, you can install them with:\n\n```\npip install copier\npip install hatch\n```\n\nThen generating a new Django app is as simple as running:\n\n```\ncopier copy https://github.com/matagus/django-app-starter \u003capp-name\u003e\n```\n\nYou will be prompted to enter some data needed to generate your app, and then you will have a new directory with your\napp ready to go.\n\n`django-app-starter` comes wwith an example project you can use to test your app. To run it just do:\n\n```\ncd \u003capp-name\u003e\nhatch run project:migrate\nhatch run project:createsuperuser\nhatch run project:runserver\n```\n\nAlso, you can run the tests (for all the Python + Django valid combinations) with:\n\n```\nhatch run test:test\n```\n\nAnd you can check the coverage with:\n\n```\nhatch run test:cov\n```\n\nTo run tests for a specific Python and Django version, for instance Python 3.12 and Django 5.0, you can use:\n\n```\nhatch run test.py3.12-5.0:test\n```\n\nLearn more about `hatch` and its commands in the [official documentation](https://hatch.pypa.io/latest/) or\njust ask for help in our [Discussion section](https://github.com/matagus/django-app-starter/discussions).\n\n## Contributing\n\nContributions are welcome! ❤️\n\n\n## License\n\n`django-app-starter` is released under an MIT License - see the `LICENSE` file for more information.\n\n\n## Webliography\n\n- [Copier Documentation](https://copier.readthedocs.io/en/stable/)\n- [Project templating tools: Cookiecutter, Yeoman, and Copier](https://www.cookiecutter.io/article-post/cookiecutter-alternatives)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatagus%2Fdjango-app-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatagus%2Fdjango-app-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatagus%2Fdjango-app-starter/lists"}