fastapi-spawn 0.4.33__tar.gz → 0.4.35__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.4.33 → fastapi_spawn-0.4.35}/PKG-INFO +1 -1
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/cli.py +3 -3
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/logger.py.j2 +3 -5
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/main.py.j2 +1 -3
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/base/pyproject.toml.j2 +0 -3
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/docker/docker-compose.yml.j2 +1 -1
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/pyproject.toml +1 -1
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/.gitignore +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/LICENSE +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/README.md +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/__init__.py +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/config.py +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/constants.py +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/generator.py +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/interactive.py +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/alembic/alembic.ini.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/alembic/env.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/__init__.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/admin/setup.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/deps.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/graphql.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/auth/router.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/auth/sso.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/health/router.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/pagination/router.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/payments/router.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/permissions/router.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/router.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/streaming/router.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/uploads/router.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/ws/router.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/ai.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/cache.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/config.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/email.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/exceptions.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/logging.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/monitoring.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/notifications.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/ocr.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/permissions.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/search.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/security.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/storage.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/vector_db.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/ws_manager.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/db/session.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/frontend/index.html.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/middleware/__init__.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/middleware/rate_limit.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/middleware/request_logger.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/middleware/response_format.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/base/Makefile.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/base/README.md.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/base/env.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/base/env_example.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/base/gitignore.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/base/pre_commit.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/ci/github/publish.yml.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/ci/github/tests.yml.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/ci/gitlab/gitlab-ci.yml.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/db/seed.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/docker/Dockerfile.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/docker/dockerignore.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/infra/docker/docker-compose.prod.yml.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/infra/helm/Chart.yaml.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/infra/helm/values.yaml.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/infra/terraform/main.tf.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/infra/terraform/variables.tf.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/root/main.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/tasks/arq_worker.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/tasks/celery_app.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/tasks/sample_tasks.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/tests/conftest.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/tests/test_health.py.j2 +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/utils.py +0 -0
- {fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/validators.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fastapi-spawn
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.35
|
|
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
|
|
@@ -630,11 +630,11 @@ def _print_next_steps(config: ProjectConfig) -> None:
|
|
|
630
630
|
steps.append(f" [bold cyan]cd {config.project_name}[/bold cyan]")
|
|
631
631
|
steps.append(" [bold cyan]uv sync[/bold cyan]")
|
|
632
632
|
if config.has_alembic:
|
|
633
|
-
steps.append(" [bold cyan]uv run
|
|
633
|
+
steps.append(" [bold cyan]uv run alembic upgrade head[/bold cyan]")
|
|
634
634
|
if config.has_docker:
|
|
635
|
-
steps.append(" [bold cyan]docker compose up --build[/bold cyan]")
|
|
635
|
+
steps.append(" [bold cyan]docker compose up --build -d[/bold cyan]")
|
|
636
636
|
else:
|
|
637
|
-
steps.append(" [bold cyan]uv run
|
|
637
|
+
steps.append(" [bold cyan]uv run uvicorn app.main:app --reload[/bold cyan]")
|
|
638
638
|
|
|
639
639
|
console.print(Panel(
|
|
640
640
|
"\n".join(steps),
|
|
@@ -45,16 +45,13 @@ class _ContextFilter(logging.Filter):
|
|
|
45
45
|
_FMT = "%(asctime)s | %(levelname)-8s | [%(request_id)s] [%(client_ip)s] | %(name)s | %(message)s"
|
|
46
46
|
_formatter = logging.Formatter(_FMT, datefmt="%Y-%m-%d %H:%M:%S")
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
logger = logging.getLogger("{{ slug }}")
|
|
48
|
+
logger = logging.getLogger()
|
|
51
49
|
logger.setLevel(settings.LOG_LEVEL)
|
|
52
|
-
logger.propagate = False
|
|
53
|
-
logger.addFilter(_ContextFilter())
|
|
54
50
|
|
|
55
51
|
# Console handler
|
|
56
52
|
_console_handler = logging.StreamHandler()
|
|
57
53
|
_console_handler.setFormatter(_formatter)
|
|
54
|
+
_console_handler.addFilter(_ContextFilter())
|
|
58
55
|
logger.addHandler(_console_handler)
|
|
59
56
|
|
|
60
57
|
{% if log_dest == "local" %}
|
|
@@ -69,6 +66,7 @@ _file_handler = TimedRotatingFileHandler(
|
|
|
69
66
|
encoding="utf-8",
|
|
70
67
|
)
|
|
71
68
|
_file_handler.setFormatter(_formatter)
|
|
69
|
+
_file_handler.addFilter(_ContextFilter())
|
|
72
70
|
logger.addHandler(_file_handler)
|
|
73
71
|
|
|
74
72
|
{% elif log_dest == "cloudwatch" %}
|
|
@@ -12,9 +12,7 @@ from app.api.graphql import graphql_router
|
|
|
12
12
|
{% endif %}
|
|
13
13
|
from app.core.config import settings
|
|
14
14
|
from app.core.exceptions import register_exception_handlers
|
|
15
|
-
from app.core.
|
|
16
|
-
|
|
17
|
-
configure_logging()
|
|
15
|
+
from app.core.logger import logger
|
|
18
16
|
|
|
19
17
|
|
|
20
18
|
@asynccontextmanager
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/docker/docker-compose.yml.j2
RENAMED
|
@@ -98,7 +98,7 @@ services:
|
|
|
98
98
|
volumes:
|
|
99
99
|
- postgres_data:/var/lib/postgresql/data
|
|
100
100
|
healthcheck:
|
|
101
|
-
test: ["CMD-SHELL", "pg_isready -U postgres -d
|
|
101
|
+
test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
|
|
102
102
|
interval: 10s
|
|
103
103
|
timeout: 5s
|
|
104
104
|
retries: 5
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "fastapi-spawn"
|
|
7
|
-
version = "0.4.
|
|
7
|
+
version = "0.4.35"
|
|
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
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/alembic/alembic.ini.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/auth/router.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/auth/sso.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/health/router.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/api/v1/router.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/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.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/exceptions.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/logging.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/monitoring.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/notifications.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/permissions.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/security.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/storage.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/vector_db.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/core/ws_manager.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/frontend/index.html.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/app/middleware/__init__.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.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/ci/github/publish.yml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/ci/github/tests.yml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/ci/gitlab/gitlab-ci.yml.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/docker/dockerignore.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/infra/helm/Chart.yaml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/infra/helm/values.yaml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/infra/terraform/main.tf.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/tasks/arq_worker.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/tasks/celery_app.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/tasks/sample_tasks.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.33 → fastapi_spawn-0.4.35}/fastapi_spawn/templates/tests/test_health.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|