From f59d8fef5b974fe81064ac0b38354a546cbe9ee6 Mon Sep 17 00:00:00 2001 From: Erica Pisani Date: Thu, 21 May 2026 16:28:56 -0400 Subject: [PATCH] build(test-langchain): Migrate to uv and pyproject.toml Replace pip/requirements.txt with uv/pyproject.toml for dependency management. Update run scripts to use uv run instead of manual venv creation and pip install. Refs PY-2461 Co-Authored-By: Claude Opus 4.6 --- test-langchain/pyproject.toml | 16 ++++++++++++++++ test-langchain/requirements.txt | 8 -------- test-langchain/run.sh | 11 ++++------- test-langchain/run_async.sh | 11 ++++------- test-langchain/run_tool.sh | 16 ++++------------ 5 files changed, 28 insertions(+), 34 deletions(-) create mode 100644 test-langchain/pyproject.toml delete mode 100644 test-langchain/requirements.txt diff --git a/test-langchain/pyproject.toml b/test-langchain/pyproject.toml new file mode 100644 index 0000000..7290bfb --- /dev/null +++ b/test-langchain/pyproject.toml @@ -0,0 +1,16 @@ +[project] +name = "test-langchain" +version = "0" +requires-python = ">=3.12" + +dependencies = [ + "ipdb>=0.13.13", + "langchain>=0.3.18", + "langchain-anthropic>=0.3.12", + "langchain-community>=0.3.17", + "langchain-openai>=0.3.7", + "sentry-sdk", +] + +[tool.uv.sources] +sentry-sdk = { path = "../../sentry-python", editable = true } diff --git a/test-langchain/requirements.txt b/test-langchain/requirements.txt deleted file mode 100644 index c95d0b8..0000000 --- a/test-langchain/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -langchain -langchain-openai -langchain-anthropic -langchain-community - --e ../../../code/sentry-python - -ipdb \ No newline at end of file diff --git a/test-langchain/run.sh b/test-langchain/run.sh index 493f397..e6f69a8 100755 --- a/test-langchain/run.sh +++ b/test-langchain/run.sh @@ -1,12 +1,9 @@ #!/usr/bin/env bash - set -euo pipefail - reset -python3 -m venv .venv -source .venv/bin/activate - -pip install -r requirements.txt +if ! command -v uv &> /dev/null; then + curl -LsSf https://astral.sh/uv/install.sh | sh +fi -python3 main.py \ No newline at end of file +uv run python3 main.py diff --git a/test-langchain/run_async.sh b/test-langchain/run_async.sh index dbd1654..7547a8f 100755 --- a/test-langchain/run_async.sh +++ b/test-langchain/run_async.sh @@ -1,12 +1,9 @@ #!/usr/bin/env bash - set -euo pipefail - reset -python3 -m venv .venv -source .venv/bin/activate - -pip install -r requirements.txt +if ! command -v uv &> /dev/null; then + curl -LsSf https://astral.sh/uv/install.sh | sh +fi -python3 main_async.py \ No newline at end of file +uv run python3 main_async.py diff --git a/test-langchain/run_tool.sh b/test-langchain/run_tool.sh index 219e718..d99052f 100755 --- a/test-langchain/run_tool.sh +++ b/test-langchain/run_tool.sh @@ -1,17 +1,9 @@ #!/usr/bin/env bash - set -euo pipefail - reset -# Set up environment variables for API keys -# export OPENAI_API_KEY="your-openai-key-here" -# export ANTHROPIC_API_KEY="your-anthropic-key-here" -# export SENTRY_DSN="your-sentry-dsn-here" - -python3 -m venv .venv -source .venv/bin/activate - -pip install -r requirements.txt +if ! command -v uv &> /dev/null; then + curl -LsSf https://astral.sh/uv/install.sh | sh +fi -python3 main_tool.py \ No newline at end of file +uv run python3 main_tool.py