alms-cli 0.1.7__tar.gz → 0.1.8__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 (84) hide show
  1. {alms_cli-0.1.7 → alms_cli-0.1.8}/PKG-INFO +1 -1
  2. {alms_cli-0.1.7 → alms_cli-0.1.8}/pyproject.toml +1 -1
  3. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/__init__.py +1 -1
  4. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/main.py.j2 +14 -12
  5. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/config/settings.py.j2 +2 -1
  6. alms_cli-0.1.8/src/alms_cli/templates/files/src/providers/ai/factory.py.j2 +9 -0
  7. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/providers/ai/langchain_model_loader.py.j2 +3 -3
  8. alms_cli-0.1.7/src/alms_cli/templates/files/src/providers/ai/factory.py.j2 +0 -10
  9. {alms_cli-0.1.7 → alms_cli-0.1.8}/.gitignore +0 -0
  10. {alms_cli-0.1.7 → alms_cli-0.1.8}/LICENSE +0 -0
  11. {alms_cli-0.1.7 → alms_cli-0.1.8}/README.md +0 -0
  12. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/__main__.py +0 -0
  13. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/commands/__init__.py +0 -0
  14. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/commands/info.py +0 -0
  15. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/commands/init.py +0 -0
  16. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/main.py +0 -0
  17. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/__init__.py +0 -0
  18. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.env.example.j2 +0 -0
  19. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/ISSUE_TEMPLATE/bug_report.yml.j2 +0 -0
  20. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/ISSUE_TEMPLATE/feature_request.yml.j2 +0 -0
  21. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/dependabot.yml.j2 +0 -0
  22. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/pull_request_template.md.j2 +0 -0
  23. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.github/workflows/ci.yml.j2 +0 -0
  24. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/.gitignore.j2 +0 -0
  25. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/Dockerfile.j2 +0 -0
  26. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/README.md.j2 +0 -0
  27. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/alembic/README.j2 +0 -0
  28. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/alembic/env.py.j2 +0 -0
  29. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/alembic/script.py.mako.j2 +0 -0
  30. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/alembic.ini.j2 +0 -0
  31. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docker-compose.yml.j2 +0 -0
  32. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/01-System-Design.md.j2 +0 -0
  33. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/02-Design-Patterns.md.j2 +0 -0
  34. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/03-Database-Design.md.j2 +0 -0
  35. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/04-Tech-Stack.md.j2 +0 -0
  36. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/05-Project-Structure.md.j2 +0 -0
  37. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/06-API-Documentation.md.j2 +0 -0
  38. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/07-Setup-Installation.md.j2 +0 -0
  39. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/docs/08-Contribution-Guide.md.j2 +0 -0
  40. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/pyproject.toml.j2 +0 -0
  41. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/pytest.ini.j2 +0 -0
  42. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/rules/project_rules.md.j2 +0 -0
  43. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/agents/agent_manager/agent.py.j2 +0 -0
  44. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/agents/prompts/sample_agent_prompt.py.j2 +0 -0
  45. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/dependencies.py.j2 +0 -0
  46. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/health.py.j2 +0 -0
  47. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/metrics.py.j2 +0 -0
  48. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/routers.py.j2 +0 -0
  49. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/sample_agent.py.j2 +0 -0
  50. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/sample_di.py.j2 +0 -0
  51. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/schemas/base.py.j2 +0 -0
  52. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/endpoints/v1/schemas/sample.py.j2 +0 -0
  53. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/error_handler.py.j2 +0 -0
  54. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/logging.py.j2 +0 -0
  55. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/observability.py.j2 +0 -0
  56. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/middlewares/security.py.j2 +0 -0
  57. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/api/router/routers.py.j2 +0 -0
  58. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/config/logs_config.py.j2 +0 -0
  59. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/core/exceptions.py.j2 +0 -0
  60. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/database/connection.py.j2 +0 -0
  61. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/database/repositories/base.py.j2 +0 -0
  62. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/database/repositories/sqlalchemy_repository.py.j2 +0 -0
  63. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/execution/actions/sample_action.py.j2 +0 -0
  64. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/execution/usecases/sample_usecase.py.j2 +0 -0
  65. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/observability/__init__.py.j2 +0 -0
  66. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/observability/metrics.py.j2 +0 -0
  67. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/observability/tracing.py.j2 +0 -0
  68. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/providers/ai/base.py.j2 +0 -0
  69. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/README.md.j2 +0 -0
  70. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/conftest.py.j2 +0 -0
  71. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/e2e/test_workflows.py.j2 +0 -0
  72. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/integration/test_full_stack.py.j2 +0 -0
  73. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_agent.py.j2 +0 -0
  74. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_health.py.j2 +0 -0
  75. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_metrics.py.j2 +0 -0
  76. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_metrics_endpoint.py.j2 +0 -0
  77. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_observability_middleware.py.j2 +0 -0
  78. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_sqlalchemy_repository.py.j2 +0 -0
  79. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/files/src/tests/v1/test_tracing.py.j2 +0 -0
  80. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/generator.py +0 -0
  81. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/profiles.py +0 -0
  82. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/templates/template_renderer.py +0 -0
  83. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/ui/__init__.py +0 -0
  84. {alms_cli-0.1.7 → alms_cli-0.1.8}/src/alms_cli/ui/components.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alms-cli
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: ALMS CLI - Beautiful project scaffolding tool for AI-first backends
5
5
  Project-URL: Homepage, https://github.com/KJ-AIML/alms
6
6
  Project-URL: Repository, https://github.com/KJ-AIML/alms
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "alms-cli"
3
- version = "0.1.7"
3
+ version = "0.1.8"
4
4
  description = "ALMS CLI - Beautiful project scaffolding tool for AI-first backends"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -1,3 +1,3 @@
1
1
  """ALMS CLI - Beautiful project scaffolding tool."""
2
2
 
3
- __version__ = "0.1.7"
3
+ __version__ = "0.1.8"
@@ -47,13 +47,25 @@ def create_app() -> FastAPI:
47
47
  app.add_middleware(ErrorHandlerMiddleware)
48
48
  app.add_middleware(
49
49
  CORSMiddleware,
50
- allow_origins=["*"],
50
+ allow_origins=settings.ALLOWED_HOSTS,
51
51
  allow_credentials=True,
52
52
  allow_methods=["*"],
53
53
  allow_headers=["*"],
54
54
  )
55
55
 
56
56
  app.include_router(api_router, prefix=settings.API_PREFIX)
57
+ {% if has_scalar %}
58
+
59
+ # Scalar API Documentation
60
+ try:
61
+ from scalar_fastapi import get_scalar_api_reference
62
+
63
+ @app.get("/docs", include_in_schema=False)
64
+ async def scalar_html():
65
+ return get_scalar_api_reference(openapi_url=app.openapi_url, title=app.title)
66
+ except ImportError:
67
+ pass
68
+ {% endif %}
57
69
  return app
58
70
 
59
71
 
@@ -66,14 +78,4 @@ if __name__ == "__main__":
66
78
  host=settings.SERVER_HOST,
67
79
  port=settings.SERVER_PORT,
68
80
  reload=settings.DEBUG,
69
- )
70
- {% if has_scalar %}
71
-
72
- try:
73
- from scalar_fastapi import get_scalar_api_reference
74
- @app.get("/docs", include_in_schema=False)
75
- async def scalar_html():
76
- return get_scalar_api_reference(openapi_url=app.openapi_url, title=app.title)
77
- except ImportError:
78
- pass
79
- {% endif %}
81
+ )
@@ -15,7 +15,8 @@ class Settings(BaseSettings):
15
15
  {% if has_ai %} AI_ENABLED: bool = False
16
16
  {% endif %}{% if has_db %} DATABASE_ENABLED: bool = True
17
17
  {% endif %}{% if has_redis %} REDIS_ENABLED: bool = False
18
- {% endif %}{% if has_ai %} OPENAI_API_KEY: str = ""
18
+ {% endif %}{% if has_ai %} MODEL_PROVIDER: str = "openai" # reserved for future provider selection; only "openai" is supported
19
+ OPENAI_API_KEY: str = ""
19
20
  OPENAI_MODEL_BASIC: str = "gpt-4o-mini"
20
21
  OPENAI_MODEL_REASONING: str = "gpt-4o"
21
22
  {% endif %}{% if has_db %} DATABASE_URL: str | None = None
@@ -0,0 +1,9 @@
1
+ """AI provider factory."""
2
+
3
+ from src.providers.ai.base import AIModelProvider
4
+ from src.providers.ai.langchain_model_loader import LangchainModelLoader
5
+
6
+
7
+ def get_ai_provider() -> AIModelProvider:
8
+ """Return the configured AI provider."""
9
+ return LangchainModelLoader()
@@ -5,8 +5,8 @@ from src.config.settings import settings
5
5
  from src.providers.ai.base import AIModelProvider
6
6
 
7
7
 
8
- class LangChainModelProvider(AIModelProvider):
9
- """LangChain AI model provider."""
8
+ class LangchainModelLoader(AIModelProvider):
9
+ """LangChain AI model loader."""
10
10
 
11
11
  def get_chat_model(self, tier: str = "basic"):
12
12
  """Get LLM instance."""
@@ -24,4 +24,4 @@ class LangChainModelProvider(AIModelProvider):
24
24
 
25
25
  def get_llm(model: str = "basic"):
26
26
  """Get LLM instance."""
27
- return LangChainModelProvider().get_chat_model(tier=model)
27
+ return LangchainModelLoader().get_chat_model(tier=model)
@@ -1,10 +0,0 @@
1
- """AI provider factory."""
2
-
3
- from functools import lru_cache
4
- from src.providers.ai.langchain_model_loader import LangChainModelProvider
5
-
6
-
7
- @lru_cache
8
- def get_ai_provider() -> LangChainModelProvider:
9
- """Return the configured AI provider."""
10
- return LangChainModelProvider()
File without changes
File without changes
File without changes
File without changes