{"id":16332084,"url":"https://github.com/m1kc/django-spinproject","last_synced_at":"2025-03-16T14:31:11.191Z","repository":{"id":56841305,"uuid":"227605908","full_name":"m1kc/django-spinproject","owner":"m1kc","description":"Opinionated version of `startproject` with some popular third-party packages.","archived":false,"fork":false,"pushed_at":"2025-02-27T13:07:43.000Z","size":177,"stargazers_count":5,"open_issues_count":6,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T03:05:15.502Z","etag":null,"topics":["django","django-environ","docker","python","python3","startproject","template-project"],"latest_commit_sha":null,"homepage":null,"language":"Python","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/m1kc.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":"2019-12-12T12:49:03.000Z","updated_at":"2025-02-27T13:07:27.000Z","dependencies_parsed_at":"2022-08-29T12:50:51.073Z","dependency_job_id":"2122acc7-340d-47c9-aa17-9dfb354bd9fd","html_url":"https://github.com/m1kc/django-spinproject","commit_stats":{"total_commits":110,"total_committers":2,"mean_commits":55.0,"dds":"0.21818181818181814","last_synced_commit":"b57c8f029df74fe303a3d9c148876a35348e7ab8"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1kc%2Fdjango-spinproject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1kc%2Fdjango-spinproject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1kc%2Fdjango-spinproject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m1kc%2Fdjango-spinproject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m1kc","download_url":"https://codeload.github.com/m1kc/django-spinproject/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243818195,"owners_count":20352629,"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":["django","django-environ","docker","python","python3","startproject","template-project"],"created_at":"2024-10-10T23:29:13.979Z","updated_at":"2025-03-16T14:31:10.738Z","avatar_url":"https://github.com/m1kc.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# django-spinproject\n\nOpinionated version of `django-admin startproject` that intends to go further and do things that startproject can't do but most people will do anyway. Here's what you can get:\n\n* ⚛️ **Whitenoise**: for serving static files in production (usually you don't want to set up a separate server for this).\n* 🔧 **settings.py**: slightly modified to also understand environment variables and `.env` files. This functionality requires the `django-environ` package. Also, app logger is mostly pre-configured for you.\n* 🔑 **Minimal login/logout pages** so you can set this up without reading the guide again.\n* 🔒 **Support for marking PostgreSQL databases as read-only** to prevent accidental modification of critical data.\n* 🧰 `script/bootstrap` and other [scripts to rule them all](https://github.blog/2015-06-30-scripts-to-rule-them-all/) so your fellow developers and maintainers don't ask you how to run this thing. Current versions of these scripts optimized for use with [poetry](https://python-poetry.org/), but you can easily adapt them for any Python package manager.\n* 🏗️ **Dockerfile and .dockerignore**: one day your app will go to production, and we've got you covered.\n* 🏛️ **Gitlab CI config**.\n* ⚕️ **Pre-configured linter** so you can find some common problems automagically.\n* 🏃 **Pre-configured pytest** because you are going to need unit tests one day.\n* 🗃️ **Auto-checks if you forgot to create migrations** whenever you run tests or CI.\n* *️⃣ **.gitignore**: well, you know why.\n\n## Requirements\n\n* \\*nix system;\n* `django-admin` installed and available from `$PATH`.\n\nGenerated files will work fine in Django \u003e= 2.0, not tested in earlier versions.\n\n## How to use\n\n* Install the package: `pip install django-spinproject`\n* Create a new project: `django-spinproject --create \u003cpath\u003e`\n* OR initialize spinproject in your existing project's folder: `django-spinproject --init`\n\nYou're all set. Now you can take a look at the list of available modules: `django-spinproject --help`\n\nUse `django-spinproject --enable` to enable a module, `django-spinproject --upgrade` to apply changes.\n\n## CLI commands\n\n* `--create PATH`: create django project in specified path\n* `--init`: create spinproject.json file\n* `--enable MODULE_TO_ENABLE`: enable specified module; use 'all' to enable most common modules; use 'ALL' to enable all available modules;\n* `--disable MODULE_TO_DISABLE`: disable specified module\n* `--upgrade [MODULE_TO_UPGRADE]`: upgrade (specified or all) enabled modules\n\n## Available modules\n\n* `gitignore` — Creates `.gitignore` file suitable for most Django projects.\n* `srta` — Creates [Scripts to Rule Them All](https://github.blog/2015-06-30-scripts-to-rule-them-all/) (simplifies life a lot, you should check it out).\n* `pytest` — Creates `pytest.ini` and `.coveragerc` files.\n* `dockerfile` — Creates a Dockerfile.\n* `dockerignore` — Creates `.dockerignore` (you should totally do that).\n* `docker-scripts` — Creates additional SRTA scripts for building and pushing your Docker image.\n* `gitlab-ci` — Creates GitLab CI config, `.gitlab-ci.yml`.\n* `pg-readonly` — Creates a DatabaseWrapper class for readonly connection to PostgreSQL.\n* `settings` — Improves the default `settings.py`, adding support for envvars and `.env` files. Also enables Whitenoise and CLI logger.\n* `login-template` — Creates minimal login/logout pages.\n\n## Planned features\n\n(for requests, create an issue or drop me a line at m1kc@yandex.ru)\n\n## Changelog\n\nSee the [Releases](https://github.com/m1kc/django-spinproject/releases) page.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm1kc%2Fdjango-spinproject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm1kc%2Fdjango-spinproject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm1kc%2Fdjango-spinproject/lists"}