fastapi-spawn 0.4.24__tar.gz → 0.4.25__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 (77) hide show
  1. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/PKG-INFO +1 -1
  2. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/cli.py +21 -2
  3. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/pyproject.toml +1 -1
  4. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/.gitignore +0 -0
  5. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/LICENSE +0 -0
  6. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/README.md +0 -0
  7. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/__init__.py +0 -0
  8. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/config.py +0 -0
  9. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/constants.py +0 -0
  10. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/generator.py +0 -0
  11. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/interactive.py +0 -0
  12. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/alembic/alembic.ini.j2 +0 -0
  13. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/alembic/env.py.j2 +0 -0
  14. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/__init__.py.j2 +0 -0
  15. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/admin/setup.py.j2 +0 -0
  16. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/deps.py.j2 +0 -0
  17. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/graphql.py.j2 +0 -0
  18. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/auth/router.py.j2 +0 -0
  19. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/auth/sso.py.j2 +0 -0
  20. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/health/router.py.j2 +0 -0
  21. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/pagination/router.py.j2 +0 -0
  22. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/payments/router.py.j2 +0 -0
  23. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/permissions/router.py.j2 +0 -0
  24. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/router.py.j2 +0 -0
  25. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/streaming/router.py.j2 +0 -0
  26. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/uploads/router.py.j2 +0 -0
  27. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/api/v1/ws/router.py.j2 +0 -0
  28. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/ai.py.j2 +0 -0
  29. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/cache.py.j2 +0 -0
  30. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/config.py.j2 +0 -0
  31. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/email.py.j2 +0 -0
  32. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/exceptions.py.j2 +0 -0
  33. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/logger.py.j2 +0 -0
  34. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/logging.py.j2 +0 -0
  35. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/monitoring.py.j2 +0 -0
  36. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/notifications.py.j2 +0 -0
  37. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/ocr.py.j2 +0 -0
  38. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/permissions.py.j2 +0 -0
  39. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/search.py.j2 +0 -0
  40. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/security.py.j2 +0 -0
  41. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/storage.py.j2 +0 -0
  42. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/vector_db.py.j2 +0 -0
  43. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/core/ws_manager.py.j2 +0 -0
  44. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/db/session.py.j2 +0 -0
  45. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/frontend/index.html.j2 +0 -0
  46. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/main.py.j2 +0 -0
  47. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/middleware/__init__.py.j2 +0 -0
  48. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/middleware/rate_limit.py.j2 +0 -0
  49. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/middleware/request_logger.py.j2 +0 -0
  50. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/app/middleware/response_format.py.j2 +0 -0
  51. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/base/Makefile.j2 +0 -0
  52. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/base/README.md.j2 +0 -0
  53. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/base/env.j2 +0 -0
  54. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/base/env_example.j2 +0 -0
  55. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/base/gitignore.j2 +0 -0
  56. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/base/pre_commit.j2 +0 -0
  57. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/base/pyproject.toml.j2 +0 -0
  58. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/ci/github/publish.yml.j2 +0 -0
  59. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/ci/github/tests.yml.j2 +0 -0
  60. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/ci/gitlab/gitlab-ci.yml.j2 +0 -0
  61. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/db/seed.py.j2 +0 -0
  62. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/docker/Dockerfile.j2 +0 -0
  63. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/docker/docker-compose.yml.j2 +0 -0
  64. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/docker/dockerignore.j2 +0 -0
  65. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/infra/docker/docker-compose.prod.yml.j2 +0 -0
  66. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/infra/helm/Chart.yaml.j2 +0 -0
  67. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/infra/helm/values.yaml.j2 +0 -0
  68. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/infra/terraform/main.tf.j2 +0 -0
  69. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/infra/terraform/variables.tf.j2 +0 -0
  70. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/root/main.py.j2 +0 -0
  71. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/tasks/arq_worker.py.j2 +0 -0
  72. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/tasks/celery_app.py.j2 +0 -0
  73. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/tasks/sample_tasks.py.j2 +0 -0
  74. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/tests/conftest.py.j2 +0 -0
  75. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/templates/tests/test_health.py.j2 +0 -0
  76. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/fastapi_spawn/utils.py +0 -0
  77. {fastapi_spawn-0.4.24 → fastapi_spawn-0.4.25}/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.24
3
+ Version: 0.4.25
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
@@ -221,13 +221,32 @@ def new(
221
221
  _print_next_steps(config)
222
222
  @app.command("start", help="Create a project using a preset template.")
223
223
  def start(
224
- preset: str = typer.Argument(..., help="Preset name (basic, full)"),
225
- project_name: str = typer.Argument(..., help="Name of the new project"),
224
+ preset: Optional[str] = typer.Argument(None, help="Preset name (basic, full-local, full)"),
225
+ project_name: Optional[str] = typer.Argument(None, help="Name of the new project"),
226
226
  output: Path = typer.Option(Path("."), "--output", "-o", help="Output directory"),
227
227
  force: bool = typer.Option(False, "--force", "-f", help="Overwrite existing directory"),
228
228
  ) -> None:
229
229
  _print_banner()
230
230
 
231
+ if not preset:
232
+ import questionary
233
+ from fastapi_spawn.interactive import SPAWN_STYLE
234
+ preset = questionary.select(
235
+ "Which preset do you want to use?",
236
+ choices=["basic", "full-local", "full"],
237
+ style=SPAWN_STYLE,
238
+ ).unsafe_ask()
239
+
240
+ if not project_name:
241
+ import questionary
242
+ from fastapi_spawn.interactive import SPAWN_STYLE
243
+ from fastapi_spawn.validators import questionary_validator, validate_project_name
244
+ project_name = questionary.text(
245
+ "Project name:",
246
+ validate=questionary_validator(validate_project_name),
247
+ style=SPAWN_STYLE,
248
+ ).unsafe_ask()
249
+
231
250
  if preset == "basic":
232
251
  config = ProjectConfig(
233
252
  project_name=project_name,
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "fastapi-spawn"
7
- version = "0.4.24"
7
+ version = "0.4.25"
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