fastapi-fullstack 0.2.19__py3-none-any.whl → 0.2.20__py3-none-any.whl

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 (85) hide show
  1. {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/METADATA +48 -39
  2. {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/RECORD +85 -57
  3. {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/WHEEL +1 -1
  4. fastapi_gen/UPGRADES.yaml +13 -0
  5. fastapi_gen/cli.py +15 -2
  6. fastapi_gen/config.py +28 -3
  7. fastapi_gen/prompts.py +42 -2
  8. fastapi_gen/template/VARIABLES.md +15 -13
  9. fastapi_gen/template/cookiecutter.json +2 -0
  10. fastapi_gen/template/hooks/post_gen_project.py +50 -0
  11. fastapi_gen/template/{{cookiecutter.project_slug}}/.github/workflows/ci.yml +13 -13
  12. fastapi_gen/template/{{cookiecutter.project_slug}}/.gitlab-ci.yml +1 -1
  13. fastapi_gen/template/{{cookiecutter.project_slug}}/ENV_VARS.md +5 -0
  14. fastapi_gen/template/{{cookiecutter.project_slug}}/MANUAL_STEPS.md +9 -0
  15. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/.env.example +16 -0
  16. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/alembic/env.py +9 -0
  17. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/assistant.py +34 -4
  18. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/mcp.py +7 -4
  19. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/mcp_oauth.py +12 -12
  20. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/memory.py +139 -0
  21. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/openai_compatible.py +41 -0
  22. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/pydantic_deep_assistant.py +90 -70
  23. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/agents/tools/code_execution.py +1 -1
  24. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/deps.py +12 -0
  25. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/__init__.py +8 -0
  26. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/agent.py +18 -26
  27. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/conversations.py +7 -1
  28. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/health.py +2 -0
  29. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/api/routes/v1/me_memory.py +114 -0
  30. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/core/config.py +24 -2
  31. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/db/memory_pool.py +180 -0
  32. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/db/migration_filters.py +29 -0
  33. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/db/todo_pool.py +7 -3
  34. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/main.py +12 -0
  35. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/schemas/user_memory.py +49 -0
  36. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/agent.py +15 -0
  37. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/agent_invocation.py +48 -7
  38. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/agent_session.py +157 -73
  39. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/channels/router.py +3 -0
  40. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/channels/slack.py +2 -1
  41. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/conversation.py +27 -2
  42. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/rag/embeddings.py +6 -0
  43. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/user.py +8 -0
  44. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/app/services/user_memory.py +202 -0
  45. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/pyproject.toml +38 -15
  46. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/api/test_me_memory.py +217 -0
  47. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_agents.py +21 -0
  48. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_channel_history.py +38 -0
  49. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_conversation_write_access.py +121 -0
  50. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_mcp_connections.py +18 -18
  51. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_memory.py +297 -0
  52. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_memory_channels.py +65 -0
  53. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_memory_postgres.py +127 -0
  54. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_openai_compatible.py +60 -0
  55. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_pydantic_deep_history.py +167 -0
  56. fastapi_gen/template/{{cookiecutter.project_slug}}/backend/tests/test_services_conversation.py +59 -1
  57. fastapi_gen/template/{{cookiecutter.project_slug}}/docker-compose.dev.yml +5 -5
  58. fastapi_gen/template/{{cookiecutter.project_slug}}/docker-compose.prod.yml +12 -9
  59. fastapi_gen/template/{{cookiecutter.project_slug}}/docker-compose.yml +5 -5
  60. fastapi_gen/template/{{cookiecutter.project_slug}}/docs/configuration.md +8 -0
  61. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/layout.tsx +4 -1
  62. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/app/[locale]/(dashboard)/settings/memory/page.tsx +22 -0
  63. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/app/api/me/memory/file/route.ts +79 -0
  64. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/app/api/me/memory/route.ts +28 -0
  65. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/tool-call-card.tsx +27 -10
  66. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/tool-results/memory.tsx +222 -0
  67. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/chat/tool-results/skills.tsx +7 -15
  68. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/demo/demo-replay.tsx +51 -11
  69. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/memory-delete-dialog.tsx +53 -0
  70. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/memory-file-editor.tsx +121 -0
  71. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/memory-file-name.ts +30 -0
  72. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/components/settings/memory-manager.tsx +247 -0
  73. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/hooks/index.ts +3 -0
  74. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-memory.ts +100 -0
  75. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/hooks/use-step-replay.ts +1 -1
  76. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/agent-step-captions.ts +14 -3
  77. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/constants.ts +3 -0
  78. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/memory-api.ts +53 -0
  79. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/py-literal.ts +112 -0
  80. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/query-keys.ts +5 -0
  81. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/skill-result.test.ts +38 -0
  82. fastapi_gen/template/{{cookiecutter.project_slug}}/frontend/src/lib/skill-result.ts +30 -0
  83. fastapi_gen/template/{{cookiecutter.project_slug}}/kubernetes/secret.yaml +3 -0
  84. {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/entry_points.txt +0 -0
  85. {fastapi_fullstack-0.2.19.dist-info → fastapi_fullstack-0.2.20.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,9 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: fastapi-fullstack
3
- Version: 0.2.19
4
- Summary: Full-stack FastAPI + Next.js template generator with PydanticAI/LangChain agents, WebSocket streaming, 20+ enterprise integrations, and Logfire/LangSmith observability. Ship AI apps fast. CLI tool to generate production-ready FastAPI + Next.js projects with AI agents, auth, and observability.
3
+ Version: 0.2.20
4
+ Summary: Full-stack FastAPI + Next.js template generator with Pydantic AI/LangChain agents, WebSocket streaming, 20+ enterprise integrations, and Logfire/LangSmith observability. Ship AI apps fast.
5
5
  Project-URL: Homepage, https://github.com/vstorm-co/full-stack-ai-agent-template
6
- Project-URL: Documentation, https://github.com/vstorm-co/full-stack-ai-agent-template#readme
6
+ Project-URL: Documentation, https://vstorm-co.github.io/full-stack-ai-agent-template/
7
7
  Project-URL: Repository, https://github.com/vstorm-co/full-stack-ai-agent-template
8
8
  Author-email: Vstorm <hr@vstorm.co>
9
9
  License: MIT
@@ -46,6 +46,13 @@ Requires-Dist: mkdocs>=1.6.1; extra == 'docs'
46
46
  Requires-Dist: pymdown-extensions>=10.20; extra == 'docs'
47
47
  Description-Content-Type: text/markdown
48
48
 
49
+ <p align="center">
50
+ <a href="https://github.com/vstorm-co/agenticos">
51
+ <img src="assets/agenticos-banner-light.png" width="100%" alt="AgenticOS by Vstorm, the Sovereign Agentic AI Layer: AI agents your whole team can use and improve. Open source (Apache-2.0), self-hosted, built on Pydantic AI, with budgets, approvals, guardrails and activity built in. Links to the AgenticOS repository on GitHub.">
52
+ </a>
53
+ </p>
54
+ <p align="center"><sub>From the team behind this repo: <a href="https://github.com/vstorm-co/agenticos"><b>AgenticOS</b></a>, the Sovereign Agentic AI Layer. AI agents your whole team can use and improve: open source (Apache-2.0), self-hosted, built on Pydantic AI.</sub></p>
55
+
49
56
  <h1 align="center">Full-Stack AI Agent Template</h1>
50
57
 
51
58
  <p align="center">
@@ -57,7 +64,6 @@ Description-Content-Type: text/markdown
57
64
  <a href="#-features">Features</a> •
58
65
  <a href="#-demo">Demo</a> •
59
66
  <a href="https://vstorm-co.github.io/full-stack-ai-agent-template/">Documentation</a> •
60
- <a href="https://oss.vstorm.co/projects/full-stack-ai-agent-template/configurator/">Configurator</a> •
61
67
  <a href="https://pypi.org/project/fastapi-fullstack/">PyPI</a>
62
68
  </p>
63
69
 
@@ -80,7 +86,7 @@ Description-Content-Type: text/markdown
80
86
  </p>
81
87
 
82
88
  <p align="center">
83
- <b>🤖 5 AI Agent Frameworks</b> <i>(PydanticAI, PydanticDeep, LangChain, LangGraph, DeepAgents)</i>
89
+ <b>🤖 5 AI Agent Frameworks</b> <i>(Pydantic AI, Pydantic Deep Agents, LangChain, LangGraph, DeepAgents)</i>
84
90
  <br>
85
91
  <b>📄 RAG Pipeline</b> <i>(Milvus, Qdrant, pgvector, ChromaDB)</i>
86
92
  <br>
@@ -121,22 +127,23 @@ This template is part of a broader open-source ecosystem for production AI agent
121
127
 
122
128
  | Project | Description | |
123
129
  |---------|-------------|---|
130
+ | **[AgenticOS](https://github.com/vstorm-co/agenticos)** | Open-source (Apache-2.0), self-hosted platform to build, share and govern AI agents across a company. | [![Stars](https://img.shields.io/github/stars/vstorm-co/agenticos?style=flat&logo=github&color=yellow)](https://github.com/vstorm-co/agenticos) |
124
131
  | **[pydantic-deepagents](https://github.com/vstorm-co/pydantic-deepagents)** | The modular agent runtime for Python. Claude Code-style CLI with Docker sandbox, browser automation, multi-agent teams, and /improve. | [![Stars](https://img.shields.io/github/stars/vstorm-co/pydantic-deepagents?style=flat&logo=github&color=yellow)](https://github.com/vstorm-co/pydantic-deepagents) |
125
132
  | **[pydantic-ai-shields](https://github.com/vstorm-co/pydantic-ai-shields)** | Drop-in guardrails for Pydantic AI agents. 5 infra + 5 content shields. | [![Stars](https://img.shields.io/github/stars/vstorm-co/pydantic-ai-shields?style=flat&logo=github&color=yellow)](https://github.com/vstorm-co/pydantic-ai-shields) |
126
- | **[pydantic-ai-subagents](https://github.com/vstorm-co/pydantic-ai-subagents)** | Declarative multi-agent orchestration with token tracking. | [![Stars](https://img.shields.io/github/stars/vstorm-co/pydantic-ai-subagents?style=flat&logo=github&color=yellow)](https://github.com/vstorm-co/pydantic-ai-subagents) |
127
- | **[summarization-pydantic-ai](https://github.com/vstorm-co/pydantic-ai-summarization)** | Smart context compression for long-running agents. | [![Stars](https://img.shields.io/github/stars/vstorm-co/summarization-pydantic-ai?style=flat&logo=github&color=yellow)](https://github.com/vstorm-co/summarization-pydantic-ai) |
133
+ | **[subagents-pydantic-ai](https://github.com/vstorm-co/subagents-pydantic-ai)** | Declarative multi-agent orchestration with token tracking. | [![Stars](https://img.shields.io/github/stars/vstorm-co/subagents-pydantic-ai?style=flat&logo=github&color=yellow)](https://github.com/vstorm-co/subagents-pydantic-ai) |
134
+ | **[summarization-pydantic-ai](https://github.com/vstorm-co/summarization-pydantic-ai)** | Smart context compression for long-running agents. | [![Stars](https://img.shields.io/github/stars/vstorm-co/summarization-pydantic-ai?style=flat&logo=github&color=yellow)](https://github.com/vstorm-co/summarization-pydantic-ai) |
128
135
  | **[pydantic-ai-backend](https://github.com/vstorm-co/pydantic-ai-backend)** | Sandboxed execution for AI agents. Docker + Daytona. | [![Stars](https://img.shields.io/github/stars/vstorm-co/pydantic-ai-backend?style=flat&logo=github&color=yellow)](https://github.com/vstorm-co/pydantic-ai-backend) |
129
136
 
130
- > **Want the runtime behind this template's AI agents?** [pydantic-deepagents](https://github.com/vstorm-co/pydantic-deepagents) powers the `deepagents` framework option — install it standalone with `curl -fsSL .../install.sh | bash`.
137
+ > **Want the runtime behind this template's AI agents?** [pydantic-deepagents](https://github.com/vstorm-co/pydantic-deepagents) powers the `pydantic_deep` framework option — install it standalone with `curl -fsSL .../install.sh | bash`.
131
138
 
132
- Browse all projects at [oss.vstorm.co](https://oss.vstorm.co)
139
+ Browse all projects at [github.com/vstorm-co](https://github.com/vstorm-co)
133
140
 
134
141
  ---
135
142
 
136
143
  ## 🚀 Quick Start
137
144
 
138
145
  > [!TIP]
139
- > **Prefer a visual configurator?** Use the [Web Configurator](https://oss.vstorm.co/projects/full-stack-ai-agent-template/configurator/) to configure your project in the browser and download a ZIP — no CLI installation needed.
146
+ > **Want to review every option first?** The [installation guide](https://vstorm-co.github.io/full-stack-ai-agent-template/installation/) covers the interactive wizard, non-interactive flags and presets; `fastapi-fullstack templates` lists every option.
140
147
 
141
148
  ### Installation
142
149
 
@@ -653,7 +660,7 @@ The chat UI streams responses over WebSocket and renders each tool call as a pur
653
660
  <tr>
654
661
  <td width="50%">
655
662
 
656
- **Logfire** — distributed tracing: FastAPI, PydanticAI, DB, Redis, Celery, HTTPX in one timeline.
663
+ **Logfire** — distributed tracing: FastAPI, Pydantic AI, DB, Redis, Celery, HTTPX in one timeline.
657
664
 
658
665
  ![Logfire](https://raw.githubusercontent.com/vstorm-co/full-stack-ai-agent-template/main/assets/logfire.png)
659
666
 
@@ -700,7 +707,7 @@ This template gives you all of that out of the box, with **20+ configurable inte
700
707
 
701
708
  ### Perfect For
702
709
 
703
- - 🤖 **AI Chatbots & Assistants** - PydanticAI or LangChain agents with streaming responses
710
+ - 🤖 **AI Chatbots & Assistants** - Pydantic AI or LangChain agents with streaming responses
704
711
  - 📊 **ML Applications** - Background task processing with Celery/Taskiq
705
712
  - 🏢 **Enterprise SaaS** - Full auth, admin panel, webhooks, and more
706
713
  - 🚀 **Startups** - Ship fast with production-ready infrastructure
@@ -720,7 +727,7 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
720
727
  ## ✨ Features
721
728
 
722
729
  <p align="center">
723
- <a href="https://ai.pydantic.dev"><img src="https://img.shields.io/badge/PydanticAI-E92063?logo=pydantic&logoColor=white" alt="PydanticAI"></a>
730
+ <a href="https://ai.pydantic.dev"><img src="https://img.shields.io/badge/Pydantic%20AI-E92063?logo=pydantic&logoColor=white" alt="Pydantic AI"></a>
724
731
  <a href="https://python.langchain.com"><img src="https://img.shields.io/badge/LangChain-1C3C3C?logo=langchain&logoColor=white" alt="LangChain"></a>
725
732
  <a href="https://langchain-ai.github.io/langgraph/"><img src="https://img.shields.io/badge/LangGraph-005A9C?logo=langchain&logoColor=white" alt="LangGraph"></a>
726
733
  <a href="https://milvus.io"><img src="https://img.shields.io/badge/Milvus-FF6B35?logoColor=white" alt="Milvus"></a>
@@ -761,8 +768,8 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
761
768
 
762
769
  ### 🤖 AI/LLM First
763
770
 
764
- - **5 AI Frameworks** - [PydanticAI](https://ai.pydantic.dev), [PydanticDeep](https://github.com/vstorm-co/pydantic-deep), [LangChain](https://python.langchain.com), [LangGraph](https://langchain-ai.github.io/langgraph/), [DeepAgents](https://github.com/vstorm-co/pydantic-deepagents)
765
- - **4 LLM Providers** - OpenAI, Anthropic, Google Gemini, OpenRouter
771
+ - **5 AI Frameworks** - [Pydantic AI](https://ai.pydantic.dev), [Pydantic Deep Agents](https://github.com/vstorm-co/pydantic-deepagents), [LangChain](https://python.langchain.com), [LangGraph](https://langchain-ai.github.io/langgraph/), [DeepAgents](https://github.com/langchain-ai/deepagents)
772
+ - **5 LLM Providers** - OpenAI, Anthropic, Google Gemini, OpenRouter, and any OpenAI-compatible gateway or server
766
773
  - **RAG** - Document ingestion, vector search, reranking (Milvus, Qdrant, ChromaDB, pgvector)
767
774
  - **WebSocket Streaming** - Real-time responses with full event access
768
775
  - **Rich Chat UI** - Specialized tool-call cards (web search, knowledge base, Python, charts, skills), live subagent feed, citation sources panel, plan/task checklist, reasoning view, and in-chat file previews
@@ -775,7 +782,7 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
775
782
  - **Multimodal Embeddings** - Provider-aware: OpenAI, Voyage (Anthropic), Gemini (multimodal text + images)
776
783
  - **Document Sources** - Local files, API upload, Google Drive, S3/MinIO
777
784
  - **Sync Sources** - Per-organization connector management UI (Google Drive, S3/MinIO) with scheduled sync, manual triggers, encrypted credentials, and per-run logs
778
- - **Observability** - Logfire for PydanticAI, LangSmith for LangChain/LangGraph/DeepAgents
785
+ - **Observability** - Logfire for Pydantic AI, LangSmith for LangChain/LangGraph/DeepAgents
779
786
 
780
787
  ### ⚡ Backend (FastAPI)
781
788
 
@@ -801,8 +808,8 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
801
808
 
802
809
  | Category | Integrations |
803
810
  |----------|-------------|
804
- | **AI Frameworks** | PydanticAI, PydanticDeep, LangChain, LangGraph, DeepAgents |
805
- | **LLM Providers** | OpenAI, Anthropic, Google Gemini, OpenRouter |
811
+ | **AI Frameworks** | Pydantic AI, Pydantic Deep Agents, LangChain, LangGraph, DeepAgents |
812
+ | **LLM Providers** | OpenAI, Anthropic, Google Gemini, OpenRouter, OpenAI-compatible endpoints |
806
813
  | **RAG / Vector Stores** | Milvus, Qdrant, ChromaDB, pgvector |
807
814
  | **RAG Sources** | Local files, API upload, Google Drive, S3/MinIO, Sync Sources (per-org UI, scheduled) |
808
815
  | **Embeddings** | OpenAI, Voyage, Gemini (multimodal), SentenceTransformers |
@@ -831,7 +838,7 @@ They also ship a ready-to-use **`.claude/` toolkit** that adapts to the options
831
838
  │ │
832
839
  │ ┌─────────────────────────────────────────────────────────────────┐ │
833
840
  │ │ AI AGENTS │ │
834
- │ │ PydanticAI · LangChain · LangGraph · DeepAgents │ │
841
+ │ │ Pydantic AI · LangChain · LangGraph · DeepAgents │ │
835
842
  │ │ ──────────────────────────────────────────────────────────── │ │
836
843
  │ │ Tools: datetime · web_search (Tavily) · search_knowledge_base │ │
837
844
  │ │ Providers: OpenAI · Anthropic · Gemini · OpenRouter │ │
@@ -941,7 +948,7 @@ See [Architecture Documentation](https://github.com/vstorm-co/full-stack-ai-agen
941
948
  Choose from **5 AI frameworks** and **4 LLM providers** when generating your project:
942
949
 
943
950
  ```bash
944
- # PydanticAI with OpenAI (default)
951
+ # Pydantic AI with OpenAI (default)
945
952
  fastapi-fullstack create my_app --ai-framework pydantic_ai
946
953
 
947
954
  # LangGraph with Anthropic
@@ -956,15 +963,17 @@ fastapi-fullstack create my_app --rag --database postgresql --task-queue celery
956
963
 
957
964
  ### Supported Combinations
958
965
 
959
- | Framework | OpenAI | Anthropic | Gemini | OpenRouter |
960
- |-----------|:------:|:---------:|:------:|:----------:|
961
- | **PydanticAI** | ✓ | ✓ | ✓ | ✓ |
962
- | **PydanticDeep** | ✓ | ✓ | ✓ | - |
963
- | **LangChain** | ✓ | ✓ | ✓ | - |
964
- | **LangGraph** | ✓ | ✓ | ✓ | - |
965
- | **DeepAgents** | ✓ | ✓ | ✓ | - |
966
+ | Framework | OpenAI | Anthropic | Gemini | OpenRouter | OpenAI-compatible |
967
+ |-----------|:------:|:---------:|:------:|:----------:|:-----------------:|
968
+ | **Pydantic AI** | ✓ | ✓ | ✓ | ✓ | ✓ |
969
+ | **Pydantic Deep Agents** | ✓ | ✓ | ✓ | ✓ | ✓ |
970
+ | **LangChain** | ✓ | ✓ | ✓ | - | - |
971
+ | **LangGraph** | ✓ | ✓ | ✓ | - | - |
972
+ | **DeepAgents** | ✓ | ✓ | ✓ | - | - |
973
+
974
+ **OpenAI-compatible** (`--llm-provider openai_compatible`) reaches any gateway or server that speaks the OpenAI API by its base URL: model routers and LLM gateways (LiteLLM, Requesty, OrcaRouter, Portkey) and self-hosted servers (vLLM, llama.cpp, LM Studio, Ollama). Set `OPENAI_COMPATIBLE_BASE_URL`, `AI_MODEL` as the endpoint names it, and `OPENAI_COMPATIBLE_API_KEY` if it checks one.
966
975
 
967
- ### PydanticAI Integration
976
+ ### Pydantic AI Integration
968
977
 
969
978
  Type-safe agents with full dependency injection:
970
979
 
@@ -1033,7 +1042,7 @@ Each framework has its own observability solution:
1033
1042
 
1034
1043
  | Framework | Observability | Dashboard |
1035
1044
  |-----------|--------------|-----------|
1036
- | **PydanticAI** | [Logfire](https://logfire.pydantic.dev) | Agent runs, tool calls, token usage |
1045
+ | **Pydantic AI** | [Logfire](https://logfire.pydantic.dev) | Agent runs, tool calls, token usage |
1037
1046
  | **LangChain** | [LangSmith](https://smith.langchain.com) | Traces, feedback, datasets |
1038
1047
 
1039
1048
  See [AI Agent Documentation](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/ai-agent.md) for more.
@@ -1088,7 +1097,7 @@ uv run my_app rag-sync-s3 --collection docs --prefix reports/ --bucket my-bucket
1088
1097
 
1089
1098
  ## 📊 Observability
1090
1099
 
1091
- ### Logfire (for PydanticAI)
1100
+ ### Logfire (for Pydantic AI)
1092
1101
 
1093
1102
  [Logfire](https://logfire.pydantic.dev) provides complete observability for your application - from AI agents to database queries. Built by the Pydantic team, it offers first-class support for the entire Python ecosystem.
1094
1103
 
@@ -1096,7 +1105,7 @@ uv run my_app rag-sync-s3 --collection docs --prefix reports/ --bucket my-bucket
1096
1105
  graph LR
1097
1106
  subgraph Your App
1098
1107
  API[FastAPI]
1099
- Agent[PydanticAI]
1108
+ Agent[Pydantic AI]
1100
1109
  DB[(Database)]
1101
1110
  Cache[(Redis)]
1102
1111
  Queue[Celery/Taskiq]
@@ -1119,7 +1128,7 @@ graph LR
1119
1128
 
1120
1129
  | Component | What You See |
1121
1130
  |-----------|-------------|
1122
- | **PydanticAI** | Agent runs, tool calls, LLM requests, token usage, streaming events |
1131
+ | **Pydantic AI** | Agent runs, tool calls, LLM requests, token usage, streaming events |
1123
1132
  | **FastAPI** | Request/response traces, latency, status codes, route performance |
1124
1133
  | **PostgreSQL** | Query execution time, slow queries, connection pool stats |
1125
1134
  | **Redis** | Cache hits/misses, command latency, key patterns |
@@ -1293,7 +1302,7 @@ generated_at = "2024-12-21T10:30:00+00:00"
1293
1302
  | **Auth** | `jwt`, `api_key`, `both`, `none` | JWT includes user management |
1294
1303
  | **OAuth** | `none`, `google` | Social login |
1295
1304
  | **AI Framework** | `pydantic_ai`, `pydantic_deep`, `langchain`, `langgraph`, `deepagents` | Choose your AI agent framework |
1296
- | **LLM Provider** | `openai`, `anthropic`, `google`, `openrouter` | OpenRouter only with PydanticAI |
1305
+ | **LLM Provider** | `openai`, `anthropic`, `google`, `openrouter`, `openai_compatible`, `all` | OpenRouter and OpenAI-compatible only with Pydantic AI / Pydantic Deep Agents |
1297
1306
  | **RAG** | `--rag` | Enable RAG with vector database |
1298
1307
  | **Vector Store** | `milvus`, `qdrant`, `chromadb`, `pgvector` | pgvector uses existing PostgreSQL |
1299
1308
  | **Background Tasks** | `none`, `celery`, `taskiq`, `arq`, `prefect` | Distributed queues / orchestration |
@@ -1317,7 +1326,7 @@ fastapi-fullstack new
1317
1326
  # ✓ Rate limiting (per user/org/IP, Redis or in-memory)
1318
1327
  # ✓ Pagination (fastapi-pagination)
1319
1328
  # ✓ Admin Panel (SQLAdmin)
1320
- # ✓ AI Agent (PydanticAI or LangChain)
1329
+ # ✓ AI Agent (Pydantic AI or LangChain)
1321
1330
  # ✓ Webhooks
1322
1331
  # ✓ Sentry
1323
1332
  # ✓ Logfire / LangSmith
@@ -1339,7 +1348,7 @@ Setting up a production AI agent stack manually means wiring together 10+ tools
1339
1348
  # 2. Configure SQLAlchemy + Alembic migrations
1340
1349
  # 3. Implement JWT auth with refresh tokens
1341
1350
  # 4. Build WebSocket streaming for AI responses
1342
- # 5. Integrate PydanticAI/LangChain with tool calling
1351
+ # 5. Integrate Pydantic AI/LangChain with tool calling
1343
1352
  # 6. Set up RAG pipeline (parsing, chunking, embedding, vector store)
1344
1353
  # 7. Configure Celery + Redis for background tasks
1345
1354
  # 8. Build Next.js frontend with auth and chat UI
@@ -1409,7 +1418,7 @@ The generated project is plain code — no lock-in or runtime dependency on the
1409
1418
  <details>
1410
1419
  <summary><b>Can I use a different LLM provider than the one I selected?</b></summary>
1411
1420
 
1412
- Yes. The LLM provider is configured via environment variables (`AI_MODEL`, `OPENAI_API_KEY`, etc.). You can switch providers by changing the `.env` file and the model name — no code changes needed for PydanticAI (which supports all providers natively).
1421
+ Yes. The LLM provider is configured via environment variables (`AI_MODEL`, `OPENAI_API_KEY`, etc.). You can switch providers by changing the `.env` file and the model name — no code changes needed for Pydantic AI (which supports all providers natively).
1413
1422
 
1414
1423
  </details>
1415
1424
 
@@ -1421,7 +1430,7 @@ Yes. The LLM provider is configured via environment variables (`AI_MODEL`, `OPEN
1421
1430
  |----------|-------------|
1422
1431
  | [Architecture](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/architecture.md) | Repository + Service pattern, layered design |
1423
1432
  | [Frontend](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/frontend.md) | Next.js setup, auth, state management |
1424
- | [AI Agent](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/ai-agent.md) | PydanticAI, tools, WebSocket streaming |
1433
+ | [AI Agent](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/ai-agent.md) | Pydantic AI, tools, WebSocket streaming |
1425
1434
  | [Observability](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/observability.md) | Logfire integration, tracing, metrics |
1426
1435
  | [Deployment](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/deployment.md) | Docker, Kubernetes, production setup |
1427
1436
  | [Development](https://github.com/vstorm-co/full-stack-ai-agent-template/blob/main/docs/development.md) | Local setup, testing, debugging |
@@ -1431,7 +1440,7 @@ Yes. The LLM provider is configured via environment variables (`AI_MODEL`, `OPEN
1431
1440
 
1432
1441
  ## Star History
1433
1442
 
1434
- [![Star History Chart](https://api.star-history.com/svg?repos=vstorm-co/full-stack-fastapi-nextjs-llm-template&type=date&legend=top-left)](https://www.star-history.com/#vstorm-co/full-stack-fastapi-nextjs-llm-template&type=date&legend=top-left)
1443
+ [![Star History Chart](https://api.star-history.com/svg?repos=vstorm-co/full-stack-ai-agent-template&type=date&legend=top-left)](https://www.star-history.com/#vstorm-co/full-stack-ai-agent-template&type=date&legend=top-left)
1435
1444
 
1436
1445
  ---
1437
1446