langgraph-agent-toolkit 0.4.0__tar.gz → 0.4.2__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.
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/workflows/release.yml +1 -1
- langgraph_agent_toolkit-0.4.2/.github/workflows/sphinx.yml +138 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/workflows/test.yml +3 -2
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.gitignore +15 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/CHANGELOG.md +30 -0
- langgraph_agent_toolkit-0.4.2/PKG-INFO +318 -0
- langgraph_agent_toolkit-0.4.2/README.md +216 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/docker/app/Dockerfile +3 -3
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/docker/service/Dockerfile +2 -2
- langgraph_agent_toolkit-0.4.2/docs/.gitignore +13 -0
- langgraph_agent_toolkit-0.4.2/docs/Makefile +20 -0
- langgraph_agent_toolkit-0.4.2/docs/_static/custom.css +43 -0
- langgraph_agent_toolkit-0.4.2/docs/_templates/class.rst +34 -0
- langgraph_agent_toolkit-0.4.2/docs/_templates/layout.html +28 -0
- langgraph_agent_toolkit-0.4.2/docs/_templates/module.rst +68 -0
- langgraph_agent_toolkit-0.4.2/docs/conf.py +203 -0
- langgraph_agent_toolkit-0.4.2/docs/contributing.rst +16 -0
- langgraph_agent_toolkit-0.4.2/docs/environment_setup.rst +169 -0
- langgraph_agent_toolkit-0.4.2/docs/index.rst +105 -0
- langgraph_agent_toolkit-0.4.2/docs/installation.rst +52 -0
- langgraph_agent_toolkit-0.4.2/docs/make.bat +35 -0
- langgraph_agent_toolkit-0.4.2/docs/media/logo.svg +77 -0
- langgraph_agent_toolkit-0.4.2/docs/usage.rst +154 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/agent_executor.py +7 -8
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/client/client.py +244 -8
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/memory/postgres.py +1 -3
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/schema/__init__.py +2 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/streamlit_app.py +15 -12
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/pyproject.toml +4 -2
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/app/test_streamlit_app.py +27 -21
- langgraph_agent_toolkit-0.4.2/tests/client/test_client.py +688 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/core/test_llm.py +0 -2
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/core/test_observability.py +1 -2
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/core/test_prompts.py +0 -1
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/uv.lock +2123 -1926
- langgraph_agent_toolkit-0.4.0/PKG-INFO +0 -581
- langgraph_agent_toolkit-0.4.0/README.md +0 -480
- langgraph_agent_toolkit-0.4.0/tests/client/test_client.py +0 -332
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.coveragerc +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.dockerignore +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.env.example +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/RELEASE_TEMPLATE/release-template.md +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/codecov.yml +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/dependabot.yml +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/scripts/tag_from_pyproject.sh +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.github/workflows/deploy.yml +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.pre-commit-config.yaml +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/.project-root +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/CONTRIBUTING.md +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/LICENSE +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/Makefile +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/configs/clickhouse/.clickhouse.env.example +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/configs/langfuse/.langfuse.env.example +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/configs/litellm/.litellm.env.example +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/configs/litellm/config.example.yaml +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/configs/minio/.minio.env.example +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/configs/postgres/.postgres.env.example +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/configs/redis/.redis.env.example +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/docker-compose.yaml +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/docs/media/agent_architecture.excalidraw +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/docs/media/agent_architecture.png +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/docs/media/agent_diagram.png +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph.json +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/task.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/bg_task_agent/utils.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/chatbot/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/chatbot/agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/command_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/command_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/interrupt_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/knowledge_base_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/react/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/react/agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/react_so/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/react_so/agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/blueprints/supervisor_agent/agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/components/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/components/creators/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/components/creators/create_react_agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/components/tools.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/agents/components/utils.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/client/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/memory/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/memory/base.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/memory/factory.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/memory/sqlite.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/memory/types.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/models/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/models/chat_openai.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/models/factory.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/models/fake.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/observability/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/observability/base.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/observability/empty.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/observability/factory.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/observability/langfuse.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/observability/langsmith.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/observability/types.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/prompts/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/prompts/chat_prompt_template.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/core/settings.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/helper/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/helper/constants.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/helper/logging.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/helper/types.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/helper/utils.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/run_agent.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/run_client.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/run_service.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/schema/models.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/schema/schema.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/schema/task_data.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/service/__init__.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/service/exception_handlers.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/service/factory.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/service/handler.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/service/middleware.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/service/routes.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/service/types.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/langgraph_agent_toolkit/service/utils.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/postgres-init/create_databases.sql +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/python/01-invoke-proxy.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/python/02-test-local-pm.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/python/03-test-langfuse-pm.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/python/04-test-langsmith-pm.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/python/05-test-prompt-types.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/python/06-test-custom-chat-prompt-template.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/python/07-test-get-chat-history.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/python/08-test-update-chat-history.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/scripts/python/09-test-clear-chat-history.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/agents/test_agent_executor.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/agents/test_service_streaming.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/app/conftest.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/client/conftest.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/conftest.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/core/test_memory.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/core/test_settings.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/integration/test_docker_e2e.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/service/conftest.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/service/test_auth.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/service/test_factory.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/service/test_service.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/service/test_service_e2e.py +0 -0
- {langgraph_agent_toolkit-0.4.0 → langgraph_agent_toolkit-0.4.2}/tests/service/test_utils.py +0 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
name: Build and Deploy Sphinx Docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
paths:
|
|
8
|
+
- "docs/**"
|
|
9
|
+
- ".github/workflows/sphinx.yml"
|
|
10
|
+
- "langgraph_agent_toolkit/**"
|
|
11
|
+
- "pyproject.toml"
|
|
12
|
+
workflow_dispatch: # Allow manual triggering
|
|
13
|
+
|
|
14
|
+
# Add permissions to allow GitHub Actions to push to gh-pages
|
|
15
|
+
permissions:
|
|
16
|
+
contents: write
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
build:
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v4
|
|
24
|
+
with:
|
|
25
|
+
fetch-depth: 0 # Fetch all history for proper versioning
|
|
26
|
+
|
|
27
|
+
- name: Create pip cache directory
|
|
28
|
+
run: mkdir -p /home/runner/.cache/pip
|
|
29
|
+
|
|
30
|
+
- name: Set up Python
|
|
31
|
+
uses: actions/setup-python@v5
|
|
32
|
+
with:
|
|
33
|
+
python-version: "3.11"
|
|
34
|
+
# Only enable caching if the directory exists
|
|
35
|
+
cache: "pip"
|
|
36
|
+
cache-dependency-path: "pyproject.toml"
|
|
37
|
+
|
|
38
|
+
- name: Install uv
|
|
39
|
+
uses: astral-sh/setup-uv@v6
|
|
40
|
+
with:
|
|
41
|
+
version: "0.7.2"
|
|
42
|
+
|
|
43
|
+
- name: Install dependencies with uv
|
|
44
|
+
run: |
|
|
45
|
+
# Install the package itself with all dependencies (instead of just installing the dev dependencies)
|
|
46
|
+
uv pip install -e ".[all-llms,all-backends,all-observability]"
|
|
47
|
+
uv pip install sphinx-rtd-theme sphinx-pyproject rootutils mock
|
|
48
|
+
env:
|
|
49
|
+
UV_SYSTEM_PYTHON: 1
|
|
50
|
+
|
|
51
|
+
- name: Create static directory if it doesn't exist
|
|
52
|
+
run: |
|
|
53
|
+
mkdir -p docs/_static
|
|
54
|
+
|
|
55
|
+
- name: Generate API docs
|
|
56
|
+
run: |
|
|
57
|
+
# Enhanced API documentation generation with better code documentation
|
|
58
|
+
sphinx-apidoc -f -e -o docs/generated langgraph_agent_toolkit \
|
|
59
|
+
--separate \
|
|
60
|
+
--no-toc \
|
|
61
|
+
--no-headings \
|
|
62
|
+
--module-first \
|
|
63
|
+
--doc-project="API Reference"
|
|
64
|
+
env:
|
|
65
|
+
# Environment variables to enable fake model and bypass authentication
|
|
66
|
+
USE_FAKE_MODEL: "true"
|
|
67
|
+
OPENAI_API_KEY: "sk-fake-key-for-docs-generation"
|
|
68
|
+
OPENAI_MODEL_NAME: "gpt-4-fake-model"
|
|
69
|
+
OPENAI_API_BASE_URL: "https://fake-api.openai.com/v1"
|
|
70
|
+
OPENAI_API_VERSION: "2023-05-15"
|
|
71
|
+
LANGFUSE_SECRET_KEY: "lf-sk-fake-for-docs"
|
|
72
|
+
LANGFUSE_PUBLIC_KEY: "lf-pk-fake-for-docs"
|
|
73
|
+
LANGFUSE_HOST: "http://localhost:3000"
|
|
74
|
+
MEMORY_BACKEND: "sqlite"
|
|
75
|
+
SQLITE_DB_PATH: ":memory:"
|
|
76
|
+
ANTHROPIC_API_KEY: "sk-ant-fake-key"
|
|
77
|
+
ANTHROPIC_MODEL_NAME: "claude-3-fake"
|
|
78
|
+
GOOGLE_VERTEXAI_API_KEY: "fake-vertexai-key"
|
|
79
|
+
GOOGLE_VERTEXAI_MODEL_NAME: "gemini-fake"
|
|
80
|
+
GOOGLE_GENAI_API_KEY: "fake-genai-key"
|
|
81
|
+
GOOGLE_GENAI_MODEL_NAME: "gemini-pro-fake"
|
|
82
|
+
OBSERVABILITY_BACKEND: "empty"
|
|
83
|
+
|
|
84
|
+
- name: Create autosummary template files
|
|
85
|
+
run: |
|
|
86
|
+
mkdir -p docs/_templates/autosummary
|
|
87
|
+
echo '{{ fullname | escape | underline }}
|
|
88
|
+
|
|
89
|
+
.. automodule:: {{ fullname }}
|
|
90
|
+
:members:
|
|
91
|
+
:undoc-members:
|
|
92
|
+
:show-inheritance:
|
|
93
|
+
:special-members: __init__' > docs/_templates/autosummary/module.rst
|
|
94
|
+
|
|
95
|
+
echo '{{ fullname | escape | underline }}
|
|
96
|
+
|
|
97
|
+
.. currentmodule:: {{ module }}
|
|
98
|
+
|
|
99
|
+
.. autoclass:: {{ objname }}
|
|
100
|
+
:members:
|
|
101
|
+
:show-inheritance:
|
|
102
|
+
:inherited-members:
|
|
103
|
+
:special-members: __init__
|
|
104
|
+
:undoc-members:' > docs/_templates/autosummary/class.rst
|
|
105
|
+
|
|
106
|
+
- name: Build documentation
|
|
107
|
+
run: |
|
|
108
|
+
cd docs && sphinx-build -b html -a -E -v . _build/html
|
|
109
|
+
# The -v flag provides verbose output to see any import errors
|
|
110
|
+
env:
|
|
111
|
+
# Environment variables to enable fake model and bypass authentication
|
|
112
|
+
USE_FAKE_MODEL: "true"
|
|
113
|
+
OPENAI_API_KEY: "sk-fake-key-for-docs-generation"
|
|
114
|
+
OPENAI_MODEL_NAME: "gpt-4-fake-model"
|
|
115
|
+
OPENAI_API_BASE_URL: "https://fake-api.openai.com/v1"
|
|
116
|
+
OPENAI_API_VERSION: "2023-05-15"
|
|
117
|
+
LANGFUSE_SECRET_KEY: "lf-sk-fake-for-docs"
|
|
118
|
+
LANGFUSE_PUBLIC_KEY: "lf-pk-fake-for-docs"
|
|
119
|
+
LANGFUSE_HOST: "http://localhost:3000"
|
|
120
|
+
MEMORY_BACKEND: "sqlite"
|
|
121
|
+
SQLITE_DB_PATH: ":memory:"
|
|
122
|
+
ANTHROPIC_API_KEY: "sk-ant-fake-key"
|
|
123
|
+
ANTHROPIC_MODEL_NAME: "claude-3-fake"
|
|
124
|
+
GOOGLE_VERTEXAI_API_KEY: "fake-vertexai-key"
|
|
125
|
+
GOOGLE_VERTEXAI_MODEL_NAME: "gemini-fake"
|
|
126
|
+
GOOGLE_GENAI_API_KEY: "fake-genai-key"
|
|
127
|
+
GOOGLE_GENAI_MODEL_NAME: "gemini-pro-fake"
|
|
128
|
+
# Disable all observability
|
|
129
|
+
OBSERVABILITY_BACKEND: "none"
|
|
130
|
+
|
|
131
|
+
- name: Deploy to GitHub Pages
|
|
132
|
+
uses: peaceiris/actions-gh-pages@v3
|
|
133
|
+
with:
|
|
134
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
135
|
+
publish_dir: docs/_build/html
|
|
136
|
+
force_orphan: true # Create a single-branch gh-pages
|
|
137
|
+
full_commit_message: "Docs: Update documentation site"
|
|
138
|
+
enable_jekyll: false
|
|
@@ -29,6 +29,7 @@ jobs:
|
|
|
29
29
|
|
|
30
30
|
steps:
|
|
31
31
|
- uses: actions/checkout@v4
|
|
32
|
+
|
|
32
33
|
- name: Set up Python ${{ matrix.python-version }}
|
|
33
34
|
uses: actions/setup-python@v5
|
|
34
35
|
with:
|
|
@@ -36,7 +37,7 @@ jobs:
|
|
|
36
37
|
- name: Install uv
|
|
37
38
|
uses: astral-sh/setup-uv@v6
|
|
38
39
|
with:
|
|
39
|
-
version: "0.
|
|
40
|
+
version: "0.7.2"
|
|
40
41
|
- name: Install dependencies with uv
|
|
41
42
|
run: |
|
|
42
43
|
uv sync --all-extras --frozen
|
|
@@ -137,7 +138,7 @@ jobs:
|
|
|
137
138
|
- name: Install uv
|
|
138
139
|
uses: astral-sh/setup-uv@v6
|
|
139
140
|
with:
|
|
140
|
-
version: "0.
|
|
141
|
+
version: "0.7.2"
|
|
141
142
|
- name: Install ONLY CLIENT dependencies with uv
|
|
142
143
|
run: |
|
|
143
144
|
uv sync --frozen --only-group client --only-group dev
|
|
@@ -81,6 +81,7 @@ instance/
|
|
|
81
81
|
docs/_build/
|
|
82
82
|
docs/build/
|
|
83
83
|
docs/source/generated
|
|
84
|
+
docs/generated/
|
|
84
85
|
|
|
85
86
|
# PyBuilder
|
|
86
87
|
.pybuilder/
|
|
@@ -177,6 +178,20 @@ cython_debug/
|
|
|
177
178
|
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
178
179
|
.idea
|
|
179
180
|
|
|
181
|
+
# documentation
|
|
182
|
+
# Sphinx build directory
|
|
183
|
+
docs/_build/
|
|
184
|
+
|
|
185
|
+
# Sphinx cache and temporary files
|
|
186
|
+
docs/.doctrees/
|
|
187
|
+
docs/.buildinfo
|
|
188
|
+
|
|
189
|
+
# reStructuredText temporary files
|
|
190
|
+
docs/*.rst~
|
|
191
|
+
|
|
192
|
+
# Sphinx-generated files
|
|
193
|
+
docs/generated/
|
|
194
|
+
|
|
180
195
|
# configs
|
|
181
196
|
configs/**/*.yaml
|
|
182
197
|
!configs/**/*.example.yaml
|
|
@@ -6,6 +6,36 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
6
6
|
and this project adheres to
|
|
7
7
|
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
|
+
## [0.4.2]
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Streaming bug
|
|
14
|
+
- Steamlit welcom message display
|
|
15
|
+
- Client handling error
|
|
16
|
+
- Package dependencies
|
|
17
|
+
|
|
18
|
+
## [0.4.1]
|
|
19
|
+
|
|
20
|
+
### Updated
|
|
21
|
+
|
|
22
|
+
- Client API to fully align with server endpoints
|
|
23
|
+
- Extended invoke, stream methods with additional parameters
|
|
24
|
+
|
|
25
|
+
### Added
|
|
26
|
+
|
|
27
|
+
- Message management methods in the client (add_messages, aadd_messages)
|
|
28
|
+
- Chat history retrieval methods (get_history, aget_history)
|
|
29
|
+
- History clearing methods (clear_history, aclear_history)
|
|
30
|
+
- Synchronous feedback creation method (create_feedback)
|
|
31
|
+
- Support for model_config_key parameter
|
|
32
|
+
- Support for recursion_limit parameter
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- Client tests to properly mock API endpoints
|
|
37
|
+
- Parameter handling in stream and invoke methods
|
|
38
|
+
|
|
9
39
|
## [0.4.0]
|
|
10
40
|
|
|
11
41
|
### Updated
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: langgraph-agent-toolkit
|
|
3
|
+
Version: 0.4.2
|
|
4
|
+
Summary: Full toolkit for running an AI agent service built with LangGraph, FastAPI and Streamlit
|
|
5
|
+
Project-URL: documentation, https://kryvokhyzha.github.io/langgraph-agent-toolkit
|
|
6
|
+
Project-URL: repository, https://github.com/kryvokhyzha/langgraph-agent-toolkit
|
|
7
|
+
Project-URL: PyPI, https://pypi.org/project/langgraph-agent-toolkit
|
|
8
|
+
Author-email: Roman Kryvokhyzha <kriwohizha@gmail.com>, Joshua Carroll <carroll.joshk@gmail.com>
|
|
9
|
+
License-Expression: MIT
|
|
10
|
+
License-File: LICENSE
|
|
11
|
+
Keywords: agents,blueprint,fastapi,langgraph,litellm,streamlit
|
|
12
|
+
Classifier: Development Status :: 4 - Beta
|
|
13
|
+
Classifier: Framework :: FastAPI
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering
|
|
20
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
21
|
+
Classifier: Topic :: Software Development
|
|
22
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
|
+
Requires-Python: <3.14,>=3.11
|
|
24
|
+
Requires-Dist: duckduckgo-search>=7.3.0
|
|
25
|
+
Requires-Dist: fastapi~=0.115.5
|
|
26
|
+
Requires-Dist: fire~=0.7.0
|
|
27
|
+
Requires-Dist: grpcio>=1.68.0
|
|
28
|
+
Requires-Dist: httpx~=0.28.1
|
|
29
|
+
Requires-Dist: jinja2~=3.1.6
|
|
30
|
+
Requires-Dist: jiter~=0.9.0
|
|
31
|
+
Requires-Dist: joblib~=1.4.2
|
|
32
|
+
Requires-Dist: langchain-community~=0.3.21
|
|
33
|
+
Requires-Dist: langchain-core~=0.3.52
|
|
34
|
+
Requires-Dist: langgraph-checkpoint-postgres~=2.0.19
|
|
35
|
+
Requires-Dist: langgraph-checkpoint-sqlite~=2.0.6
|
|
36
|
+
Requires-Dist: langgraph-cli[inmem]~=0.2.3
|
|
37
|
+
Requires-Dist: langgraph-supervisor~=0.0.16
|
|
38
|
+
Requires-Dist: langgraph~=0.3.30
|
|
39
|
+
Requires-Dist: loguru~=0.7.3
|
|
40
|
+
Requires-Dist: multidict>6.3.2
|
|
41
|
+
Requires-Dist: numpy~=1.26.4; python_version <= '3.12'
|
|
42
|
+
Requires-Dist: numpy~=2.2.3; python_version >= '3.13'
|
|
43
|
+
Requires-Dist: pandas~=2.2.3
|
|
44
|
+
Requires-Dist: psycopg[binary,pool]~=3.2.4
|
|
45
|
+
Requires-Dist: pyarrow>=19.0.1
|
|
46
|
+
Requires-Dist: pydantic-settings~=2.9.1
|
|
47
|
+
Requires-Dist: pydantic~=2.11.1
|
|
48
|
+
Requires-Dist: pyowm~=3.3.0
|
|
49
|
+
Requires-Dist: python-dotenv~=1.1.0
|
|
50
|
+
Requires-Dist: rootutils>=1.0.7
|
|
51
|
+
Requires-Dist: setuptools>=75.6.0
|
|
52
|
+
Requires-Dist: streamlit~=1.44.1
|
|
53
|
+
Requires-Dist: uvicorn~=0.34.0
|
|
54
|
+
Requires-Dist: watchdog~=6.0.0
|
|
55
|
+
Provides-Extra: all-backends
|
|
56
|
+
Requires-Dist: azure-functions~=1.23.0; extra == 'all-backends'
|
|
57
|
+
Requires-Dist: gunicorn~=23.0.0; extra == 'all-backends'
|
|
58
|
+
Requires-Dist: mangum~=0.19.0; extra == 'all-backends'
|
|
59
|
+
Requires-Dist: uvicorn~=0.34.2; extra == 'all-backends'
|
|
60
|
+
Provides-Extra: all-llms
|
|
61
|
+
Requires-Dist: langchain-anthropic~=0.3.12; extra == 'all-llms'
|
|
62
|
+
Requires-Dist: langchain-aws~=0.2.22; extra == 'all-llms'
|
|
63
|
+
Requires-Dist: langchain-deepseek~=0.1.3; extra == 'all-llms'
|
|
64
|
+
Requires-Dist: langchain-google-genai~=2.1.4; extra == 'all-llms'
|
|
65
|
+
Requires-Dist: langchain-google-vertexai~=2.0.21; extra == 'all-llms'
|
|
66
|
+
Requires-Dist: langchain-groq~=0.3.2; extra == 'all-llms'
|
|
67
|
+
Requires-Dist: langchain-ollama~=0.3.2; extra == 'all-llms'
|
|
68
|
+
Requires-Dist: langchain-openai~=0.3.12; extra == 'all-llms'
|
|
69
|
+
Provides-Extra: all-observability
|
|
70
|
+
Requires-Dist: langfuse~=2.60.3; extra == 'all-observability'
|
|
71
|
+
Requires-Dist: langsmith~=0.3.31; extra == 'all-observability'
|
|
72
|
+
Provides-Extra: anthropic
|
|
73
|
+
Requires-Dist: langchain-anthropic~=0.3.12; extra == 'anthropic'
|
|
74
|
+
Provides-Extra: aws
|
|
75
|
+
Requires-Dist: langchain-aws~=0.2.22; extra == 'aws'
|
|
76
|
+
Provides-Extra: aws-backend
|
|
77
|
+
Requires-Dist: mangum~=0.19.0; extra == 'aws-backend'
|
|
78
|
+
Provides-Extra: azure-backend
|
|
79
|
+
Requires-Dist: azure-functions~=1.23.0; extra == 'azure-backend'
|
|
80
|
+
Provides-Extra: deepseek
|
|
81
|
+
Requires-Dist: langchain-deepseek~=0.1.3; extra == 'deepseek'
|
|
82
|
+
Provides-Extra: google-genai
|
|
83
|
+
Requires-Dist: langchain-google-genai~=2.1.4; extra == 'google-genai'
|
|
84
|
+
Provides-Extra: google-vertexai
|
|
85
|
+
Requires-Dist: langchain-google-vertexai~=2.0.21; extra == 'google-vertexai'
|
|
86
|
+
Provides-Extra: groq
|
|
87
|
+
Requires-Dist: langchain-groq~=0.3.2; extra == 'groq'
|
|
88
|
+
Provides-Extra: gunicorn-backend
|
|
89
|
+
Requires-Dist: gunicorn~=23.0.0; extra == 'gunicorn-backend'
|
|
90
|
+
Requires-Dist: uvicorn[standard]~=0.34.2; extra == 'gunicorn-backend'
|
|
91
|
+
Provides-Extra: langfuse
|
|
92
|
+
Requires-Dist: langfuse~=2.60.3; extra == 'langfuse'
|
|
93
|
+
Provides-Extra: langsmith
|
|
94
|
+
Requires-Dist: langsmith~=0.3.31; extra == 'langsmith'
|
|
95
|
+
Provides-Extra: ollama
|
|
96
|
+
Requires-Dist: langchain-ollama~=0.3.2; extra == 'ollama'
|
|
97
|
+
Provides-Extra: openai
|
|
98
|
+
Requires-Dist: langchain-openai~=0.3.12; extra == 'openai'
|
|
99
|
+
Provides-Extra: uvicorn-backend
|
|
100
|
+
Requires-Dist: uvicorn~=0.34.2; extra == 'uvicorn-backend'
|
|
101
|
+
Description-Content-Type: text/markdown
|
|
102
|
+
|
|
103
|
+
<div align="center">
|
|
104
|
+
<img alt="LangGraph Agent Toolkit Logo" src="https://github.com/kryvokhyzha/langgraph-agent-toolkit/blob/main/docs/media/logo.svg?raw=true" width="300">
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
# 🧰 LangGraph Agent Toolkit
|
|
110
|
+
|
|
111
|
+
| | |
|
|
112
|
+
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
113
|
+
| CI/Testing | [](https://github.com/kryvokhyzha/langgraph-agent-toolkit/actions/workflows/test.yml) [](https://github.com/kryvokhyzha/langgraph-agent-toolkit/actions/workflows/sphinx.yml) [](https://codecov.io/gh/kryvokhyzha/langgraph-agent-toolkit) |
|
|
114
|
+
| Package | [](https://pypi.org/project/langgraph-agent-toolkit/) [](https://pypi.org/project/langgraph-agent-toolkit/) [](https://github.com/kryvokhyzha/langgraph-agent-toolkit/blob/main/pyproject.toml) |
|
|
115
|
+
| Meta | [](https://github.com/astral-sh/ruff) [](https://github.com/kryvokhyzha/langgraph-agent-toolkit/blob/main/LICENSE) |
|
|
116
|
+
|
|
117
|
+
<!-- [](https://langgraph-agent-toolkit.streamlit.app/) -->
|
|
118
|
+
|
|
119
|
+
## 📋 Introduction
|
|
120
|
+
|
|
121
|
+
A comprehensive toolkit for building, deploying, and managing AI agents using
|
|
122
|
+
LangGraph, FastAPI, and Streamlit. It provides a production-ready framework for
|
|
123
|
+
creating conversational AI agents with features like multi-provider LLM support,
|
|
124
|
+
streaming responses, observability, memory and prompt management.
|
|
125
|
+
|
|
126
|
+
### What is langGraph-agent-toolkit?
|
|
127
|
+
|
|
128
|
+
The langgraph-agent-toolkit is a full-featured framework for developing and
|
|
129
|
+
deploying AI agent services. Built on the foundation of:
|
|
130
|
+
|
|
131
|
+
- **[LangGraph](https://langchain-ai.github.io/langgraph/)** for agent creation
|
|
132
|
+
with advanced flows and human-in-the-loop capabilities
|
|
133
|
+
- **[FastAPI](https://fastapi.tiangolo.com/)** for robust, high-performance API
|
|
134
|
+
services with streaming support
|
|
135
|
+
- **[Streamlit](https://streamlit.io/)** for intuitive user interfaces
|
|
136
|
+
|
|
137
|
+
Key components include:
|
|
138
|
+
|
|
139
|
+
- Data structures and settings built with
|
|
140
|
+
**[Pydantic](https://github.com/pydantic/pydantic)**
|
|
141
|
+
- **[LiteLLM](https://github.com/BerriAI/litellm)** proxy for universal
|
|
142
|
+
multi-provider LLM support
|
|
143
|
+
- Comprehensive memory management and persistence using PostgreSQL/SQLite
|
|
144
|
+
- Advanced observability tooling via Langfuse and Langsmith
|
|
145
|
+
- Modular architecture allowing customization while maintaining a consistent
|
|
146
|
+
application structure
|
|
147
|
+
|
|
148
|
+
Whether you're building a simple chatbot or complex multi-agent system, this
|
|
149
|
+
toolkit provides the infrastructure to develop, test, and deploy your
|
|
150
|
+
LangGraph-based agents with confidence.
|
|
151
|
+
|
|
152
|
+
## 📑 Contents
|
|
153
|
+
|
|
154
|
+
- [Introduction](#-introduction)
|
|
155
|
+
- [Quickstart](#-quickstart)
|
|
156
|
+
- [Installation Options](#-installation-options)
|
|
157
|
+
- [Architecture](#architecture)
|
|
158
|
+
- [Key Features](#-key-features)
|
|
159
|
+
- [Environment Setup](#environment-setup)
|
|
160
|
+
- [Project Structure](#-project-structure)
|
|
161
|
+
- [Setup and Usage](#setup-and-usage)
|
|
162
|
+
- [Documentation](#-documentation)
|
|
163
|
+
- [Useful Resources](#-useful-resources)
|
|
164
|
+
- [Development and Contributing](#-development-and-contributing)
|
|
165
|
+
- [License](#-license)
|
|
166
|
+
|
|
167
|
+
## 🚀 Quickstart
|
|
168
|
+
|
|
169
|
+
1. Create a `.env` file based on [`.env.example`](./.env.example)
|
|
170
|
+
|
|
171
|
+
2. **Option 1: Run with Python from source**
|
|
172
|
+
|
|
173
|
+
```sh
|
|
174
|
+
# Install dependencies
|
|
175
|
+
pip install uv
|
|
176
|
+
uv sync --frozen
|
|
177
|
+
source .venv/bin/activate
|
|
178
|
+
|
|
179
|
+
# Start the service
|
|
180
|
+
python langgraph_agent_toolkit/run_service.py
|
|
181
|
+
|
|
182
|
+
# In another terminal
|
|
183
|
+
source .venv/bin/activate
|
|
184
|
+
streamlit run langgraph_agent_toolkit/streamlit_app.py
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
3. **Option 2: Run with Python from PyPi repository**
|
|
188
|
+
|
|
189
|
+
```sh
|
|
190
|
+
pip install langgraph-agent-toolkit
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
ℹ️ For more details on installation options, see the
|
|
194
|
+
[Installation Documentation](docs/installation.rst).
|
|
195
|
+
|
|
196
|
+
4. **Option 3: Run with Docker**
|
|
197
|
+
|
|
198
|
+
```sh
|
|
199
|
+
docker compose watch
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
<a name="installation-options"></a>
|
|
203
|
+
|
|
204
|
+
## 📦 Installation Options
|
|
205
|
+
|
|
206
|
+
The toolkit supports multiple installation options using "extras" to include
|
|
207
|
+
just the dependencies you need.
|
|
208
|
+
|
|
209
|
+
For detailed installation instructions and available extras, see the
|
|
210
|
+
[Installation Documentation](docs/installation.rst).
|
|
211
|
+
|
|
212
|
+
<a name="architecture"></a>
|
|
213
|
+
|
|
214
|
+
## 🏗️ Architecture
|
|
215
|
+
|
|
216
|
+
<img src="https://github.com/kryvokhyzha/langgraph-agent-toolkit/blob/main/docs/media/agent_architecture.png?raw=true" width="800">
|
|
217
|
+
|
|
218
|
+
<a name="key-features"></a>
|
|
219
|
+
|
|
220
|
+
## ✨ Key Features
|
|
221
|
+
|
|
222
|
+
1. **LangGraph Integration**
|
|
223
|
+
|
|
224
|
+
- Latest LangGraph v0.3 features
|
|
225
|
+
- Human-in-the-loop with `interrupt()`
|
|
226
|
+
- Flow control with `Command` and `langgraph-supervisor`
|
|
227
|
+
|
|
228
|
+
2. **API Service**
|
|
229
|
+
|
|
230
|
+
- FastAPI with streaming and non-streaming endpoints
|
|
231
|
+
- Support for both token-based and message-based streaming
|
|
232
|
+
- Multiple agent support with URL path routing
|
|
233
|
+
- Available agents and models listed at `/info` endpoint
|
|
234
|
+
- Supports different runners (unicorn, gunicorn, mangum, azure functions)
|
|
235
|
+
|
|
236
|
+
3. **Developer Experience**
|
|
237
|
+
|
|
238
|
+
- Asynchronous design with async/await
|
|
239
|
+
- Docker configuration with live reloading
|
|
240
|
+
- Comprehensive testing suite
|
|
241
|
+
|
|
242
|
+
4. **Enterprise Components**
|
|
243
|
+
- Configurable PostgreSQL/SQLite connection pools
|
|
244
|
+
- Observability via Langfuse and Langsmith
|
|
245
|
+
- User feedback system
|
|
246
|
+
- Prompt management system
|
|
247
|
+
- LiteLLM proxy integration
|
|
248
|
+
|
|
249
|
+
For more details on features, see the [Usage Documentation](docs/usage.rst).
|
|
250
|
+
|
|
251
|
+
<a name="environment-setup"></a>
|
|
252
|
+
|
|
253
|
+
## ⚙️ Environment Setup
|
|
254
|
+
|
|
255
|
+
For detailed environment setup instructions, including creating your `.env` file
|
|
256
|
+
and configuring LiteLLM, see the
|
|
257
|
+
[Environment Setup Documentation](docs/environment_setup.rst).
|
|
258
|
+
|
|
259
|
+
<a name="project-structure"></a>
|
|
260
|
+
|
|
261
|
+
## 📂 Project Structure
|
|
262
|
+
|
|
263
|
+
The repository contains:
|
|
264
|
+
|
|
265
|
+
- `langgraph_agent_toolkit/agents/blueprints/`: Agent definitions
|
|
266
|
+
- `langgraph_agent_toolkit/agents/agent_executor.py`: Agent execution control
|
|
267
|
+
- `langgraph_agent_toolkit/schema/`: Protocol schema definitions
|
|
268
|
+
- `langgraph_agent_toolkit/core/`: Core modules (LLM, memory, settings)
|
|
269
|
+
- `langgraph_agent_toolkit/service/service.py`: FastAPI service
|
|
270
|
+
- `langgraph_agent_toolkit/client/client.py`: Service client
|
|
271
|
+
- `langgraph_agent_toolkit/streamlit_app.py`: Chat interface
|
|
272
|
+
- `docker/`: Docker configurations
|
|
273
|
+
- `tests/`: Test suite
|
|
274
|
+
|
|
275
|
+
<a name="setup-and-usage"></a>
|
|
276
|
+
|
|
277
|
+
## 🛠️ Setup and Usage
|
|
278
|
+
|
|
279
|
+
For detailed setup and usage instructions, including building your own agent,
|
|
280
|
+
Docker setup, using the AgentClient, and local development, see the
|
|
281
|
+
[Usage Documentation](docs/usage.rst).
|
|
282
|
+
|
|
283
|
+
<a name="documentation"></a>
|
|
284
|
+
|
|
285
|
+
## 📚 Documentation
|
|
286
|
+
|
|
287
|
+
Full documentation is available in the `docs/` directory and includes:
|
|
288
|
+
|
|
289
|
+
- [Installation Guide](docs/installation.rst)
|
|
290
|
+
- [Environment Setup](docs/environment_setup.rst)
|
|
291
|
+
- [Usage Guide](docs/usage.rst)
|
|
292
|
+
|
|
293
|
+
<a name="useful-resources"></a>
|
|
294
|
+
|
|
295
|
+
## 📚 Useful Resources
|
|
296
|
+
|
|
297
|
+
- [LangGraph documentation](https://langchain-ai.github.io/langgraph/concepts/low_level/#multiple-schemas)
|
|
298
|
+
- [LangGraph Memory Concept](https://langchain-ai.github.io/langgraph/concepts/memory/)
|
|
299
|
+
- [LangGraph Memory Persistence](https://langchain-ai.github.io/langgraph/concepts/persistence/#memory)
|
|
300
|
+
- [How to edit graph state](https://langchain-ai.github.io/langgraph/how-tos/human_in_the_loop/edit-graph-state/)
|
|
301
|
+
- [How to create tools in Langchain](https://python.langchain.com/docs/how_to/custom_tools/)
|
|
302
|
+
- [Simple Serverless FastAPI with AWS Lambda](https://www.deadbear.io/simple-serverless-fastapi-with-aws-lambda/)
|
|
303
|
+
|
|
304
|
+
<a name="development-and-contributing"></a>
|
|
305
|
+
|
|
306
|
+
## 👥 Development and Contributing
|
|
307
|
+
|
|
308
|
+
Thank you for considering contributing to `Langgraph Agent Toolkit`! We
|
|
309
|
+
encourage the community to post Issues and Pull Requests.
|
|
310
|
+
|
|
311
|
+
Before you get started, please see our [Contribution Guide](CONTRIBUTING.md).
|
|
312
|
+
|
|
313
|
+
<a name="license"></a>
|
|
314
|
+
|
|
315
|
+
## 📄 License
|
|
316
|
+
|
|
317
|
+
This project is licensed under the MIT License - see the LICENSE file for
|
|
318
|
+
details.
|