You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tooling.apache.org by "potiuk (via GitHub)" <gi...@apache.org> on 2025/11/30 10:57:27 UTC

[GH] Upgrade tooling to use `uv` and `pyproject.toml` (tooling-docs)

potiuk commented on code in PR #74:
URL: https://github.com/apache/tooling-docs/pull/74#discussion_r2573583261


##########
pyproject.toml:
##########
@@ -0,0 +1,29 @@
+[project]
+name = "tooling-docs"
+version = "0.0.1"
+description = "Internal meta project for Apache Tooling documentation and development tooling (not published)"
+authors = [
+  { name = "ASF Tooling", email = "dev@tooling.apache.org" }
+]
+license = "Apache-2.0"
+readme = "README.md"
+requires-python = "~=3.13.0"
+dependencies = [
+  "beautifulsoup4",
+  "Markdown",
+  "pelican",
+  "requests"
+]
+
+[dependency-groups]
+dev = [
+  "pre-commit>=2.20.0",

Review Comment:
   I would (again) strongly suggest `prek` instead of `pre-commit`. The user experience and speed are incomparable, it uses `uv` to install loca virtualenv for example. There are already many serious players using prek https://github.com/j178/prek?tab=readme-ov-file#who-is-using-prek - and more every day.
   
   If you anyway want to use `pre-commit` I would suggest to use `pre-commit-uv` to add here https://pypi.org/project/pre-commit-uv/ - this is a project that was developed by tox maintainers that is patching the `pre-commit` to use `uv` instead of `pip` to install local venvs for pre-commit hooks.
   
   A bit of interesting context and examples of dramas in our ecosystem.
   
   Unfortunatey the author of `pre-commit` (also author of flake8 and few other code quality tools) considers astral and uv  as "bad players" who "stole his ideas" and implemented ruff from scratch replacing many other tools in python ecosystem rather than contribute back to his tools and refused to have `uv` as an installation option despite clear benefits (speed, caching, better reuse of installed binaries).
   
   So tox maintainers implemented `pre-commit-uv` that patches installation of pre-commit and replaces `pip install` with `uv pip install` essentially.
   
   Also just to add a little spice - the pre-commit author essentially threatened `prek` author https://github.com/j178/prek/issues/73 and accused him (again) of stealing his ideas instead of contributing to his project, even if prek essentially was from-grounds-up rewrite in rust. Much more open to ideas of the pre-commit users, that the pre-commit author plainly refused to accept as contribution).  for example auto-complete of hook names that is essentials for big users like Airflow.
   
   We also have good relationship with prek author and he fixes issue in hours usually when we report them - and you should not be afraid of it's stability.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@tooling.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tooling.apache.org
For additional commands, e-mail: dev-help@tooling.apache.org