fastapi-spawn 0.4.11__tar.gz → 0.4.12__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.
Files changed (70) hide show
  1. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/PKG-INFO +30 -1
  2. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/README.md +29 -0
  3. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/__init__.py +1 -1
  4. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/cli.py +8 -0
  5. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/pyproject.toml +1 -1
  6. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/.gitignore +0 -0
  7. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/LICENSE +0 -0
  8. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/config.py +0 -0
  9. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/constants.py +0 -0
  10. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/generator.py +0 -0
  11. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/interactive.py +0 -0
  12. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/alembic/alembic.ini.j2 +0 -0
  13. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/alembic/env.py.j2 +0 -0
  14. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/__init__.py.j2 +0 -0
  15. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/api/deps.py.j2 +0 -0
  16. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/api/graphql.py.j2 +0 -0
  17. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/api/v1/auth/router.py.j2 +0 -0
  18. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/api/v1/auth/sso.py.j2 +0 -0
  19. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/api/v1/health/router.py.j2 +0 -0
  20. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/api/v1/payments/router.py.j2 +0 -0
  21. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/api/v1/router.py.j2 +0 -0
  22. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/api/v1/streaming/router.py.j2 +0 -0
  23. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/api/v1/ws/router.py.j2 +0 -0
  24. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/ai.py.j2 +0 -0
  25. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/config.py.j2 +0 -0
  26. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/email.py.j2 +0 -0
  27. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/exceptions.py.j2 +0 -0
  28. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/logger.py.j2 +0 -0
  29. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/logging.py.j2 +0 -0
  30. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/monitoring.py.j2 +0 -0
  31. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/notifications.py.j2 +0 -0
  32. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/ocr.py.j2 +0 -0
  33. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/search.py.j2 +0 -0
  34. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/security.py.j2 +0 -0
  35. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/storage.py.j2 +0 -0
  36. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/vector_db.py.j2 +0 -0
  37. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/core/ws_manager.py.j2 +0 -0
  38. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/db/session.py.j2 +0 -0
  39. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/frontend/index.html.j2 +0 -0
  40. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/main.py.j2 +0 -0
  41. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/middleware/__init__.py.j2 +0 -0
  42. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/middleware/rate_limit.py.j2 +0 -0
  43. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/app/middleware/request_logger.py.j2 +0 -0
  44. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/base/Makefile.j2 +0 -0
  45. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/base/README.md.j2 +0 -0
  46. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/base/env.j2 +0 -0
  47. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/base/env_example.j2 +0 -0
  48. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/base/gitignore.j2 +0 -0
  49. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/base/pre_commit.j2 +0 -0
  50. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/base/pyproject.toml.j2 +0 -0
  51. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/ci/github/publish.yml.j2 +0 -0
  52. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/ci/github/tests.yml.j2 +0 -0
  53. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/ci/gitlab/gitlab-ci.yml.j2 +0 -0
  54. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/db/seed.py.j2 +0 -0
  55. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/docker/Dockerfile.j2 +0 -0
  56. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/docker/docker-compose.yml.j2 +0 -0
  57. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/docker/dockerignore.j2 +0 -0
  58. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/infra/docker/docker-compose.prod.yml.j2 +0 -0
  59. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/infra/helm/Chart.yaml.j2 +0 -0
  60. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/infra/helm/values.yaml.j2 +0 -0
  61. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/infra/terraform/main.tf.j2 +0 -0
  62. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/infra/terraform/variables.tf.j2 +0 -0
  63. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/root/main.py.j2 +0 -0
  64. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/tasks/arq_worker.py.j2 +0 -0
  65. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/tasks/celery_app.py.j2 +0 -0
  66. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/tasks/sample_tasks.py.j2 +0 -0
  67. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/tests/conftest.py.j2 +0 -0
  68. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/templates/tests/test_health.py.j2 +0 -0
  69. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/fastapi_spawn/utils.py +0 -0
  70. {fastapi_spawn-0.4.11 → fastapi_spawn-0.4.12}/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.11
3
+ Version: 0.4.12
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
@@ -381,6 +381,10 @@ SMTP_SSL=false
381
381
  # ── AWS SES ──────────────────────────────────────────────────────────────
382
382
  SES_FROM_EMAIL=noreply@example.com # uses AWS_* credentials above
383
383
 
384
+ # ── Resend ───────────────────────────────────────────────────────────────
385
+ RESEND_API_KEY=re_placeholder
386
+ RESEND_FROM_EMAIL=noreply@example.com
387
+
384
388
  # ── Slack ────────────────────────────────────────────────────────────────
385
389
  SLACK_WEBHOOK_URL=https://hooks.slack.com/services/CHANGE_ME
386
390
 
@@ -402,6 +406,31 @@ ELASTICSEARCH_HOST=localhost
402
406
  ELASTICSEARCH_PORT=9200
403
407
  ELASTICSEARCH_API_KEY=
404
408
  # → assembled as: http://HOST:PORT
409
+
410
+ # ── OpenSearch ───────────────────────────────────────────────────────────
411
+ OPENSEARCH_HOST=localhost
412
+ OPENSEARCH_PORT=9200
413
+ OPENSEARCH_USER=admin
414
+ OPENSEARCH_PASSWORD=admin
415
+
416
+ # ── Vespa ────────────────────────────────────────────────────────────────
417
+ VESPA_ENDPOINT=http://localhost:8080
418
+
419
+ # ── Extras (Stripe, SSO, Meilisearch) ────────────────────────────────────
420
+ STRIPE_API_KEY=sk_test_placeholder
421
+ STRIPE_WEBHOOK_SECRET=whsec_placeholder
422
+
423
+ GOOGLE_CLIENT_ID=placeholder
424
+ GOOGLE_CLIENT_SECRET=placeholder
425
+
426
+ GITHUB_CLIENT_ID=placeholder
427
+ GITHUB_CLIENT_SECRET=placeholder
428
+
429
+ MICROSOFT_CLIENT_ID=placeholder
430
+ MICROSOFT_CLIENT_SECRET=placeholder
431
+
432
+ MEILISEARCH_HOST=http://localhost:7700
433
+ MEILISEARCH_API_KEY=masterKey
405
434
  ```
406
435
 
407
436
  > All variables are assembled into connection URLs inside `app/core/config.py` via `@property`. Your code always reads from structured fields — never a fragile connection string.
@@ -340,6 +340,10 @@ SMTP_SSL=false
340
340
  # ── AWS SES ──────────────────────────────────────────────────────────────
341
341
  SES_FROM_EMAIL=noreply@example.com # uses AWS_* credentials above
342
342
 
343
+ # ── Resend ───────────────────────────────────────────────────────────────
344
+ RESEND_API_KEY=re_placeholder
345
+ RESEND_FROM_EMAIL=noreply@example.com
346
+
343
347
  # ── Slack ────────────────────────────────────────────────────────────────
344
348
  SLACK_WEBHOOK_URL=https://hooks.slack.com/services/CHANGE_ME
345
349
 
@@ -361,6 +365,31 @@ ELASTICSEARCH_HOST=localhost
361
365
  ELASTICSEARCH_PORT=9200
362
366
  ELASTICSEARCH_API_KEY=
363
367
  # → assembled as: http://HOST:PORT
368
+
369
+ # ── OpenSearch ───────────────────────────────────────────────────────────
370
+ OPENSEARCH_HOST=localhost
371
+ OPENSEARCH_PORT=9200
372
+ OPENSEARCH_USER=admin
373
+ OPENSEARCH_PASSWORD=admin
374
+
375
+ # ── Vespa ────────────────────────────────────────────────────────────────
376
+ VESPA_ENDPOINT=http://localhost:8080
377
+
378
+ # ── Extras (Stripe, SSO, Meilisearch) ────────────────────────────────────
379
+ STRIPE_API_KEY=sk_test_placeholder
380
+ STRIPE_WEBHOOK_SECRET=whsec_placeholder
381
+
382
+ GOOGLE_CLIENT_ID=placeholder
383
+ GOOGLE_CLIENT_SECRET=placeholder
384
+
385
+ GITHUB_CLIENT_ID=placeholder
386
+ GITHUB_CLIENT_SECRET=placeholder
387
+
388
+ MICROSOFT_CLIENT_ID=placeholder
389
+ MICROSOFT_CLIENT_SECRET=placeholder
390
+
391
+ MEILISEARCH_HOST=http://localhost:7700
392
+ MEILISEARCH_API_KEY=masterKey
364
393
  ```
365
394
 
366
395
  > All variables are assembled into connection URLs inside `app/core/config.py` via `@property`. Your code always reads from structured fields — never a fragile connection string.
@@ -1,6 +1,6 @@
1
1
  """fastapi-spawn — Production-ready FastAPI project scaffolding CLI."""
2
2
 
3
- __version__ = "0.4.11"
3
+ __version__ = "0.4.12"
4
4
  __author__ = "Bishwajit Garai"
5
5
  __email__ = "bishwajitgarai@gmail.com"
6
6
  __license__ = "MIT"
@@ -62,6 +62,14 @@ def version_callback(value: bool) -> None:
62
62
  raise typer.Exit()
63
63
 
64
64
 
65
+ @app.command("help", help="Show this help message and exit.")
66
+ def show_help(ctx: typer.Context) -> None:
67
+ """Print the global CLI help."""
68
+ # We leverage Click's internal help formatting to render the same as --help
69
+ rprint(ctx.parent.get_help())
70
+
71
+
72
+
65
73
  # ── `new` command ──────────────────────────────────────────────────────────────
66
74
 
67
75
  @app.command("new", help="Create a new FastAPI project.")
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "fastapi-spawn"
7
- version = "0.4.11"
7
+ version = "0.4.12"
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