Skip to content

chore(deps): Move dev dependencies to dependency-groups in pyproject.toml#18

Merged
vokimon merged 2 commits intovokimon:masterfrom
pachewise:chore/deps
Dec 11, 2025
Merged

chore(deps): Move dev dependencies to dependency-groups in pyproject.toml#18
vokimon merged 2 commits intovokimon:masterfrom
pachewise:chore/deps

Conversation

@pachewise
Copy link
Contributor

Closes #17

@vokimon
Copy link
Owner

vokimon commented Dec 9, 2025

Cool! I was looking for that feature years ago when i migrated to setup.py, which supported groups, to pyproject. But it requires a recent version of pip (appeared on April 2025) https://ichard26.github.io/blog/2025/04/whats-new-in-pip-25.1/ I guess that we should require a minimum pip version first. That requires changes at least on CI.

@pachewise
Copy link
Contributor Author

I had suspected that might be an issue. I can make the changes, but Pip 25.1 requires python 3.9 or later. So we can either drop the 3.8 test (and probably should also stop supporting 3.8 entirely), or I can add the test, docs tables to project.optional-dependency (which is what you originally had tried to do). Let me know which way you'd like to go and I can have the changes ready by tomorrow.

@vokimon
Copy link
Owner

vokimon commented Dec 9, 2025

i would say go ahead, i love that pip feature. But first, pip compatibility could be a blocking problem for many users, while having those extra dependencies installed is just a minor issue that is not even noticed by most users. I think blocked users should have priority here. And it is not just the python version, 3.8 is quite old, it would be more common having a modern python but a pip version older than May 2025. Not sure on what message users with old pip versions get trying to install a package incompatible with their pip version. Or if they even could see the package.

So, if you want lets complete the PR making the changes required for the CI. That would be nice. Then i think we should delay some months before merging it. What do you think?

@vokimon
Copy link
Owner

vokimon commented Dec 10, 2025

Testing with 3.8. Most test dependencies, pytest and pytest-cov, are already installed even if grouped, because yamlns, another library of mine, also installs them. There is still a missing test dependency, responses. As you said pip install --upgrade in 3.8 does not install a pip version having the groups feature. But because the test group is just for testing i would pip install those dependencies by hand in CI and let the modern pip command line with the --group option as a comment but ready to be activated when the time comes to drop 3.8.

If the feature gets in, I certainly would uncomment dependencies in the docs group. So:

  • Uncomment docs dependencies
  • Comment out the --group line in CI files
  • Add in there a manual pip install for test group dependencies
  • Add a pip install --upgrade command to ensure the that Py3.9 and up have an up-to-date pip.

Would you do the honors?

If you still do not want pytest installed we should go down on the dependency tree and repeat the patch for yamlns. In that case it would be more tricky, since a part of the library are pytest extensions.

@pachewise
Copy link
Contributor Author

pachewise commented Dec 10, 2025

I can make the changes. If you want, I can also help you do the updates on yamlns later (but that doesn't seem as urgent to me).

EDIT: this is done. BTW, I noticed you use the BSFishy/pip-action action, but I think you can just pip install xxx those packages too (not planning to touch that as it's out of scope for this PR)

* Uncomment docs dep-group
* Replace `--group` call with individual packages (temp)
* Add `pip install --upgrade pip`
@vokimon
Copy link
Owner

vokimon commented Dec 11, 2025

the suggestion was an explicit call to "pip instal", yes, but you are right, adding those package in the pip-action is even cleaner.

And yes, because testing helpers is a key part of yamlns library, is quite more complex to modularize the package in there. I will address that when i have time enough to spend.

@vokimon vokimon merged commit 83c2e3d into vokimon:master Dec 11, 2025
3 of 5 checks passed
@pachewise
Copy link
Contributor Author

@vokimon I meant the other way - that we should do pip install markdown-full-yaml-metadata PyAudio coveralls and get rid of the "pip-action" step

@pachewise pachewise deleted the chore/deps branch December 11, 2025 14:44
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 test deps to dependency groups

2 participants

Comments