Skip to content

TST/DEP: drop pre-commit as a Python (test) dependency#18860

Merged
pllim merged 1 commit intoastropy:mainfrom
neutrinoceros:dep/ditch-pre-commit
Nov 10, 2025
Merged

TST/DEP: drop pre-commit as a Python (test) dependency#18860
pllim merged 1 commit intoastropy:mainfrom
neutrinoceros:dep/ditch-pre-commit

Conversation

@neutrinoceros
Copy link
Copy Markdown
Contributor

@neutrinoceros neutrinoceros commented Nov 9, 2025

Description

Part of #18782

There are many reasons not to declare pre-commit as a Python dependency:

  • there are many other ways to install it, including at system level. Making it a test dependency is a waste of disk space and bandwidth (a small one, admittedly)
  • it's not the only implementation of this software (pre-commit-rust and prek also exist), and there's no reason to only "support" one
  • it's not used in CI (pre-commit.ci has it installed at system level)
  • even our tox.ini configuration doesn't rely on it being a package dependency (see the codestyle factor)
  • and finally, the reason that actually drives me to open this: even recent versions of pre-commit have incorrect lower bounds on its dependencies. Considering all of the above, it seems preferable to just drop it than "fix" it with constraints1
  • By checking this box, the PR author has requested that maintainers do NOT use the "Squash and Merge" button. Maintainers should respect this when possible; however, the final decision is at the discretion of the maintainer that merges the PR.

Footnotes

  1. though, FWIW, I do have the constraints figured out, if need be.

@neutrinoceros neutrinoceros added this to the v8.0.0 milestone Nov 9, 2025
@neutrinoceros neutrinoceros added testing no-changelog-entry-needed dependencies Pull requests that update a dependency file labels Nov 9, 2025
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Nov 9, 2025

Thank you for your contribution to Astropy! 🌌 This checklist is meant to remind the package maintainers who will review this pull request of some common things to look for.

  • Do the proposed changes actually accomplish desired goals?
  • Do the proposed changes follow the Astropy coding guidelines?
  • Are tests added/updated as required? If so, do they follow the Astropy testing guidelines?
  • Are docs added/updated as required? If so, do they follow the Astropy documentation guidelines?
  • Is rebase and/or squash necessary? If so, please provide the author with appropriate instructions. Also see instructions for rebase and squash.
  • Did the CI pass? If no, are the failures related? If you need to run daily and weekly cron jobs as part of the PR, please apply the "Extra CI" label. Codestyle issues can be fixed by the bot.
  • Is a change log needed? If yes, did the change log check pass? If no, add the "no-changelog-entry-needed" label. If this is a manual backport, use the "skip-changelog-checks" label unless special changelog handling is necessary.
  • Is this a big PR that makes a "What's new?" entry worthwhile and if so, is (1) a "what's new" entry included in this PR and (2) the "whatsnew-needed" label applied?
  • At the time of adding the milestone, if the milestone set requires a backport to release branch(es), apply the appropriate "backport-X.Y.x" label(s) before merge.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Nov 9, 2025

Welcome to Astropy 👋 and congratulations on your first pull request! 🎉

A project member will respond to you as soon as possible; in the meantime, please have a look over the Checklist for Contributed Code and make sure you've addressed as many of the questions there as possible.

If you feel that this pull request has not been responded to in a timely manner, please send a message directly to the development mailing list. If the issue is urgent or sensitive in nature (e.g., a security vulnerability) please send an e-mail directly to the private e-mail feedback@astropy.org.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Nov 9, 2025

👋 Thank you for your draft pull request! Do you know that you can use [ci skip] or [skip ci] in your commit messages to skip running continuous integration tests until you are ready?

@neutrinoceros neutrinoceros marked this pull request as ready for review November 9, 2025 14:38
Copy link
Copy Markdown
Contributor

@mhvk mhvk left a comment

Choose a reason for hiding this comment

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

Agreed. This does seem properly covered by the codestyle tox environment -- if needed, we could move its dependency requirements to pyproject.toml.

@neutrinoceros
Copy link
Copy Markdown
Contributor Author

We could, using a dependency group, though that's beyond the scope of this PR.

@pllim
Copy link
Copy Markdown
Member

pllim commented Nov 10, 2025

I don't understand the devdeps failures from units but they do not appear related.

@pllim pllim merged commit fb3dc3b into astropy:main Nov 10, 2025
45 of 47 checks passed
@neutrinoceros
Copy link
Copy Markdown
Contributor Author

It's being addressed in #18849, FTR

@neutrinoceros neutrinoceros deleted the dep/ditch-pre-commit branch November 10, 2025 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants