Enhance your Django developer experience: CLI and Guides for the Modern Developer.
Project description
Falco
An opinionated toolkit for a modern Django development experience
[!WARNING] The falco CLI isn't stable at the moment; stability is expected with the 1.0.0 release. I'm still making numerous changes quite frequently. If you're currently using it, remember to run
pip install --upgrade falco-cli
from time to time.
Falco is a Django-centric toolkit designed to enhance the development experience. The CLI offers commands for initiating new projects, generating simple CRUD views for rapid prototyping, and more. Additionally, it provides a collection of guides to address common issues in web development specifically tailored to Django.
The CLI
This is a set of commands to help you throughout the lifecycle of your django project development, from bootstrapping a new project using modern tools like htmx, hatch, tailwindcss, to generating CRUD views for your models and a few utilities that might help during deployment.
For a brief introduction to the user experience of the CLI, visit this page.
pip install falco-cli
- start-project: Initialize a new django project the falco way.
- start-app: Initialize a new django app the falco way.
- crud: Generate CRUD (Create, Read, Update, Delete) views for a model.
- install-crud-utils: Install utils necessary for CRUD views.
- work: Run all the services required to run your django project in parallel with a single command. (development only)
- htmx: Download a local copy of the latest version of htmx.
- htmx-ext: Download one of htmx extensions.
- sync-dotenv: Synchronize the
.env
file with the.env.template
file. - rm-migrations: Remove all migrations for the specified applications directory. (development only)
- reset-migrations: Delete and recreate all migrations. (development only)
Templates
The guides
[!NOTE] These are currently a work in progress. Most of them are half-written or not written at all. I hope to get them in a usable state
by the end of january 2024as soon as I can. To receive updates subscribe to this discussion or follow me on x or mastodon
If you don't find any use of the CLI, I hope you will in these guides. This is a collection of guides that address common issues in web development, specifically tailored to Django. Each guide provides solutions, patterns, and approaches that are relevant to Django projects. It is similar to the Django topic guides, but instead of focusing on components of the framework like forms
, models
, views
, etc., it focuses on more general topics like task queues
, deployment
, realtime
, etc.
- Interactive user interfaces
- Task Queues and Schedulers
- Writing documentation
- Writing tests
- Logging and monitoring
- The ultimate deployment guide
- Optimizing Database Access
- Business logic in django
- Dynamic Model Schema
- Realtime in Django: Websockets, SSE, Polling
- Permissions and authorizations
- Database Tips: Backup, Scaling, Triggers, and More
- Managing Multi-tenancy in Django
- Async Coding in Django
- Use Sqlite in production
- Running your project in a single container
- Tips and extra
Acknowledgements
Falco is inspired by (and borrows elements from) some excellent open source projects:
- cookiecutter-django
- fuzzy-couscous (predecessor of falco)
- django-hatch-startproject
- django-unicorn (Inspiration for the logo)
- neapolitan
- django-base-site
- django-twc-project
Contributors
Thanks to the following wonderful people emoji key who have helped build falco
.
Tobi DEGNON 💻 📖 ⚠️ |
Muhammad Hammad 🤔 |
mathiasag7 💻 |
Richard Shea 📖 |
Waqar Khan 💻 |
tissieres 💵 |
Hsiaoming Yang 🐛 |
Aimé An-Nyong DEGBEY 🤔 |
Hana Belay 💻 |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for falco_cli-0.23.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d190481f8b0e731494944b6ee75e0e07041cccf6eef4e6fd6fdf3e806c9d752 |
|
MD5 | 54d53bdfcae13975bb6075b012764a6c |
|
BLAKE2b-256 | b5a7474b2a3211ccf88c71d4790b5b38fc6b1cd0cffe40a5e97c5e74d107b371 |