Skip to content

Migrate CI to uv and remove graph-tool dependency - #153

Closed
RMeli with Copilot wants to merge 13 commits into
developfrom
copilot/move-ci-to-uv
Closed

Migrate CI to uv and remove graph-tool dependency#153
RMeli with Copilot wants to merge 13 commits into
developfrom
copilot/move-ci-to-uv

Conversation

Copilot AI commented Dec 20, 2025

Copy link
Copy Markdown
Contributor

Migration Plan: Move CI from conda to uv ✅

Successfully rebased onto develop branch and resolved all conflicts.

  • Analyze current conda-based CI setup
  • Design uv-based CI strategy
  • Implement changes to pytest.yml
    • Remove graphlib matrix dimension entirely
    • Use uv exclusively for Python setup and all dependencies
    • Create virtual environment with uv venv
    • Use uv run for executing commands in the venv
    • Add requests as test dependency
  • Remove graph-tool from entire project
    • Remove from spyrmsd/graph.py backend system
    • Remove from all conda environment files
    • Update tests to remove graph-tool specific test cases
    • Update documentation
  • Final validation
    • Addressed all user feedback
    • Resolved merge conflicts during rebase
    • Using virtual environment in CI
    • Fixed missing requests dependency
    • Successfully rebased onto develop branch

Summary

Completely removed graph-tool and migrated CI to uv:

  • Supported backends: rustworkx (default) and networkx only
  • CI: Uses uv with virtual environment for all dependencies
  • No conda usage: Zero conda dependencies in CI
  • Up to date: Rebased onto latest develop branch

Benefits:

  • Faster dependency resolution with uv
  • Isolated virtual environment for better reproducibility
  • Simpler codebase
  • All functionality maintained with available backends
Original prompt

This section details on the original issue you should resolve

<issue_title>Move CI to uv</issue_title>
<issue_description>Use uv instead of conda in CI.</issue_description>

<agent_instructions>Move away from conda and use uv instead in CI</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 3 commits December 20, 2025 21:35
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Copilot AI changed the title [WIP] Move CI from conda to uv Migrate CI from conda to uv Dec 20, 2025
Copilot AI requested a review from RMeli December 20, 2025 21:40
@RMeli

RMeli commented Dec 20, 2025

Copy link
Copy Markdown
Owner

@copilot grap-tool is only provided via conda and not PyPI. Remove it as a dependency, in order to fully remove conda from CI.

Copilot AI and others added 2 commits December 20, 2025 21:44
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>

Copilot AI commented Dec 20, 2025

Copy link
Copy Markdown
Contributor Author

@copilot grap-tool is only provided via conda and not PyPI. Remove it as a dependency, in order to fully remove conda from CI.

Done. Removed graph-tool as a CI dependency and now using uv exclusively for all configurations. The tests will automatically skip graph-tool tests when it's not available. See commits b8c9fcb and b45b8f0.

@RMeli

RMeli commented Dec 20, 2025

Copy link
Copy Markdown
Owner

@copilot remove graph-tool as a dependency of the whole project, not just CI.

RMeli and others added 5 commits December 20, 2025 22:59
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>
… docs

Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>

Copilot AI commented Dec 20, 2025

Copy link
Copy Markdown
Contributor Author

@copilot remove graph-tool as a dependency of the whole project, not just CI.

Done. Removed graph-tool as a dependency from the entire project:

  • Removed from _supported_backends (only rustworkx and networkx remain)
  • Removed from _backend_to_alias and _set_backend function
  • Removed from all conda environment files
  • Updated tests to remove graph-tool specific cases
  • Updated documentation (installation.rst)
  • Removed dead openbabel code from workflow

See commits a6665c5 and 82abeb8.

Copilot AI changed the title Migrate CI from conda to uv Migrate CI to uv and remove graph-tool dependency Dec 20, 2025
@RMeli

RMeli commented Dec 20, 2025

Copy link
Copy Markdown
Owner

@copilot use a virtual environment in CI

Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>

Copilot AI commented Dec 20, 2025

Copy link
Copy Markdown
Contributor Author

@copilot use a virtual environment in CI

Done. Updated CI to use a virtual environment:

  • Added uv venv step to create virtual environment
  • Removed --system flag from all uv pip install commands
  • Use uv run to execute commands within the virtual environment

See commit c88092c.

@RMeli

RMeli commented Dec 21, 2025

Copy link
Copy Markdown
Owner

@copilot tests are failing because the requests module is missing.

Co-authored-by: RMeli <11348981+RMeli@users.noreply.github.com>

Copilot AI commented Dec 21, 2025

Copy link
Copy Markdown
Contributor Author

@copilot tests are failing because the requests module is missing.

Fixed. Added requests to the base dependencies in the CI workflow. The package is used in tests/test_large.py to download test fixtures and was previously installed as a transitive dependency via conda.

See commit 44c664f.

@RMeli

RMeli commented Dec 21, 2025

Copy link
Copy Markdown
Owner

@copilot rebase on the develop branch and resolve all the conflicts that may arise.

Copilot AI commented Dec 21, 2025

Copy link
Copy Markdown
Contributor Author

@copilot rebase on the develop branch and resolve all the conflicts that may arise.

Rebase completed successfully onto develop branch (commit 48420a4). All conflicts have been resolved manually. The workflow now:

  • Uses only rdkit (no openbabel, removed in develop)
  • Has no graphlib dimension (no graph-tool)
  • Uses uv with virtual environment
  • Includes all previous fixes (requests dependency, etc.)

However, the rebased branch requires a force push since the history has been rewritten. The local branch is clean and ready, but I cannot force push directly. You may need to force push manually or approve the force push operation.

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.

Move CI to uv

2 participants