fastapi-spawn 0.4.37__tar.gz → 0.4.38__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.37 → fastapi_spawn-0.4.38}/PKG-INFO +1 -1
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/__init__.py +7 -1
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/cli.py +14 -1
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/pyproject.toml +1 -1
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/.gitignore +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/LICENSE +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/README.md +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/config.py +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/constants.py +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/generator.py +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/interactive.py +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/alembic/alembic.ini.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/alembic/env.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/__init__.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/admin/setup.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/deps.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/graphql.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/auth/router.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/auth/sso.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/health/router.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/pagination/router.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/payments/router.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/permissions/router.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/router.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/streaming/router.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/uploads/router.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/ws/router.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/ai.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/cache.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/config.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/email.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/exceptions.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/logger.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/logging.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/monitoring.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/notifications.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/ocr.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/permissions.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/search.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/security.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/storage.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/vector_db.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/ws_manager.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/db/session.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/frontend/index.html.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/main.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/middleware/__init__.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/middleware/rate_limit.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/middleware/request_logger.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/middleware/response_format.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/base/Makefile.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/base/README.md.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/base/env.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/base/env_example.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/base/gitignore.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/base/pre_commit.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/base/pyproject.toml.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/ci/github/publish.yml.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/ci/github/tests.yml.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/ci/gitlab/gitlab-ci.yml.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/db/seed.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/docker/Dockerfile.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/docker/docker-compose.yml.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/docker/dockerignore.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/infra/docker/docker-compose.prod.yml.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/infra/helm/Chart.yaml.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/infra/helm/values.yaml.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/infra/terraform/main.tf.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/infra/terraform/variables.tf.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/root/main.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/tasks/arq_worker.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/tasks/celery_app.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/tasks/sample_tasks.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/tests/conftest.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/tests/test_health.py.j2 +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/utils.py +0 -0
- {fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/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.38
|
|
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
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"""fastapi-spawn — Production-ready FastAPI project scaffolding CLI."""
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
from importlib.metadata import version, PackageNotFoundError
|
|
4
|
+
|
|
5
|
+
try:
|
|
6
|
+
__version__ = version("fastapi-spawn")
|
|
7
|
+
except PackageNotFoundError:
|
|
8
|
+
__version__ = "0.4.37" # Fallback
|
|
9
|
+
|
|
4
10
|
__author__ = "Bishwajit Garai"
|
|
5
11
|
__email__ = "bishwajitgarai@gmail.com"
|
|
6
12
|
__license__ = "MIT"
|
|
@@ -519,10 +519,23 @@ _ADDABLE_FEATURES = {
|
|
|
519
519
|
|
|
520
520
|
@app.command("add", help="Add a feature to an [bold]existing[/bold] fastapi-spawn project.")
|
|
521
521
|
def add_feature(
|
|
522
|
-
feature: str = typer.Argument(
|
|
522
|
+
feature: Optional[str] = typer.Argument(None, help="Feature to add. Leave blank to see all available features."),
|
|
523
523
|
project_dir: Path = typer.Option(Path("."), "--dir", "-d", help="Path to the existing project"),
|
|
524
524
|
) -> None:
|
|
525
525
|
_print_banner()
|
|
526
|
+
|
|
527
|
+
if not feature:
|
|
528
|
+
console.print("\n[bold cyan]Available features to add:[/bold cyan]\n")
|
|
529
|
+
table = Table(box=None)
|
|
530
|
+
table.add_column("Feature", style="bold green", justify="left")
|
|
531
|
+
table.add_column("Description", style="white", justify="left")
|
|
532
|
+
|
|
533
|
+
for k, v in _ADDABLE_FEATURES.items():
|
|
534
|
+
table.add_row(k, v)
|
|
535
|
+
|
|
536
|
+
console.print(table)
|
|
537
|
+
console.print("\n[dim]Run 'fastapi-spawn add <feature>' to add a feature.[/dim]\n")
|
|
538
|
+
raise typer.Exit(0)
|
|
526
539
|
|
|
527
540
|
if feature not in _ADDABLE_FEATURES:
|
|
528
541
|
console.print(
|
|
@@ -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.38"
|
|
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
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/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.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/auth/router.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/auth/sso.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/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.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/api/v1/router.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/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.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/exceptions.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/logging.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/monitoring.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/notifications.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/permissions.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/security.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/storage.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/vector_db.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/core/ws_manager.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/app/frontend/index.html.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/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.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/base/pyproject.toml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/ci/github/publish.yml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/ci/github/tests.yml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/ci/gitlab/gitlab-ci.yml.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/docker/docker-compose.yml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/docker/dockerignore.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/infra/helm/Chart.yaml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/infra/helm/values.yaml.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/infra/terraform/main.tf.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/tasks/arq_worker.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/tasks/celery_app.py.j2
RENAMED
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/tasks/sample_tasks.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
{fastapi_spawn-0.4.37 → fastapi_spawn-0.4.38}/fastapi_spawn/templates/tests/test_health.py.j2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|