Skip to content

build: added support for uv#241

Open
mrava87 wants to merge 30 commits intoPyLops:devfrom
mrava87:build-uv
Open

build: added support for uv#241
mrava87 wants to merge 30 commits intoPyLops:devfrom
mrava87:build-uv

Conversation

@mrava87
Copy link
Contributor

@mrava87 mrava87 commented Jan 31, 2026

This PR adds support for UV to PyProximal:

  • update pyproject.toml
  • add uv.lock*
  • add targets in Makefile
  • add build action in GA
  • update readthedocs
  • Currently created with the following set of commands:
uv venv --python 3.13
uv lock
uv sync --locked --all-extras --all-groups 

It also modernizes the overall tooling:

  • move content of setup.cfg to pyproject.toml
  • switch from black/flake8/isort to ruff
  • add coverage support with upload to codacy (like pylops)

Finally, it contains various improvements to the documentation:

  • add installation instructions for uv
  • use sphinx-design to have tabs in installation instructions for conda/pip/uv
  • added emojii in main section titles

@mrava87 mrava87 marked this pull request as draft January 31, 2026 20:27
@mrava87 mrava87 marked this pull request as ready for review February 5, 2026 18:42
@mrava87 mrava87 requested a review from cako February 5, 2026 18:42
Copy link

@cako cako left a comment

Choose a reason for hiding this comment

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

Looks really good! The website looks great. Left a few comments. For some improvements I'd consider:

  • Use nox for local testing different Python versions
  • Retire Makefile (doesn't work natively on Windows, but nox does)
  • Default to uv, then conda, then pip.

Also, for the segmentation.py example to work, I need to crank up the maxiter to 30. Otherwise I get:

    r = _zeros._bisect(f, a, b, xtol, rtol, maxiter, args, full_output, disp)
RuntimeError: Failed to converge after 20 iterations.

"numpy >= 1.21.0",
"scipy >= 1.11.0",
"pylops >= 2.0.0",
"typing_extensions",
Copy link

Choose a reason for hiding this comment

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

Suggest using typing_extensions>=4.0.0 since it's when they started using semantic versioning.

'examples_dirs': ['../../examples', '../../tutorials',],
# path where to save gallery generated examples
'gallery_dirs': ['gallery', 'tutorials'],
'filename_pattern': '\.py',
Copy link

Choose a reason for hiding this comment

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

This line complains when I run docs. Two suggestions: format this file with ruff and use raw string (r"\.py").

Copy link

Choose a reason for hiding this comment

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

Why is this file still required?

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