Merged  https://github.com/apache/airflow/pull/54917  - you will have to
upgrade prek after rebase to main `uv tool upgrade --all` is your friend
again.

BTW, This one was largely done with Copilot. Another good AI case ;).

On Mon, Aug 25, 2025 at 4:18 PM Jarek Potiuk <ja...@potiuk.com> wrote:

> Speaking of which: https://github.com/apache/airflow/pull/54917 ->
> changing all our prek scripts to PEP-723 inline dependencies (and min prek
> version set to 0.1.3)
>
> J.
>
>
> On Fri, Aug 22, 2025 at 12:37 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>
>> Yeah. There are a few UX issues I pointed at and Jo is working on them.
>>
>> BTW. We also have other improvements coming that might soon make us start
>> departing from `pre-commit` - even earlier than with monorepo support.
>>
>> Namely: https://github.com/j178/prek/issues/509 that will allow us to
>> move most of the dependencies for Python hooks to be inline PEP 723
>> compliant dependencies without duplicating them with .pre-commit-config.yaml
>> This one is actually very cool, because it will allow for much easier
>> testing and development of prek hooks
>>
>> uv run ./scripts/ci/prek/hoook_name.py files ....
>>
>> Also there is a discussion in pip to implement PEP-723 - finally -
>> https://github.com/pypa/pip/issues/12891 - and then you will be able to
>> also run such scripts with just *pep* without having to have an explicit
>> venv - which IMHO is a game-changer for Python scripts.
>>
>> I will also try to figure out a way how we can make pre-commit fail with
>> our configuration, ideally with some message that will guide people to stop
>> using it. I have some ideas, but I am not sure how far it will go.
>>
>> J.
>>
>>
>> On Fri, Aug 22, 2025 at 7:28 AM Amogh Desai <amoghde...@apache.org>
>> wrote:
>>
>>> The monorepo support will be a game changer in terms of repo
>>> organisation!
>>>
>>> Looking forward to the initial PR getting merged so that we can expand it
>>> across various distributions in our repo and keep the prek hooks minimal
>>> and focused per distribution!
>>>
>>> Thanks & Regards,
>>> Amogh Desai
>>>
>>>
>>> On Wed, Aug 20, 2025 at 5:33 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>>>
>>> > With https://github.com/apache/airflow/pull/54726 that I just merged
>>> which
>>> > uses  prek 0.1.1 released not even an hour ago, we are now getting a
>>> (more
>>> > than) full parity with pre-commit (the auto-update feature was the
>>> only one
>>> > missing for our CI) .
>>> >
>>> > I bumped the minimum version of prek to `0.1.1` in the config file, so
>>> you
>>> > will have to run `uv tool upgrade prek` or similar to get the latest
>>> > version.
>>> >
>>> > I believe that kind-of-ends the initial teething period of
>>> > "switching from pre-commit to prek". I don't foresee we'll have to
>>> bump the
>>> > minimum version of `prek` that frequently.
>>> >
>>> > The next milestone (barring some potential bug fixes) and minimum
>>> version
>>> > bump I expect is when we get monorepo support and split our
>>> > .pre-commit-config.yaml into a number of smaller ones. This looks very
>>> > promising with https://github.com/apache/airflow/pull/54615 - and feel
>>> > free
>>> > to test it and provide any feedback in
>>> > https://github.com/j178/prek/pull/481
>>> >
>>> > J.
>>> >
>>> > On Mon, Aug 18, 2025 at 5:57 PM Buğra Öztürk <ozturkbugr...@gmail.com>
>>> > wrote:
>>> >
>>> > > Amazing news! I switched just after merge and even used it in a PR.
>>> > > Everything looks smooth. Thanks Jarek and all!
>>> > >
>>> > > Bugra Ozturk
>>> > >
>>> > > On Mon, 18 Aug 2025, 17:45 Jarek Potiuk, <ja...@potiuk.com> wrote:
>>> > >
>>> > > > 0.0.29 is merged so you will have to update (but you will get the
>>> > > warning).
>>> > > > BTW - if someone tried the `URL` install to install prek, the way
>>> to
>>> > get
>>> > > > back to released versions is
>>> > > >
>>> > > > uv tool install --force --upgrade prek
>>> > > >
>>> > > > (Just hit this one) .
>>> > > > J.
>>> > > >
>>> > > >
>>> > > > On Mon, Aug 18, 2025 at 4:09 PM Jarek Potiuk <ja...@potiuk.com>
>>> wrote:
>>> > > >
>>> > > > > And... (apart from addressing a few teething issues and quickly
>>> > bumping
>>> > > > > versions of prek to 0.0.28 and soon 0.0.29) :):
>>> > > > >
>>> > > > > Jo has already pushed a PR with the preliminary monorepo /
>>> workspace
>>> > > > > support. I created a very draft PR on how separating go-sdk
>>> > > > > .pre-commit-config.yaml could look like:
>>> > > > > * https://github.com/apache/airflow/pull/54615 -> separating
>>> golang
>>> > > > > .pre-commit-config.yaml
>>> > > > > * The PR in prek that implements it -> already with my first
>>> comments
>>> > > > > where  tried it:
>>> > > > > https://github.com/j178/prek/pull/481#issuecomment-3196986281
>>> > > > >
>>> > > > > You can try it yourself also and provide comments:
>>> > > > >
>>> > > > > 1. Install the in-progress version of prek with workspaces
>>> > > > >
>>> > > > > uv tool install "prek @ git+
>>> > https://github.com/j178/prek.git@workspace
>>> > > "
>>> > > > >
>>> > > > > 2. Checkout my PR in airflow repo:
>>> > > > >
>>> > > > > gh co 54615
>>> > > > >
>>> > > > > 3. Play
>>> > > > >
>>> > > > > J.
>>> > > > >
>>> > > > >
>>> > > > > On Mon, Aug 18, 2025 at 3:07 PM Kaxil Naik <kaxiln...@gmail.com>
>>> > > wrote:
>>> > > > >
>>> > > > >> I switched too, thank you guys
>>> > > > >>
>>> > > > >> On Mon, 18 Aug 2025 at 07:18, Amogh Desai <
>>> amoghde...@apache.org>
>>> > > > wrote:
>>> > > > >>
>>> > > > >> > Just made the switch!
>>> > > > >> >
>>> > > > >> > Thank you, Jo, Jarek and Ash!
>>> > > > >> >
>>> > > > >> > Thanks & Regards,
>>> > > > >> > Amogh Desai
>>> > > > >> >
>>> > > > >> >
>>> > > > >> > On Sun, Aug 17, 2025 at 5:36 PM Zhe-You Liu <
>>> zhu424....@gmail.com
>>> > >
>>> > > > >> wrote:
>>> > > > >> >
>>> > > > >> > > I just switched to `prek`, and it runs smoothly and quickly.
>>> > > > >> > > Thank you, Jarek, Jo, and Ash!
>>> > > > >> > >
>>> > > > >> > > Best regards,
>>> > > > >> > > Jason
>>> > > > >> > >
>>> > > > >> > > On Sun, Aug 17, 2025 at 6:59 PM Pavankumar Gopidesu <
>>> > > > >> > > gopidesupa...@gmail.com>
>>> > > > >> > > wrote:
>>> > > > >> > >
>>> > > > >> > > > Woohoo great work Jarek thank you :)
>>> > > > >> > > >
>>> > > > >> > > > Thank you Jo and ash.
>>> > > > >> > > >
>>> > > > >> > > > Pavan
>>> > > > >> > > >
>>> > > > >> > > > On Sun, Aug 17, 2025 at 9:27 AM Aritra Basu <
>>> > > > >> aritrabasu1...@gmail.com>
>>> > > > >> > > > wrote:
>>> > > > >> > > >
>>> > > > >> > > > > This is a good change, looking forward to seeing it
>>> adopted
>>> > > more
>>> > > > >> > > > > --
>>> > > > >> > > > > Regards,
>>> > > > >> > > > > Aritra Basu
>>> > > > >> > > > >
>>> > > > >> > > > > On Sun, 17 Aug 2025, 12:36 pm Jarek Potiuk, <
>>> > ja...@potiuk.com
>>> > > >
>>> > > > >> > wrote:
>>> > > > >> > > > >
>>> > > > >> > > > > > Hello everyone,
>>> > > > >> > > > > >
>>> > > > >> > > > > > *TL;DR: Please switch from pre-commit to prek for your
>>> > local
>>> > > > >> > > > development,
>>> > > > >> > > > > > please, at your earliest convenience.*
>>> > > > >> > > > > >
>>> > > > >> > > > > > Following the discussion in
>>> > > > >> > > > > >
>>> > > > >>
>>> https://lists.apache.org/thread/mb73g4rz56n5l0gjyzm9jzolnkkc6o5c I
>>> > > > >> > > > just
>>> > > > >> > > > > > merged https://github.com/apache/airflow/pull/54258
>>> that
>>> > > > >> switches
>>> > > > >> > > > > > `pre-commit` we used for several years to `prek` in
>>> CI and
>>> > > > >> breeze.
>>> > > > >> > > The
>>> > > > >> > > > > > `prek` tool is faster, leaner and has already more
>>> > features
>>> > > we
>>> > > > >> > wanted
>>> > > > >> > > > to
>>> > > > >> > > > > > have in the last few years for pre-commit and we had
>>> to
>>> > add
>>> > > > >> them in
>>> > > > >> > > > > breeze
>>> > > > >> > > > > > - a lot of them added in a matter of last few days in
>>> the
>>> > > > >> course of
>>> > > > >> > > > > > collaboration with the author.
>>> > > > >> > > > > >
>>> > > > >> > > > > > In short what everyone should do now (at earliest
>>> > > > convenience):
>>> > > > >> > > > > >
>>> > > > >> > > > > > *uv tool install prek*
>>> > > > >> > > > > > *prek install -f*
>>> > > > >> > > > > >
>>> > > > >> > > > > > That's all you need to do, to switch.
>>> > > > >> > > > > >
>>> > > > >> > > > > > The documentation on how to use`prek` is updated in
>>> > > > >> > > > > >
>>> > > > >> > > > > >
>>> > > > >> > > > >
>>> > > > >> > > >
>>> > > > >> > >
>>> > > > >> >
>>> > > > >>
>>> > > >
>>> > >
>>> >
>>> https://github.com/apache/airflow/blob/main/contributing-docs/08_static_code_checks.rst
>>> > > > >> > > > > >
>>> > > > >> > > > > > Here is the short(?) recap:
>>> > > > >> > > > > >
>>> > > > >> > > > > > *On running prek:*
>>> > > > >> > > > > >
>>> > > > >> > > > > > Running pre-commit hooks is as easy as running
>>> `*prek*`.
>>> > > That
>>> > > > >> > should
>>> > > > >> > > > work
>>> > > > >> > > > > > in most cases out-of-the-box (no need even to add
>>> `run`).
>>> > If
>>> > > > you
>>> > > > >> > have
>>> > > > >> > > > > > `prek` installed with `prek install` - it will just
>>> run
>>> > > > >> > automatically
>>> > > > >> > > > > when
>>> > > > >> > > > > > you commit your code.
>>> > > > >> > > > > >
>>> > > > >> > > > > > We removed `breeze static-checks` because `prek`
>>> > implements
>>> > > > >> > > practically
>>> > > > >> > > > > all
>>> > > > >> > > > > > the functionality we had to add in breeze in order to
>>> > > > compensate
>>> > > > >> > for
>>> > > > >> > > > lack
>>> > > > >> > > > > > of cooperation from pre-commit maintainers
>>> (auto-commit,
>>> > > > >> > > --last-commit,
>>> > > > >> > > > > > --only-my-changes . When you run `breeze static
>>> check` you
>>> > > > will
>>> > > > >> > see a
>>> > > > >> > > > > > removal message and instructions on how to switch to
>>> prek.
>>> > > > >> > > > > >
>>> > > > >> > > > > > One notable change is that breeze's
>>> `--only-my-changes `
>>> > can
>>> > > > be
>>> > > > >> > > > achieved
>>> > > > >> > > > > > with `*prek --from-ref main*` (and it also works now
>>> for
>>> > > past
>>> > > > >> > > branches
>>> > > > >> > > > if
>>> > > > >> > > > > > you are working on PR  that was branched from
>>> v3-0-test
>>> > for
>>> > > > >> example
>>> > > > >> > > > > (`prek
>>> > > > >> > > > > > --from-ref v3-0-test` )
>>> > > > >> > > > > >
>>> > > > >> > > > > > *On why we switched:*
>>> > > > >> > > > > >
>>> > > > >> > > > > > The `prek` tool is written in Rust and *Jo* (sorry I
>>> > > > misspelled
>>> > > > >> > your
>>> > > > >> > > > name
>>> > > > >> > > > > > before): https://github.com/j178  -  has gone above
>>> and
>>> > > > beyond
>>> > > > >> and
>>> > > > >> > > > > > accommodated all our comments and issues we found
>>> during
>>> > the
>>> > > > >> > > > development.
>>> > > > >> > > > > > Including the likely toughest decision ever on
>>> changing
>>> > name
>>> > > > >> from
>>> > > > >> > > > > prefligit
>>> > > > >> > > > > > to prek. A lot of people helped to test it and
>>> reported
>>> > (and
>>> > > > >> helped
>>> > > > >> > > > > fixing
>>> > > > >> > > > > > some initial issue) and with 0.0.26 released
>>> yesterday,
>>> > > `prek`
>>> > > > >> > seems
>>> > > > >> > > to
>>> > > > >> > > > > be
>>> > > > >> > > > > > ready to be used in our CI and local development. The
>>> last
>>> > > > issue
>>> > > > >> > that
>>> > > > >> > > > was
>>> > > > >> > > > > > blocker, was with pseudo-terminal allocation and
>>> colors in
>>> > > the
>>> > > > >> > > failure
>>> > > > >> > > > > > output from ruff and others. It is a pleasure to work
>>> with
>>> > > Jo
>>> > > > >> (and
>>> > > > >> > I
>>> > > > >> > > > > > started to learn a bit rust while doing so  :D). Big
>>> > thanks
>>> > > to
>>> > > > >> Jo
>>> > > > >> > for
>>> > > > >> > > > the
>>> > > > >> > > > > > dedication and persistence and
>>> "user-focused-thinking".
>>> > > Thanks
>>> > > > >> to
>>> > > > >> > Ash
>>> > > > >> > > > for
>>> > > > >> > > > > > all the encouragement for Jo as well and all the
>>> initial
>>> > > push
>>> > > > >> of us
>>> > > > >> > > in
>>> > > > >> > > > > the
>>> > > > >> > > > > > "prefligit" direction.
>>> > > > >> > > > > >
>>> > > > >> > > > > > There are more things to come and we have a way to
>>> force a
>>> > > > >> minimum
>>> > > > >> > > > > version
>>> > > > >> > > > > > of prek when we start using the upcoming versions
>>> > > > >> > > > (`minimum_prek_version`
>>> > > > >> > > > > > is now set to 0.0.26).
>>> > > > >> > > > > >
>>> > > > >> > > > > > *On pre-commit compatibility:*
>>> > > > >> > > > > >
>>> > > > >> > > > > > For now, the .pre-commit-config.yaml is compatible
>>> with
>>> > the
>>> > > > >> latest
>>> > > > >> > > > > > pre-commit (it will just raise a warning now as
>>> > > > >> > prek_minimum_version
>>> > > > >> > > is
>>> > > > >> > > > > > unknown to it). You can continue using `pre-commit`
>>> for a
>>> > > > while
>>> > > > >> -
>>> > > > >> > but
>>> > > > >> > > > > this
>>> > > > >> > > > > > warning will remind you to switch to `prek` at
>>> earliest
>>> > > > >> > convenience.
>>> > > > >> > > At
>>> > > > >> > > > > > some point of time when `prek` will have better
>>> monorepo
>>> > > > >> support we
>>> > > > >> > > > will
>>> > > > >> > > > > > likely split our pre-commit config to multiple files
>>> at
>>> > > which
>>> > > > >> point
>>> > > > >> > > we
>>> > > > >> > > > > will
>>> > > > >> > > > > > only support `prek` (unless pre-commit will catch up
>>> and
>>> > > > >> implement
>>> > > > >> > > > > > compatible feature, but I have no high hopes for that)
>>> > > > >> > > > > >
>>> > > > >> > > > > > *If you have errors:*
>>> > > > >> > > > > >
>>> > > > >> > > > > > Of course we should be watching for any teething
>>> issues -
>>> > so
>>> > > > >> please
>>> > > > >> > > > > report
>>> > > > >> > > > > > any issues in #contributors or #internal-airflow-ci-cd
>>> > Slack
>>> > > > >> > > channels.
>>> > > > >> > > > > >
>>> > > > >> > > > > > If needs be - you can switch back to pre-commit by:
>>> > > > >> > > > > >
>>> > > > >> > > > > > *prek uninstall*
>>> > > > >> > > > > > *pre-commit install *
>>> > > > >> > > > > >
>>> > > > >> > > > > > J.
>>> > > > >> > > > > >
>>> > > > >> > > > >
>>> > > > >> > > >
>>> > > > >> > >
>>> > > > >> >
>>> > > > >>
>>> > > > >
>>> > > >
>>> > >
>>> >
>>>
>>

Reply via email to