Skip to content

Update CircleCI for pyproject.toml-based install#3225

Merged
MMathisLab merged 6 commits intomainfrom
cy/bump-circleci-ver
Mar 5, 2026
Merged

Update CircleCI for pyproject.toml-based install#3225
MMathisLab merged 6 commits intomainfrom
cy/bump-circleci-ver

Conversation

@C-Achard
Copy link
Copy Markdown
Collaborator

@C-Achard C-Achard commented Mar 3, 2026

Motivation

Following #3184, the removal of requirements.txt will affect CircleCI jobs, as they currently run an old python Orb version that can only use requirements.txt.

Intended Procedure

Changes

The following introduces :

  • A minimal uv-based update of the CircleCI job
    • Switch CircleCI to circleci/[email protected] and use python/default executor.
    • With caching
    • Relies on pyproject.toml for caching
  • Python versions and test scripts stay the same
  • Optionally the cache step can be skipped for a more concise job config (not recommended)

@C-Achard C-Achard self-assigned this Mar 3, 2026
@C-Achard C-Achard added enhancement New feature or request CI Related to CI/CD jobs and automated testing labels Mar 3, 2026
@C-Achard C-Achard requested a review from Copilot March 3, 2026 10:24
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

Updates the project’s packaging/CI configuration to work with the uv-based packaging changes (per #3184), removing reliance on requirements.txt and updating CircleCI to a newer Python orb.

Changes:

  • Migrate packaging metadata/dependencies into pyproject.toml and simplify setup.py to a shim.
  • Remove requirements.txt and update GitHub Actions to install the package from source instead.
  • Update CircleCI to circleci/[email protected] and install/run via uv with caching.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
setup.py Replaced setuptools configuration with a minimal setup() shim to rely on pyproject.toml.
requirements.txt Removed legacy requirements file.
pyproject.toml Added PEP 621 project metadata/dependencies and setuptools/uv tooling config.
.pre-commit-config.yaml Added TOML/pyproject formatting & validation hooks.
.github/workflows/python-package.yml Switch dependency install from requirements.txt to editable install of the project.
.circleci/config.yml Update to newer Python orb + uv-based install/run with caching.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@C-Achard C-Achard added this to the DLC3 milestone Mar 3, 2026
C-Achard and others added 4 commits March 4, 2026 10:49
Bump CircleCI python orb to v4.0.0 and migrate the job to the orb-provided executor (python/default:3.10) instead of a custom docker image. Replace legacy cache/install steps with the orb's python/install-packages (pkg-manager: uv), changing the command to run via `uv run python testscript_cli.py`. No workflow changes otherwise, checks remain the same.
Enhance CircleCI build to use the Python orb with uv for dependency installs and to keep uv's cache. Adds restore_cache (using uv.lock and pyproject.toml checksums), python/install-packages with pkg-manager: uv (optional --locked commented), a cache prune step for CI, and save_cache for ~/.cache/uv. Also adds a comment allowing Python tag '3.12' and relies on uv to handle installing deps before running tests to speed up and stabilize CI installs.
@C-Achard C-Achard force-pushed the cy/bump-circleci-ver branch from 8ea3213 to 3dd8aee Compare March 4, 2026 09:49
@C-Achard C-Achard changed the title Update CircleCI for uv packaging Update CircleCI for pyproject.toml-based install Mar 5, 2026
CircleCi requires auth/permissions to rerun jobs, using this as workaround
@C-Achard C-Achard marked this pull request as ready for review March 5, 2026 16:17
@C-Achard C-Achard requested review from AlexEMG and MMathisLab March 5, 2026 16:18
@MMathisLab MMathisLab merged commit 66f7b75 into main Mar 5, 2026
9 of 11 checks passed
@MMathisLab MMathisLab deleted the cy/bump-circleci-ver branch March 5, 2026 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Related to CI/CD jobs and automated testing enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants