Unfortunately not - once release is done in PyPI we cannot do anything
(except yanking the release which means "mark it as a buggy release so that
it does not get installed by default". PyPI releases are "write-once-only"
- basically immutable. When you delete a package, you cannot upload a new
one (and this is a good idea for security and stability/reproducibility
reasons).

So the most we can do - and I will make a PR for that is to write a warning
about Python 3.12 in the upcoming 2.7.3 . I thought a bit about it and it
is the "best" we can do - just print a clear warning Python 3.12 is not
supported. I think the error is too much, while limiting 2.7.3 when 2.7.2
does not have that limit might be misleading, warning seems to be a good
compromise.

J.


On Thu, Oct 26, 2023 at 10:15 AM Amogh Desai <amoghdesai....@gmail.com>
wrote:

> Hi Jarek,
>
> Thanks for this initiative. It is always a good idea to let the end users
> know that "oh the software does not work with your current set of
> dependencies, do ---- to handle it"
>
> I like the idea of limiting the versions to < 3.12 and am for it. While we
> do this, we should not spend a lot of time and effort on this, because this
> might be
> a temporary workaround.
>
> Is there anything that we can do about 2.7.2 which is already released?
> Might be too late in the game. We might have to clearly document this so
> that users
> don't have this experience at all.
>
> Thanks,
> Amogh Desai
>
> On Wed, Oct 25, 2023 at 8:17 PM Damian Shaw <ds...@striketechnologies.com>
> wrote:
>
> > > But it seems to be changing now. Also I think (by listening to some
> > podcast) - Python community starts to be overwhelmed with keeping all the
> > backwards-compatibility and they are changing their approach for future
> > releases to be more aggressive in removals, separate out certain "core"
> > features to outside-libraries and removing them out of the core Python
> >
> > I appreciate this is a little off topic, but I follow core dev of CPython
> > closely and would just like to add I don't think this take is quite
> > accurate. IMO Python core dev are focused on Python backwards
> compatibility
> > in general but say a few things happened:
> >
> > 1. Functions that have been marked as deprecated for many releases of
> > Python are finally being cleaned up
> > 2. A group of modules which are completely unmaintained got marked as
> > deprecated in PEP 594 (the Steering Council made clear no similar PEPs
> > would be accepted and each module will be treated on a case-by-case
> basis)
> > 3. Several large projects are working on the underlying implementation of
> > CPython and they are more willing to propose larger changes to the C-API
> > than has happened in the past
> >
> > There has been discussion implementing an official "soft depreciation",
> > which will avoid the eventual removal of a function but no longer support
> > any development:
> >
> https://discuss.python.org/t/formalize-the-concept-of-soft-deprecation-dont-schedule-removal-in-pep-387-backwards-compatibility-policy/27957
> >
> > Damian
> >
> > -----Original Message-----
> > From: Jarek Potiuk <ja...@potiuk.com>
> > Sent: Wednesday, October 25, 2023 6:15 AM
> > To: dev@airflow.apache.org
> > Subject: Re: Limiting (or errorring out) Airflow for Python 3.12 until
> our
> > dependencies/we catch up
> >
> > > I agree, has there been a new release of Python that has worked with
> > Airflow without at least some fixing?
> >
> > Generally yes. Most of the past bumps were mostly test fixing. I can't
> > recall any "serious" changes in the code. Maybe in some single providers.
> > Generally  Python 3.7  -> 3.11 were extremely backwards compatible, there
> > were really maybe 2 cases I remember where we had compatibility issues in
> > airflow "core" and they were because of security fixes (some edge cases
> of
> > url parsing changed Is one that I remember) - and that was even in
> > patchlevel releases - not even in the minor release.
> >
> > > I understand that Airflow is both a library and an application and I
> > > do
> > agree with not putting upper bounds on libraries unless required, but it
> > seems like allowing an arbitrary upper bound of Python is never going to
> be
> > practical. If users really need to break this support version and install
> > an older version of Airflow with a newer version of Python it isn't
> > difficult to build Airflow locally with patches, and they will likely
> need
> > to add more patches to get Airflow to work anyway, so their cost is
> already
> > built in.
> >
> > To be honest, It's been practical for now, this is the first time it has
> > happened for quite a while. But it seems to be changing now. Also I think
> > (by listening to some podcast) - Python community starts to be
> overwhelmed
> > with keeping all the backwards-compatibility and they are changing their
> > approach for future releases to be more aggressive in removals, separate
> > out certain "core" features to outside-libraries and removing them out of
> > the core Python (which is actually quite an inspiration for us in what we
> > do by moving stuff - like executors, hopefully FAB in the future and
> maybe
> > few others from core to providers), so we can expect more of such
> breakages
> > in the moment. Having explicit upper-binding will be a good idea.
> >
> > I think we can do a hybrid solution. We can upper-bind for 2.8 but when
> we
> > release 2.7.3 we can implement raising error if someone wants to use
> Python
> > 3.12.  I think that will be the best approach.
> >
> > J.
> >
> >
> >
> > On Mon, Oct 23, 2023 at 6:33 PM Damian Shaw <
> ds...@striketechnologies.com>
> > wrote:
> >
> > > I agree, has there been a new release of Python that has worked with
> > > Airflow without at least some fixing?
> > >
> > > I understand that Airflow is both a library and an application and I
> > > do agree with not putting upper bounds on libraries unless required,
> > > but it seems like allows an arbitrary upper bound of Python is never
> > > going to be practical. If users really need to break this support
> > > version and install an older version of Airflow with a newer version
> > > of Python it isn't difficult to build Airflow locally with patches,
> > > and they will likely need to add more patches to get Airflow to work
> > > anyway, so their cost is already built in.
> > >
> > > Even if just limiting to 3.11 or lower for 2.7.3 or higher I think the
> > > benefits are there, Python 3.12 might be supported soon or there might
> > > be more hidden issues that mean it isn't supported for 9+ months.
> > >
> > > Damian
> > >
> > > -----Original Message-----
> > > From: Pierre Jeambrun <pierrejb...@gmail.com>
> > > Sent: Monday, October 23, 2023 12:13 PM
> > > To: dev@airflow.apache.org
> > > Subject: Re: Limiting (or errorring out) Airflow for Python 3.12 until
> > > our dependencies/we catch up
> > >
> > > I think that limiting to <3.12 makes sense. 2.7.2 is already out so
> > > I'm not sure we can do anything for users trying to install 2.7.2 on
> > > python 3.12.
> > >
> > > I believe there is no such thing as a python minor that is out of the
> > > box working well for airflow. It seems that we always need extra
> > > efforts to bring in a new version due to small (or big) breaking
> > > change. Maybe limiting python version should be by default (always),
> > > until we explicitly move that limit when we integrate a new version.
> > > Airflow would not be installable on newest version that were not
> > explicitly tested against.
> > >
> > > Le lun. 23 oct. 2023 à 14:19, Aritra Basu <aritrabasu1...@gmail.com> a
> > > écrit :
> > >
> > > > I think I'm on the side of giving an error message saying 3.12 is
> > > > not yet supported in 2.7.3, I would assume anyone seeing that would
> > > > understand the implication that neither does 2.7.2 and thus they
> > > > wouldn't try installing it.
> > > >
> > > > Though I would also think they would have the same understanding
> > > > that if
> > > > 2.7.3 doesn't
> > > > list 3.12 as supported neither would 2.7.2. But I'd rather be
> > > > explicitly told 2.7.3 and earlier don't work with 3.12.
> > > >
> > > > Thanks and Regards,
> > > > Aritra Basu
> > > >
> > > >
> > > > On Mon, Oct 23, 2023 at 4:54 PM Jarek Potiuk <ja...@potiuk.com>
> wrote:
> > > >
> > > > > Hey everyone,
> > > > >
> > > > > I've opened a PR https://github.com/apache/airflow/pull/35123  to
> > > > > limit Airflow to Python < 3.12 though I am not sure if this is the
> > > > > best idea
> > > > so I
> > > > > seek devlist wisdom to decide whether we should do this, or maybe
> > > > something
> > > > > else like allowing airflow to be installed but produce a clean
> > > > > error indicating 3.12 is not (yet) supported.
> > > > >
> > > > > Currently Airflow does not work for Python 3.12 - mainly because
> > > > > of "distutils" removal https://peps.python.org/pep-0632/ and the
> > > > > way how
> > > > some
> > > > > of the core dependencies - Pendulum for on - and likely some of
> > > > > our providers have other breaking dependencies. While Andrey works
> > > > > on
> > > > Pendulum
> > > > > upgrade as they released version 3 that is compatible, this might
> > > > > take
> > > > some
> > > > > time and we might find out there are other problems as we are not
> > > > > running the full test suite for 3.12 due to dependency issues.
> > > > >
> > > > > It looks like that Python 3.12 is a bit different than 3.7 - 3.11
> > > > releases
> > > > > were - this is the first release that is more aggressive when it
> > > > > comes to backwards compatibility. There are also some unit test
> > > > > methods removal
> > > > and
> > > > > other change that might make our 3.12  migration a bit more
> > > > > painful (more details here for example)
> > > > > https://towardsdatascience.com/python3-12-98245ecd6a97
> > > > >
> > > > > Currently people attempting to install Airflow with Python 3.12
> > > > > will get unobvious errors (like build errors or runtime errors
> > > > > that are
> > > cryptic).
> > > > > This is already happening and users are reporting issues that
> > > > > "airflow
> > > > does
> > > > > not work" which boils down to installing Airflow (or breeze) for
> > > > > Python 3.12.
> > > > >
> > > > > I initially thought (hence the PR) that we can limit Airflow to <
> > > > > 3.12
> > > > and
> > > > > release it in 2.7.3 (and remove the limitation once we get
> > > > > official
> > > > > 3.12 support).
> > > > >
> > > > > So maybe a better solution will be to check the Python version at
> > > > > startup time and fail Airflow with clear error. Or maybe we should
> > > > > not worry
> > > > about
> > > > > it at all?
> > > > >
> > > > > The problem is that if we limit 2.7.3, users installing airflow on
> > > > > 3.12 will install 2.7.2 because it has no limit for Python - and
> > > > > will end up with the very same experience they have now.
> > > > >
> > > > > WDYT?
> > > > >
> > > > > J.
> > > > >
> > > >
> > > ________________________________
> > >  Strike Technologies, LLC (“Strike”) is part of the GTS family of
> > > companies. Strike is a technology solutions provider, and is not a
> > > broker or dealer and does not transact any securities related business
> > > directly whatsoever. This communication is the property of Strike and
> > > its affiliates, and does not constitute an offer to sell or the
> > > solicitation of an offer to buy any security in any jurisdiction. It
> > > is intended only for the person to whom it is addressed and may
> > > contain information that is privileged, confidential, or otherwise
> > protected from disclosure.
> > > Distribution or copying of this communication, or the information
> > > contained herein, by anyone other than the intended recipient is
> > > prohibited. If you have received this communication in error, please
> > > immediately notify Strike at i...@striketechnologies.com, and delete
> > and destroy any copies hereof.
> > > ________________________________
> > >
> > > CONFIDENTIALITY / PRIVILEGE NOTICE: This transmission and any
> > > attachments are intended solely for the addressee. This transmission
> > > is covered by the Electronic Communications Privacy Act, 18 U.S.C
> > > ''2510-2521. The information contained in this transmission is
> > > confidential in nature and protected from further use or disclosure
> > > under U.S. Pub. L. 106-102, 113 U.S. Stat. 1338 (1999), and may be
> > > subject to attorney-client or other legal privilege. Your use or
> > > disclosure of this information for any purpose other than that
> > > intended by its transmittal is strictly prohibited, and may subject
> > > you to fines and/or penalties under federal and state law. If you are
> > > not the intended recipient of this transmission, please DESTROY ALL
> > > COPIES RECEIVED and confirm destruction to the sender via return
> > transmittal.
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> > > For additional commands, e-mail: dev-h...@airflow.apache.org
> > >
> > ________________________________
> >  Strike Technologies, LLC (“Strike”) is part of the GTS family of
> > companies. Strike is a technology solutions provider, and is not a broker
> > or dealer and does not transact any securities related business directly
> > whatsoever. This communication is the property of Strike and its
> > affiliates, and does not constitute an offer to sell or the solicitation
> of
> > an offer to buy any security in any jurisdiction. It is intended only for
> > the person to whom it is addressed and may contain information that is
> > privileged, confidential, or otherwise protected from disclosure.
> > Distribution or copying of this communication, or the information
> contained
> > herein, by anyone other than the intended recipient is prohibited. If you
> > have received this communication in error, please immediately notify
> Strike
> > at i...@striketechnologies.com, and delete and destroy any copies
> hereof.
> > ________________________________
> >
> > CONFIDENTIALITY / PRIVILEGE NOTICE: This transmission and any attachments
> > are intended solely for the addressee. This transmission is covered by
> the
> > Electronic Communications Privacy Act, 18 U.S.C ''2510-2521. The
> > information contained in this transmission is confidential in nature and
> > protected from further use or disclosure under U.S. Pub. L. 106-102, 113
> > U.S. Stat. 1338 (1999), and may be subject to attorney-client or other
> > legal privilege. Your use or disclosure of this information for any
> purpose
> > other than that intended by its transmittal is strictly prohibited, and
> may
> > subject you to fines and/or penalties under federal and state law. If you
> > are not the intended recipient of this transmission, please DESTROY ALL
> > COPIES RECEIVED and confirm destruction to the sender via return
> > transmittal.
> >
>

Reply via email to