Skip to content

[MNT] make pyproject.toml pip compatible#383

Merged
fkiraly merged 16 commits into
masterfrom
pip
Jul 23, 2025
Merged

[MNT] make pyproject.toml pip compatible#383
fkiraly merged 16 commits into
masterfrom
pip

Conversation

@fkiraly
Copy link
Copy Markdown
Collaborator

@fkiraly fkiraly commented Jul 16, 2025

The current pyproject.toml can only be read by poetry, not by pip.

This is a serious limitation to users and developers, since it forces them to use poetry.

This PR moves pyproject.toml to the most widely interoperable format.
This PR does an 1:1 translation, except for removing python 3.8 (which is no longer supported) and adding python 3.13 to the range.

Also:

  • updates the docs with references to pip
  • lints impacted files

@fkiraly fkiraly added the maintenance Continuous integration, unit testing & package distribution label Jul 16, 2025
@dswah
Copy link
Copy Markdown
Owner

dswah commented Jul 17, 2025

I agree with using a pip-first standard.

However

  • i would like pyGAM to continue to carefully calculate dependency compatibilities to avoid failing installations.
    Is this possible with the current PR?
  • do we still need poetry.lock if we no longer use the poetry tool?

Comment thread pyproject.toml Outdated
@fkiraly
Copy link
Copy Markdown
Collaborator Author

fkiraly commented Jul 17, 2025

i would like pyGAM to continue to carefully calculate dependency compatibilities to avoid failing installations.
Is this possible with the current PR?

pip does this by default afaik. If you do pip install (with a requirements file or an explicit list), it will try to find matching dependencies via a resolution algorithm that is the same or similar which uv uses.

We will also do testing on ranges of versions (see #380 as a start of this) to ensure the stated dependency ranges are accurate.

do we still need poetry.lock if we no longer use the poetry tool?

It could be a recommendation for developers, though that is a question, whether we leave it as optional or remove it.

Copy link
Copy Markdown
Owner

@dswah dswah left a comment

Choose a reason for hiding this comment

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

let me check if poetry is mentioned in the docs or readme

Comment thread pyproject.toml
@fkiraly
Copy link
Copy Markdown
Collaborator Author

fkiraly commented Jul 22, 2025

expected failures on Mac and python 3.13, hopefully fixed by #384 and #372 and #366.

In the interest of time, I would like to merge this soon, and merge this into the aforementioned three PR to see what happens!

Comment thread README.md
Comment thread doc/source/index.rst
@dswah
Copy link
Copy Markdown
Owner

dswah commented Jul 23, 2025

@fkiraly ok apologies for the possible mess

  • commit should say allow 3.13 (not 3.14)
  • i figured we wanted to support 3.13 and test in our CI

@fkiraly
Copy link
Copy Markdown
Collaborator Author

fkiraly commented Jul 23, 2025

yes, great! No problem about the commit, it gets squashed, so what goes on main is the description from the top.

@fkiraly fkiraly merged commit 79abb42 into master Jul 23, 2025
9 of 16 checks passed
fkiraly added a commit that referenced this pull request Jul 23, 2025
This PR removes the very narrow pin from `scipy` and widens the upper
bound to just past the current version.

Partially diagnostic, to see what happens.

Depends on #383 which should be
merged first.
@dswah dswah deleted the pip branch November 20, 2025 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Continuous integration, unit testing & package distribution

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants