-
Notifications
You must be signed in to change notification settings - Fork 14.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove distutils usages for Python 3.10 #19064
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
uranusjr
requested review from
ashb,
kaxil,
mik-laj,
potiuk and
vikramkoka
as code owners
October 19, 2021 05:23
boring-cyborg
bot
added
area:core-operators
Operators, Sensors and hooks within Core Airflow
area:dev-tools
area:providers
kind:documentation
labels
Oct 19, 2021
potiuk
approved these changes
Oct 20, 2021
github-actions
bot
added
the
full tests needed
We need to run full set of tests for this PR to merge
label
Oct 20, 2021
The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease. |
uranusjr
force-pushed
the
distutils-purge
branch
2 times, most recently
from
October 20, 2021 03:20
9e94335
to
3ac44a6
Compare
mik-laj
approved these changes
Oct 20, 2021
Version parsing capabilities when building provider packages is now provided by packaging.version.Version instead. Non-Python software version parsing (sqlite) is re-implemented with regex. Usages of strtobool are replaced by the to_boolean utility function in the airflow.utils.strings module. This function is a bit more permissive than strtobool, but should be good enough for how Airflow uses it for. This function is available since 2.0 and should be safe for usages in provider packages as well. Some usages of strtobool in providers are replaced by copying the implementation from distutils since to_boolean's different behavior would cause backward incompatibilities. The copy_file usage is replaced by shutils.copy2(), which is good enough for Airflow's needs. The distutils reference in setup.py is kept since the file is only used at build-time against setuptools, which patches the distutils import with a vendored copy and is not deprecated.
uranusjr
force-pushed
the
distutils-purge
branch
from
October 21, 2021 04:22
3ac44a6
to
8ba59fb
Compare
sharon2719
pushed a commit
to sharon2719/airflow
that referenced
this pull request
Oct 27, 2021
54 tasks
potiuk
pushed a commit
that referenced
this pull request
Jan 22, 2022
(cherry picked from commit e4888a0)
ephraimbuddy
added
the
type:misc/internal
Changelog: Misc changes that should appear in change log
label
Apr 11, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area:core-operators
Operators, Sensors and hooks within Core Airflow
area:dev-tools
area:providers
full tests needed
We need to run full set of tests for this PR to merge
kind:documentation
type:misc/internal
Changelog: Misc changes that should appear in change log
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See #19059.
Version parsing capabilities when building provider packages is now provided by
packaging.version.Version
instead. Non-Python software version parsing (sqlite) is re-implemented with regex.Usages of
strtobool
are replaced by theto_boolean
utility function in theairflow.utils.strings
module. This function is a bit more permissive thanstrtobool
, but should be good enough for how Airflow uses it for. This function is available since 2.0 and should be safe for usages in provider packages as well.The
copy_file
usage is replaced byshutils.copy2()
, which is good enough for Airflow's needs.The distutils reference in setup.py is kept since the file is only used at build-time against setuptools, which patches the distutils import with a vendored copy and is not deprecated.
See also Migration Advice in PEP 632.