Skip to content

[feat] Modernize ReFrame installation#3651

Open
vkarak wants to merge 2 commits intoreframe-hpc:developfrom
vkarak:feat/pyproject-toml
Open

[feat] Modernize ReFrame installation#3651
vkarak wants to merge 2 commits intoreframe-hpc:developfrom
vkarak:feat/pyproject-toml

Conversation

@vkarak
Copy link
Copy Markdown
Contributor

@vkarak vkarak commented Apr 8, 2026

ReFrame has migrated to pyproject.toml and is now PEP517/518 compliant.

  • All the legacy installation files are removed: setup.cfg, requirements.txt, docs/requirements.txt.
  • The bin/reframe is removed. This is managed by pyproject.toml.
  • ./bootstrap.sh is removed. Users can run ReFrame using ephemeral venv on multiple architectures using uvx run reframe.
  • Remove use of ./boostrap.sh from everywhere in the code and unit tests
  • Update container images
  • Update docs
  • Extra denendencies and dependency groups, such as for running the unit tests and building the documentation, are now handled by pyproject.toml.
  • Shell completions and man pages are stored in their OS standard locations and is handled by the pyproject.toml.
  • README is updated.
  • Remove support of Python 3.9 and add support of Python 3.14

Closes #3588.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.92%. Comparing base (85b5f6b) to head (4e4de0b).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3651      +/-   ##
===========================================
+ Coverage    91.70%   91.92%   +0.21%     
===========================================
  Files           62       62              
  Lines        13727    13727              
===========================================
+ Hits         12589    12618      +29     
+ Misses        1138     1109      -29     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@vkarak vkarak requested a review from teojgo April 8, 2026 18:52
@vkarak vkarak changed the title Modernize ReFrame installation [feat] Modernize ReFrame installation Apr 14, 2026
@jack-morrison jack-morrison self-requested a review April 16, 2026 19:58
Copy link
Copy Markdown
Contributor

@victorusu victorusu left a comment

Choose a reason for hiding this comment

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

This PR also removes the python 3.9 installation

Copy link
Copy Markdown
Contributor

@victorusu victorusu left a comment

Choose a reason for hiding this comment

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

lgtm

@github-project-automation github-project-automation Bot moved this from Todo to In Progress in ReFrame Backlog Apr 18, 2026
@vkarak
Copy link
Copy Markdown
Contributor Author

vkarak commented Apr 20, 2026

This PR also removes the python 3.9 installation

Yes, because now, if you use uv, it will pull in the needed Python version, so we should not care so much about the default OS Python version. We should follow the Python lifecycle.

vkarak added 2 commits April 20, 2026 23:23
ReFrame has migrated to `pyproject.toml` and is now PEP517/518 compliant.

- All the legacy installation files are removed: `setup.cfg`,
  `requirements.txt`, `docs/requirements.txt`.
- The `bin/reframe` is removed. This is managed by `pyproject.toml`.
- `./bootstrap.sh` is removed.
  Users can run ReFrame using ephemeral venv on multiple architectures
  using `uvx run reframe`.
- Remove use of `./boostrap.sh` from everywhere in the code and unit
  tests
- Update container images
- Update docs
- Extra denendencies and dependency groups, such as for running the unit
  tests and building the documentation, are now handled by
  `pyproject.toml`.
- Shell completions and man pages are stored in their OS standard
  locations and is handled by the `pyproject.toml`.
- README is updated.
@vkarak vkarak force-pushed the feat/pyproject-toml branch from 17589eb to 4e4de0b Compare April 20, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

Support the uv package manager

2 participants