fastapi-spawn 0.5.2__tar.gz → 0.5.4__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.
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/PKG-INFO +1 -1
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/cli.py +8 -4
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/docker/docker-compose.yml.j2 +7 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/pyproject.toml +1 -1
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/.gitignore +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/LICENSE +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/README.md +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/__init__.py +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/config.py +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/constants.py +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/generator.py +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/interactive.py +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/steps.py +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/alembic/alembic.ini.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/alembic/env.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/__init__.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/admin/setup.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/deps.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/graphql.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/auth/router.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/auth/sso.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/health/router.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/pagination/router.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/payments/router.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/permissions/router.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/router.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/streaming/router.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/uploads/router.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/ws/router.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/ai.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/cache.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/config.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/email.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/exceptions.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/logger.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/logging.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/monitoring.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/notifications.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/ocr.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/permissions.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/search.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/security.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/storage.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/vector_db.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/ws_manager.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/db/session.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/frontend/index.html.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/main.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/middleware/__init__.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/middleware/rate_limit.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/middleware/request_logger.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/middleware/response_format.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/base/Makefile.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/base/README.md.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/base/env.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/base/env_example.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/base/gitignore.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/base/pre_commit.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/base/pyproject.toml.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/ci/github/publish.yml.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/ci/github/tests.yml.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/ci/gitlab/gitlab-ci.yml.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/db/seed.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/docker/Dockerfile.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/docker/dockerignore.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/infra/docker/docker-compose.prod.yml.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/infra/helm/Chart.yaml.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/infra/helm/values.yaml.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/infra/terraform/main.tf.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/infra/terraform/variables.tf.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/root/main.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/tasks/arq_worker.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/tasks/celery_app.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/tasks/sample_tasks.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/tests/conftest.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/tests/test_health.py.j2 +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/utils.py +0 -0
- {fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/validators.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fastapi-spawn
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.4
|
|
4
4
|
Summary: A powerful CLI tool to scaffold production-ready FastAPI projects with flexible database, auth, broker, and deployment options.
|
|
5
5
|
Project-URL: Homepage, https://github.com/Bishwajitgarai/fastapi-spawn
|
|
6
6
|
Project-URL: Documentation, https://github.com/Bishwajitgarai/fastapi-spawn#readme
|
|
@@ -726,19 +726,23 @@ def add_feature(
|
|
|
726
726
|
)
|
|
727
727
|
ctx = {
|
|
728
728
|
"project_name": project_status.get("project_name", project_dir.name),
|
|
729
|
+
"slug": project_dir.name.lower().replace("-", "_").replace(" ", "_"),
|
|
729
730
|
"db": project_status.get("db", "postgresql"),
|
|
730
731
|
"orm": project_status.get("orm", "sqlalchemy"),
|
|
732
|
+
"broker": feature if feature in ("celery", "arq", "rabbitmq", "kafka") else project_status.get("broker", "redis"),
|
|
731
733
|
"has_auth": feature == "auth" or "auth" in installed_features,
|
|
732
734
|
"has_alembic": feature == "alembic" or "alembic" in installed_features,
|
|
733
735
|
"has_broker": feature in ("celery", "arq") or any(f in installed_features for f in ("celery", "arq")),
|
|
734
736
|
"has_s3": feature in ("s3", "gcs", "cloudinary") or any(f in installed_features for f in ("s3", "gcs", "cloudinary")),
|
|
735
737
|
"has_ai": feature in ("openai", "anthropic", "gemini", "ollama", "langchain", "llamaindex"),
|
|
736
|
-
"
|
|
737
|
-
"
|
|
738
|
-
"
|
|
739
|
-
"
|
|
738
|
+
"ai": feature if feature in ("openai", "anthropic", "gemini", "ollama", "langchain", "llamaindex") else project_status.get("ai", "none"),
|
|
739
|
+
"storage": feature if feature in ("s3", "gcs", "cloudinary") else project_status.get("storage", "none"),
|
|
740
|
+
"email": feature if feature in ("sendgrid", "smtp", "ses", "resend") else project_status.get("email", "none"),
|
|
741
|
+
"notify": feature if feature in ("slack", "discord") else project_status.get("notify", "none"),
|
|
740
742
|
"vector_db": feature if feature in ("qdrant", "chroma", "pinecone", "elasticsearch") else project_status.get("vector_db", "none"),
|
|
741
743
|
"monitoring": feature if feature in ("sentry", "prometheus", "opentelemetry") else project_status.get("monitoring", "none"),
|
|
744
|
+
"has_sentry": feature == "sentry" or "sentry" in installed_features,
|
|
745
|
+
"has_prometheus": feature == "prometheus" or "prometheus" in installed_features,
|
|
742
746
|
}
|
|
743
747
|
for template_path, dest_rel in files:
|
|
744
748
|
dest = project_dir / dest_rel
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/docker/docker-compose.yml.j2
RENAMED
|
@@ -60,6 +60,13 @@ services:
|
|
|
60
60
|
{% if ai == "ollama" %}
|
|
61
61
|
- OLLAMA_HOST=ollama
|
|
62
62
|
{% endif %}
|
|
63
|
+
{% if broker == "kafka" or "kafka" in extras %}
|
|
64
|
+
- KAFKA_HOST=kafka
|
|
65
|
+
{% endif %}
|
|
66
|
+
{% if broker == "celery" or "celery" in extras %}
|
|
67
|
+
- CELERY_BROKER_URL=redis://redis:6379/0
|
|
68
|
+
- CELERY_RESULT_BACKEND=redis://redis:6379/0
|
|
69
|
+
{% endif %}
|
|
63
70
|
{% endif %}
|
|
64
71
|
restart: unless-stopped
|
|
65
72
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "fastapi-spawn"
|
|
7
|
-
version = "0.5.
|
|
7
|
+
version = "0.5.4"
|
|
8
8
|
description = "A powerful CLI tool to scaffold production-ready FastAPI projects with flexible database, auth, broker, and deployment options."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
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
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/auth/router.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/auth/sso.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/health/router.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/payments/router.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/uploads/router.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/api/v1/ws/router.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/exceptions.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/monitoring.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/notifications.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/permissions.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/vector_db.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/core/ws_manager.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/frontend/index.html.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/middleware/__init__.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/app/middleware/rate_limit.py.j2
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
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/ci/github/publish.yml.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/ci/gitlab/gitlab-ci.yml.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/infra/helm/Chart.yaml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/infra/helm/values.yaml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/infra/terraform/main.tf.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/infra/terraform/variables.tf.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.5.2 → fastapi_spawn-0.5.4}/fastapi_spawn/templates/tasks/sample_tasks.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|