falco-cli 0.6.2__tar.gz → 0.6.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {falco_cli-0.6.2 → falco_cli-0.6.3}/PKG-INFO +1 -1
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/config/urls.py +3 -1
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/conf.py +2 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/tips_and_extra.rst +8 -1
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/the_cli/crud.rst +19 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/the_cli/index.rst +1 -0
- falco_cli-0.6.3/docs/the_cli/usage.rst +88 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/pyproject.toml +2 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/__about__.py +1 -1
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/sync_dotenv.py +0 -1
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/utils.py +10 -4
- {falco_cli-0.6.2 → falco_cli-0.6.3}/.all-contributorsrc +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/.editorconfig +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/.github/workflows/documentation.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/.github/workflows/pre-commit-auto-update.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/.github/workflows/publish.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/.gitignore +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/.gitmodules +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/.pre-commit-config.yaml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/.vscode/settings.json +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/CODE_OF_CONDUCT.md +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/LICENSE +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/README.md +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/all-contributorsrc +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/assets/falco-logo.svg +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/.git +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/.github/workflows/ci.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/.github/workflows/pre-commit-auto-update.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/LICENSE +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/README.md +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/cookiecutter.json +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.env.template +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.github/dependabot.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.github/workflows/ci.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.gitignore +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/.pre-commit-config.yaml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/README.md +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/config/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/config/asgi.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/config/settings.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/config/urls.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/config/wsgi.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/deploy/Dockerfile +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/deploy/entrypoint.sh +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/deploy/gunicorn.conf.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/manage.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/playground.ipynb +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/pyproject.toml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/tests/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/tests/test_assert_true.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/core/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/core/apps.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/static/vendors/htmx/htmx.min.js +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/templates/base.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/templates/home.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/admin.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/apps.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/forms.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/migrations/0001_initial.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/migrations/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/models.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/.git +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/.github/workflows/ci.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/LICENSE +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/README.md +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/cookiecutter.json +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.env.template +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.github/dependabot.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.github/workflows/ci.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.gitignore +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/.pre-commit-config.yaml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/README.md +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/blueprints/create.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/blueprints/detail.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/blueprints/list.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/blueprints/update.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config/asgi.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config/settings.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config/urls.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/config/wsgi.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/deploy/Dockerfile +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/deploy/entrypoint.sh +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/deploy/gunicorn.conf.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/manage.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/playground.ipynb +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/pyproject.toml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/tests/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/tests/test_assert_true.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/core/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/core/apps.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/static/vendors/htmx/htmx.min.js +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/templates/base.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/templates/home.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/admin.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/apps.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/forms.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/migrations/0001_initial.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/migrations/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/{{ cookiecutter.project_name }}/{{ cookiecutter.project_name }}/users/models.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/config/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/config/asgi.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/config/settings.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/config/wsgi.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/core/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/core/apps.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/core/types.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/core/utils.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/orders/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/orders/apps.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/orders/migrations/0001_initial.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/orders/migrations/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/orders/models.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/admin.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/apps.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/forms.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/migrations/0001_initial.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/migrations/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/models.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/tests.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/urls.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/products/views.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/users/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/users/admin.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/users/apps.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/users/migrations/0001_initial.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/users/migrations/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/demo/users/models.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/manage.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/pyproject.toml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/requirements.txt +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/templates/base.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/templates/products/product_create.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/templates/products/product_detail.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/templates/products/product_list.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/demo/templates/products/product_update.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/.rich-codex.yml +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/Makefile +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/_static/custom.css +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/_templates/partials/globaltoc-above.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/changelog.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/codeofconduct.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/contributing.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/avoiding_god_models.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/database_tips.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/deployment.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/dynamic_model_schema.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/index.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/interactive_user_interfaces.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/logging_and_monitoring.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/multitenancy.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/optimizing_database_access.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/permissions_and_authorization.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/realtime.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/running_project_in_a_container.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/task_queues_and_schedulers.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/use_sqlite_in_production.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/writing_async_code.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/writing_documentation.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/guides/writing_tests.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/images/deployment.png +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/images/logo_with_text.svg +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/images/project-tree.svg +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/images/task_queue.png +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/index.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/install.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/license.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/make.bat +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/the_cli/htmx.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/the_cli/migrations.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/the_cli/setup_admin.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/the_cli/start_app.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/the_cli/start_project.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/the_cli/sync_dotenv.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/docs/the_cli/work.rst +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/scripts/project_tree.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/scripts/update_readme_guides.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/__main__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/checks.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/crud/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/crud/install_crud_utils.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/crud/model_crud.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/crud/utils.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/htmx.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/htmx_extension.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/reset_migrations.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/rm_migrations.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/setup_admin.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/start_app.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/start_project.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/commands/work.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/crud/html/create.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/crud/html/detail.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/crud/html/list.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/crud/html/update.html +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/crud/python/forms.py.jinja +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/crud/python/views.py.jinja +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/crud/utils/types.py.jinja +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/src/falco/crud/utils/utils.py.jinja +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/__init__.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_crud.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_htmx.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_htmx_extension.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_install_crud_utils.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_reset_migrations.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_rm_migrations.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_setup_admin.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_start_app.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_start_project.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/commands/test_sync_dotenv.py +0 -0
- {falco_cli-0.6.2 → falco_cli-0.6.3}/tests/conftest.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: falco-cli
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.3
|
|
4
4
|
Summary: Enhance your Django developer experience: CLI and Guides for the Modern Developer.
|
|
5
5
|
Project-URL: Homepage, https://falco.oluwatobi.dev/
|
|
6
6
|
Project-URL: Documentation, https://falco.oluwatobi.dev/
|
|
@@ -32,7 +32,7 @@ Lifecycle not signals
|
|
|
32
32
|
I've come to fall in love with `django-lifecycle <https://github.com/rsinger86/django-lifecycle>`_ and their approach to hooking into
|
|
33
33
|
your Django objects' lifecycle. Traditionally, the way of dealing with this in Django is using `signals <https://docs.djangoproject.com/en/dev/topics/signals/>`_. Even
|
|
34
34
|
though there is a lot of criticism on using signals in the community, I think they can be particularly useful in certain scenarios (e.g: implementing a plugin system). However, one scenario where they are not beneficial in my humble opinion is in
|
|
35
|
-
organizing business logic. In such cases, I personally favor ``django-lifecycle`` because it follows the ``fat models`` approach (essentially business logic in models)
|
|
35
|
+
organizing business logic. In such cases, I personally favor ``django-lifecycle`` because it follows the django ``fat models`` approach (essentially business logic in models).
|
|
36
36
|
|
|
37
37
|
Here is an example of using ``django-lifecycle`` straight from their README:
|
|
38
38
|
|
|
@@ -68,6 +68,13 @@ and unlikely to change or expand, then use whatever makes sense for them, even `
|
|
|
68
68
|
.. Avoid huge apps for large projects
|
|
69
69
|
.. ----------------------------------
|
|
70
70
|
|
|
71
|
+
Type Hinting
|
|
72
|
+
------------
|
|
73
|
+
|
|
74
|
+
These days, I hardly write Django projects without implementing some level of type hinting. However, resources on this topic specific to Django are quite rare.
|
|
75
|
+
A good starting point is the `FAQ section <https://github.com/typeddjango/django-stubs#faq>`_ of the django-stubs README. It provides sufficient information to
|
|
76
|
+
navigate through most common use cases. Since I don't overuse type hinting, I find it more than enough.
|
|
77
|
+
|
|
71
78
|
Generate admin
|
|
72
79
|
--------------
|
|
73
80
|
|
|
@@ -125,6 +125,25 @@ If it is populated, we take the first value in the list and generate the templat
|
|
|
125
125
|
If it is not populated, we use the classic Django layout, which is ``<app_label>/templates/<app_label>``. If you want an overview
|
|
126
126
|
of what the templates look like, check out the `demo project <https://github.com/Tobi-De/falco/tree/main/demo/templates/products>`_.
|
|
127
127
|
|
|
128
|
+
Custom Templates
|
|
129
|
+
****************
|
|
130
|
+
|
|
131
|
+
The ``crud`` command supports the ability to specify your own HTML templates using the ``--blueprints`` option.
|
|
132
|
+
This option only takes into account HTML files and will completely override the default templates. The HTML templates
|
|
133
|
+
use the `jinja2 <https://jinja.palletsprojects.com/en/3.1.x/>`_ syntax. To see examples of what the templates look like,
|
|
134
|
+
check out the base templates `here <https://github.com/Tobi-De/falco/tree/main/src/falco/crud/html>`_. Below is an example
|
|
135
|
+
of the context each template will receive.
|
|
136
|
+
|
|
137
|
+
.. jupyter-execute::
|
|
138
|
+
:hide-code:
|
|
139
|
+
|
|
140
|
+
from falco.commands.crud.model_crud import HtmlBlueprintContext
|
|
141
|
+
from inspect import get_annotations
|
|
142
|
+
from pprint import pprint
|
|
143
|
+
|
|
144
|
+
pprint(get_annotations(HtmlBlueprintContext))
|
|
145
|
+
|
|
146
|
+
|
|
128
147
|
Examples
|
|
129
148
|
^^^^^^^^
|
|
130
149
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
:image: https://raw.githubusercontent.com/Tobi-De/falco/main/assets/falco-logo.svg
|
|
2
|
+
:description: A demonstration of the essential workflow of the Falco CLI, from generating a new project to creating CRUD views for a model.
|
|
3
|
+
|
|
4
|
+
Usage / Example
|
|
5
|
+
===============
|
|
6
|
+
|
|
7
|
+
This page shows the optimal version of the initial falco workflow, from the generation of a new project to the creation of CRUD views for it.
|
|
8
|
+
This is supposed to represent the initial experience of a Falco CLI user, so if you can't reproduce this exact workflow described below without
|
|
9
|
+
any problems, it means there's a problem and please create a `new issue <https://github.com/Tobi-De/falco/issues/new>`_ for it.
|
|
10
|
+
|
|
11
|
+
Let's create a new project called `myjourney`, and the main app for it `entries`. Is is a journaling app, the entries app represent
|
|
12
|
+
every entry in the journal.
|
|
13
|
+
|
|
14
|
+
1. Generate a new falco project
|
|
15
|
+
|
|
16
|
+
.. code-block:: bash
|
|
17
|
+
|
|
18
|
+
falco start-project myjourney
|
|
19
|
+
|
|
20
|
+
2. Cd into the project directory
|
|
21
|
+
|
|
22
|
+
.. code-block:: bash
|
|
23
|
+
|
|
24
|
+
cd myjourney
|
|
25
|
+
|
|
26
|
+
3. Create a new virtual environment with for the project and install dependences
|
|
27
|
+
|
|
28
|
+
.. code-block:: bash
|
|
29
|
+
|
|
30
|
+
hatch shell
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
4. Initialite git and install pre-commit hooks
|
|
34
|
+
|
|
35
|
+
.. code-block:: bash
|
|
36
|
+
|
|
37
|
+
git init
|
|
38
|
+
pre-commit install
|
|
39
|
+
|
|
40
|
+
5. Create a new `.env` file
|
|
41
|
+
|
|
42
|
+
.. code-block:: bash
|
|
43
|
+
|
|
44
|
+
falco sync-dotenv
|
|
45
|
+
|
|
46
|
+
6. Fill in some values for the admin user
|
|
47
|
+
|
|
48
|
+
.. code-block:: text
|
|
49
|
+
:caption: .env
|
|
50
|
+
|
|
51
|
+
DJANGO_SUPERUSER_EMAIL=admin@mail.com
|
|
52
|
+
DJANGO_SUPERUSER_PASSWORD=admin
|
|
53
|
+
|
|
54
|
+
7. Create the admin user
|
|
55
|
+
|
|
56
|
+
.. code-block:: bash
|
|
57
|
+
|
|
58
|
+
falco setup-admin
|
|
59
|
+
|
|
60
|
+
8. Create the new app `entries`
|
|
61
|
+
|
|
62
|
+
.. code-block:: bash
|
|
63
|
+
|
|
64
|
+
falco start-app entries
|
|
65
|
+
|
|
66
|
+
9. Add some fiels to your ``Entry`` model
|
|
67
|
+
|
|
68
|
+
.. code-block:: python
|
|
69
|
+
|
|
70
|
+
class Entry(TimeStampedModel):
|
|
71
|
+
# the TimeStampedModel adds the fields `created` and `modified` so we don't need to add them
|
|
72
|
+
title = models.CharField(max_length=255)
|
|
73
|
+
content = models.TextField()
|
|
74
|
+
created_by = models.ForeignKey("users.User", on_delete=models.CASCADE)
|
|
75
|
+
|
|
76
|
+
10. Run your project
|
|
77
|
+
|
|
78
|
+
.. code-block:: bash
|
|
79
|
+
|
|
80
|
+
falco work
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
That's like 10 commands, for the result it get us, not so bad, but could be much better, for any suggestion on how to improve (reduce the steps) this
|
|
84
|
+
worklow, feel free to open a discussions at https://github.com/Tobi-De/falco/discussions.
|
|
85
|
+
|
|
86
|
+
.. todo::
|
|
87
|
+
|
|
88
|
+
Add screenshorts or give of the process and the resulting running app here.
|
|
@@ -34,11 +34,13 @@ class FalcoConfig(TypedDict, total=False):
|
|
|
34
34
|
crud_utils: str
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
def write_falco_config(
|
|
37
|
+
def write_falco_config(
|
|
38
|
+
pyproject_path: Path, **kwargs: Unpack[TypedDict]
|
|
39
|
+
) -> FalcoConfig:
|
|
38
40
|
pyproject = tomlkit.parse(pyproject_path.read_text())
|
|
39
41
|
existing_config = pyproject.get("tool", {}).get("falco", {})
|
|
40
42
|
existing_config.update(**kwargs)
|
|
41
|
-
pyproject["tool"]
|
|
43
|
+
pyproject["tool"].update({"falco": existing_config})
|
|
42
44
|
pyproject_path.write_text(tomlkit.dumps(pyproject))
|
|
43
45
|
return pyproject
|
|
44
46
|
|
|
@@ -56,7 +58,9 @@ def get_pyproject_file() -> Path:
|
|
|
56
58
|
pyproject_path = Path("pyproject.toml")
|
|
57
59
|
if pyproject_path.exists():
|
|
58
60
|
return pyproject_path
|
|
59
|
-
raise cappa.Exit(
|
|
61
|
+
raise cappa.Exit(
|
|
62
|
+
"Could not find a pyproject.toml file in the current directory.", code=1
|
|
63
|
+
)
|
|
60
64
|
|
|
61
65
|
|
|
62
66
|
def get_project_name() -> str:
|
|
@@ -70,7 +74,9 @@ def get_author_info():
|
|
|
70
74
|
|
|
71
75
|
|
|
72
76
|
@contextmanager
|
|
73
|
-
def simple_progress(
|
|
77
|
+
def simple_progress(
|
|
78
|
+
description: str, display_text="[progress.description]{task.description}"
|
|
79
|
+
):
|
|
74
80
|
progress = Progress(SpinnerColumn(), TextColumn(display_text), transient=True)
|
|
75
81
|
progress.add_task(description=description, total=None)
|
|
76
82
|
try:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic/.github/workflows/ci.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{falco_cli-0.6.2 → falco_cli-0.6.3}/blueprints/falco_blueprint_basic_bootstrap/cookiecutter.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|