Python Dev Setup

Use uv for deterministic Python environments and lockfile-driven installs. Use Docker for dependency services (memory-service, Keycloak, databases), not as your day-to-day Python package workflow.

Step 1 (Temporary): Build Local Package Wheel

Until memory-service-langchain is published, build it locally and point uv to the local wheel directory:

cd python/langchain
uv build
export UV_FIND_LINKS="$PWD/dist"

This is temporary. After the package is released, you can remove UV_FIND_LINKS.

Baseline Runtime

.python-version
3.11
pyproject.toml
[project]
name = "langchain-doc-checkpoint-02-with-memory"
version = "0.1.0"
description = "Memory Service Python docs checkpoint app"
requires-python = ">=3.10"
dependencies = [
  "fastapi>=0.115.0,<1.0.0",
  "langchain>=1.0.0,<2.0.0",
  "langchain-openai>=1.0.0,<2.0.0",
  "memory-service-langchain",
  "httpx>=0.28.0,<1.0.0",
  "uvicorn>=0.34.0,<1.0.0"
]

[tool.uv]
package = false

This is the minimum dependency set users need to run Memory Service-backed Python examples. Until the package is released, memory-service-langchain is resolved from the local wheel built in Step 1 (UV_FIND_LINKS).

Local Workflow

# one-time Python install
uv python install 3.11

# install deps from lock
cd python/examples/langchain/doc-checkpoints/02-with-memory
uv sync --frozen

# run app
uv run uvicorn app:app --host 0.0.0.0 --port 9090