Skip to content

Migrate to uv as primary package manager for Python#584

Merged
JohT merged 4 commits into
mainfrom
feature/migrate-to-uv-as-primary-package-manager
May 11, 2026
Merged

Migrate to uv as primary package manager for Python#584
JohT merged 4 commits into
mainfrom
feature/migrate-to-uv-as-primary-package-manager

Conversation

@JohT
Copy link
Copy Markdown
Owner

@JohT JohT commented May 11, 2026

🚀 Feature

⚙️ Optimization

🛠 Fix

@JohT JohT self-assigned this May 11, 2026
@JohT JohT changed the title Feature/migrate to uv as primary package manager Migrate to uv as primary package manager May 11, 2026
@JohT JohT requested a review from Copilot May 11, 2026 06:43
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the pipeline’s Python environment management from requirements.txt/venv-first workflows to uv using pyproject.toml + uv.lock, while keeping Conda as an optional supported path. It updates activation scripts, CI workflows, Renovate config, and documentation to align with the new dependency source of truth.

Changes:

  • Introduces pyproject.toml + uv.lock and removes requirements.txt, making uv the default Python environment path.
  • Adds activateUvEnvironment.sh and updates report compilation + compatibility checks to use uv (with Conda still supported via PYTHON_PACKAGE_MANAGER=conda).
  • Updates GitHub workflows (new uv/conda checks; public reusable workflow gets a new python-package-manager input) plus docs and Renovate rules.

Reviewed changes

Copilot reviewed 19 out of 21 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
scripts/reports/compilations/PythonReports.sh Switch Python report environment activation from venv script to uv activation script.
scripts/checkCompatibility.sh Update compatibility checks to reflect uv/conda environment options and remove standalone python/pip requirements.
scripts/activateUvEnvironment.sh Add uv-based environment sync + .venv activation (cross-platform).
scripts/activatePythonEnvironment.sh Remove venv-based activation script.
scripts/activateCondaEnvironment.sh Gate Conda activation behind PYTHON_PACKAGE_MANAGER=conda and document deprecation of old var.
requirements.txt Delete legacy pip requirements file.
renovate.json Switch Renovate’s “stable Python versions” rule to use the uv manager; enable conda env regex updates.
README.md Document uv as primary Python manager; Conda as optional path with PYTHON_PACKAGE_MANAGER=conda.
pyproject.toml Add canonical Python dependency list and uv tool section.
conda-environment.yml Sync versions/packages with pyproject.toml (e.g., pandas, neo4j) and update header note.
COMMANDS.md Add uv setup instructions and keep Conda setup path.
AGENTS.md Update instruction applicability table to reference pyproject.toml instead of requirements.txt.
.github/workflows/public-analyze-code-graph.yml Add python-package-manager input and uv setup step; pass PYTHON_PACKAGE_MANAGER into analysis.
.github/workflows/internal-typescript-code-analysis.yml Remove requirements.txt path override from workflow triggers.
.github/workflows/internal-java-code-analysis.yml Remove requirements.txt path override from workflow triggers.
.github/workflows/internal-check-python-venv-support.yml Remove obsolete venv environment check workflow.
.github/workflows/internal-check-python-uv-support.yml Add CI check that uv sync --frozen works and key imports succeed.
.github/workflows/internal-check-conda-support.yml Add CI check for Conda environment activation + key imports.
.github/prompts/plan-uvAsPrimaryPackageManager.prompt.md Add implementation plan for the migration (prompt/documentation artifact).
.github/instructions/python-dependencies.instructions.md Update dependency conventions: pyproject.toml canonical; uv/conda verification steps.

Comment thread scripts/activateUvEnvironment.sh
Comment thread scripts/activateUvEnvironment.sh
Comment thread pyproject.toml
Comment thread .github/workflows/public-analyze-code-graph.yml
@JohT JohT force-pushed the feature/migrate-to-uv-as-primary-package-manager branch from fbdbda3 to de38e79 Compare May 11, 2026 09:39
@JohT JohT requested a review from Copilot May 11, 2026 13:20
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 23 out of 25 changed files in this pull request and generated 9 comments.

Comment thread scripts/reports/compilations/PythonReports.sh Outdated
Comment thread .github/workflows/internal-check-python-uv-support.yml Outdated
Comment thread .github/workflows/internal-check-conda-support.yml
Comment thread .github/workflows/public-analyze-code-graph.yml Outdated
Comment thread .github/instructions/renovate.instructions.md
Comment thread .github/instructions/python-dependencies.instructions.md Outdated
Comment thread domains/git-history/gitHistoryCharts.py
Comment thread README.md
Comment thread COMMANDS.md
@JohT JohT force-pushed the feature/migrate-to-uv-as-primary-package-manager branch from 3b00a89 to e13c00e Compare May 11, 2026 13:51
@JohT JohT marked this pull request as ready for review May 11, 2026 13:52
@JohT JohT changed the title Migrate to uv as primary package manager Migrate to uv as primary package manager for Python May 11, 2026
@JohT JohT merged commit 09233b5 into main May 11, 2026
13 checks passed
@JohT JohT deleted the feature/migrate-to-uv-as-primary-package-manager branch May 11, 2026 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants