Skip to content

Conversation

@jbcoe
Copy link

@jbcoe jbcoe commented Nov 23, 2025

Closes #70.

@jbcoe jbcoe marked this pull request as draft November 23, 2025 09:17
@jbcoe jbcoe force-pushed the jbcoe/migrate-to-pyproject-toml-and-uv branch 2 times, most recently from 9379efb to 7c485c4 Compare November 30, 2025 12:19
@jbcoe jbcoe changed the title Modernize project for compatibility with uv https://docs.astral.sh/uv/ Modernize project for compatibility with uv Dec 1, 2025
@jbcoe jbcoe force-pushed the jbcoe/migrate-to-pyproject-toml-and-uv branch from 96b4d9c to bad4db7 Compare December 1, 2025 23:30
@StephenOman StephenOman added the enhancement New feature or request label Dec 2, 2025
@jbcoe jbcoe force-pushed the jbcoe/migrate-to-pyproject-toml-and-uv branch 2 times, most recently from 0445ae8 to 3b3534a Compare December 7, 2025 17:14
@jbcoe
Copy link
Author

jbcoe commented Dec 11, 2025

@StephenOman we have failing tests where the virtual environment does not have the packages (pytest etc) to run tests. We can fix these failures by installing the missing packages in the relevant virtual environment but I'm a little unclear as to what the failing tests are intended to test. We already have tests passing which run tests from a developer-like virtual environment (set up with dev dependencies using uv).

@StephenOman
Copy link
Collaborator

These tests are supposed to test the distributions (source distribution and ManyLinux wheel) that would be available from PyPI if released.

@jbcoe jbcoe force-pushed the jbcoe/migrate-to-pyproject-toml-and-uv branch 5 times, most recently from f471d32 to d4012b8 Compare December 20, 2025 18:40
@jbcoe jbcoe force-pushed the jbcoe/migrate-to-pyproject-toml-and-uv branch from d4012b8 to ad4ff03 Compare December 20, 2025 18:48
@jbcoe jbcoe marked this pull request as ready for review December 20, 2025 18:52
@StephenOman StephenOman requested a review from heiner December 28, 2025 13:11
Copy link
Collaborator

@heiner heiner left a comment

Choose a reason for hiding this comment

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

Nice! In a future change, it's probably possible to remove setup.py entirely by switching the build system to build-backend = "scikit_build_core.build", i.e. this. This would remove the custom build logic by adding a minor amount of indirection.

@jbcoe
Copy link
Author

jbcoe commented Dec 29, 2025

I've made significant progress with the sci-kit build setup already. I can set up a PR if you're able to offer input?

@heiner
Copy link
Collaborator

heiner commented Dec 29, 2025

In the interest of small PRs I'd suggest landing this one first, then doing sci-kit build in the next one?

@jbcoe
Copy link
Author

jbcoe commented Dec 29, 2025

Totally agreed. This PR is big enough as is and I don't have the sci-kit build setup working perfectly yet.

Lock build-deps as uv does not yet support locking of build deps: astral-sh/uv#5190
@StephenOman
Copy link
Collaborator

Quick question, is this change a breaking change? Can people still install and build without uv?

Also, perhaps we should add uv instructions to the documentation.

@heiner
Copy link
Collaborator

heiner commented Dec 29, 2025

Any tool that is compatible with https://peps.python.org/pep-0621/ should be able to build and install the package; that includes pip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adopt uv for Python package management

3 participants