{"id":16885236,"url":"https://github.com/thclark/django-rabid-armadillo","last_synced_at":"2025-04-05T12:26:18.413Z","repository":{"id":40289724,"uuid":"238914731","full_name":"thclark/django-rabid-armadillo","owner":"thclark","description":"A template for a django app with coverage, tox tests, a test app all wired up.","archived":false,"fork":false,"pushed_at":"2023-04-21T21:55:16.000Z","size":250,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-10T23:42:00.036Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thclark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-07T12:19:33.000Z","updated_at":"2024-10-14T00:59:23.000Z","dependencies_parsed_at":"2024-12-18T18:41:19.817Z","dependency_job_id":"f78c3bb2-43e7-4a37-9ee4-51139b442b5d","html_url":"https://github.com/thclark/django-rabid-armadillo","commit_stats":null,"previous_names":[],"tags_count":2,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thclark%2Fdjango-rabid-armadillo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thclark%2Fdjango-rabid-armadillo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thclark%2Fdjango-rabid-armadillo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thclark%2Fdjango-rabid-armadillo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thclark","download_url":"https://codeload.github.com/thclark/django-rabid-armadillo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247335387,"owners_count":20922415,"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":[],"created_at":"2024-10-13T16:34:19.252Z","updated_at":"2025-04-05T12:26:18.389Z","avatar_url":"https://github.com/thclark.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--- The following badges don't work because they're templated... uncomment when filled out\n[![PyPI version](https://badge.fury.io/py/{{library_name}}.svg)](https://badge.fury.io/py/{{library_name}})\n[![codecov](https://codecov.io/gh/{{codecov_username}}/{{library_name}}/branch/master/graph/badge.svg)](https://codecov.io/gh/{{codecov_username}}/{{library_name}})\n[![Documentation Status](https://readthedocs.org/projects/{{library_name}}/badge/?version=latest)](https://{{library_name}}.readthedocs.io/en/latest/?badge=latest)\n---\u003e\n\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n\n\u003e **NOTE: The checks/actions on this template repository WILL NEVER PASS. That's because they're templated ready for your variables, so they don't make sense to GitHub!**\n\n# Rabid Armadillo (aka Django App Template)\n\nThis is a template repository for when you want to create a new django app. It gives you, out of the box:\n\n- Template django app, with:\n\n  - Example **websocket consumer** (and example of how to test it asynchronously)\n  - Example **Abstract Model** (and example of how to test it)\n  - Example **Concrete Model** (and example of how to test it)\n\n- Preconfigured testing with coverage for a range of python, django versions using tox\n\n- Preconfigured github actions CI\n\n- Preconfigured style guide and other checks using pre-commit\n\n- Preconfigured docs in .rst format (to publish to your_project.readthedocs.io)\n\n- Complete `.devcontainer` setup for use in VSCode complete with a postgres database service\n\n## How To Use This Template Repository\n\nThis is a template repository on GitHub. You can use it as a template when creating a new django app.\n\n### Start a repo\n\nClick the 'Use this Template' button (top right) on GitHub to create your own repository using this repo as a template.\nCall it what you like, but we suggest the convention `django-your-library`.\nIn this example, let's say your github username is `armadillo-queen` and your new repository is called `django-rabid-armadillo`.\n\n### Replace template items\n\nDo find and replace throughout, working your way through this list of replacements\n\n| Search               | Replace (Example)        | Description                                                                                                                                                                                                        |\n| -------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| \u003cyour_repo_name\u003e     | `django-rabid-armadillo` | The github repository name. Convention for django apps seems to be hyphenating rather than using snake case, but do what you want. Easiest thing is to make the package name on PyPi the same as the gh repo name. |\n| \u003cyour_github_handle\u003e | `armadillo-queen`        | Your github handle                                                                                                                                                                                                 |\n| \u003ccopyright_owner\u003e    | Tom Clark                | The copyright owner's name. Probably you, or your company                                                                                                                                                          |\n| `rabid_armadillo`    | `rabid_armadillo`        | The module name of your app, which is importable in python (ie hyphens don't work. Stick to snake case!). Search and replace the whole of everything!                                                              |\n| `RabidArmadillo`     |                          | Replace with the capitalised camel case version of your app name                                                                                                                                                   |\n| `Rabid Armadillo`    | Rabid Armadillo          | Human-readable, capitalised, app name                                                                                                                                                                              |\n\n### Update pyproject.toml\n\nAdd library requirements using poetry. If you don't know how to use it, yes it's a bit more painful than pip at first, but it's short term pain, medium term massive gains.\n\n### Update `LICENSE` file and `docs/source/license.rst`\n\nChange the contents to an appropriate license for your project. Don't delete the LICENSE file, because it's bundled on the manifest onto the pypi deployment.\n\nLicense is currently MIT. Do what you like, I guess, but I humbly beg you to keep it open and permissive. There's\nnothing more frustrating than finding a library that does what you need, and that you could contribute to, then not\nbeing able to use it because it's GPL'd.\n\n## Begin development\n\nYou should use poetry. It's easier and better than pip and pyenv. Open the project in codespace, a vscode .devcontainer or your favourite IDE or editor, then:\n\n```\npoetry install\n```\n\nRun the tests (nb the postgres ones might not work unless you have postgres set up locally, but sqlite should work)\n\n```\ntox\n```\n\n## Publish your app\n\nWe assume that you'll use github actions so see the `.github/workflows` folder for the process.\n\nAs background information, the Hitchiker's guide to python provides [an excellent, standard, method for creating python packages](http://docs.python-guide.org/en/latest/writing/structure/) and there's a good [set of instructions on PYPI](https://packaging.python.org/tutorials/distributing-packages/#uploading-your-project-to-pypi). You'll see in the workflows that we circumvent those processes and use poetry to do it for us.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthclark%2Fdjango-rabid-armadillo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthclark%2Fdjango-rabid-armadillo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthclark%2Fdjango-rabid-armadillo/lists"}