Skip to content
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

Reorganize devel_only extra in airflow's setup.py #33907

Merged
merged 1 commit into from
Aug 31, 2023

Conversation

potiuk
Copy link
Member

@potiuk potiuk commented Aug 30, 2023

The devel_only extra puts together all dependencies that are needed for CI image and in order to run tests in local virtualenv for various test cases of ours - but they are not needed as dependencies of particular providers. They were a little "bag of everything" and they were hiding some unused dependencies or dependencies that were either unused or they were actually provider dependencies already.

For example we had qds-sdk dependency there which was really the qubole provider dependency and it held us back from removing deprecated boto library from CI image (removed in #33889).

This PR organizes the dependency a bit better:

  • split it to logical groups
  • removes some unused dependencies
  • moves "amazon" mypy dependency from providers to here

At later stage we will move the provider ones into "[devel]" extras of the providers as part of provider decooupling, but this will require a bit more changes in CI image building and some documentation update for developers. This is an intermediate step to organize it better.


^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in newsfragments.

@Taragolis
Copy link
Contributor

We could also remove "types-boto" from mypy_dependencies

@potiuk
Copy link
Member Author

potiuk commented Aug 30, 2023

We could also remove "types-boto" from mypy_dependencies

Good point

The `devel_only` extra puts together all dependencies that are
needed for CI image and in order to run tests in local virtualenv
for various test cases of ours - but they are not needed as dependencies
of particular providers. They were a little "bag of everything"
and they were hiding some unused dependencies or dependencies that
were either unused or they were actually provider dependencies already.

For example we had qds-sdk dependency there which was really the
qubole provider dependency and it held us back from removing
deprecated boto library from CI image (removed in apache#33889).

This PR organizes the dependency a bit better:

* split it to logical groups
* removes some unused dependencies
* moves "amazon" mypy dependency from providers to here

At later stage we will move the provider ones into "[devel]" extras
of the providers as part of provider decooupling, but this
will require a bit more changes in CI image building and some
documentation update for developers. This is an intermediate step
to organize it better.
@potiuk potiuk force-pushed the reorganize-devel-only-extra branch from 519ee8e to e244d20 Compare August 30, 2023 16:07
@potiuk potiuk merged commit b497234 into apache:main Aug 31, 2023
60 of 64 checks passed
@potiuk potiuk deleted the reorganize-devel-only-extra branch August 31, 2023 05:35
@ephraimbuddy ephraimbuddy added this to the Airflow 2.7.1 milestone Sep 1, 2023
@ephraimbuddy ephraimbuddy added the type:misc/internal Changelog: Misc changes that should appear in change log label Sep 1, 2023
ephraimbuddy pushed a commit that referenced this pull request Sep 1, 2023
The `devel_only` extra puts together all dependencies that are
needed for CI image and in order to run tests in local virtualenv
for various test cases of ours - but they are not needed as dependencies
of particular providers. They were a little "bag of everything"
and they were hiding some unused dependencies or dependencies that
were either unused or they were actually provider dependencies already.

For example we had qds-sdk dependency there which was really the
qubole provider dependency and it held us back from removing
deprecated boto library from CI image (removed in #33889).

This PR organizes the dependency a bit better:

* split it to logical groups
* removes some unused dependencies
* moves "amazon" mypy dependency from providers to here

At later stage we will move the provider ones into "[devel]" extras
of the providers as part of provider decooupling, but this
will require a bit more changes in CI image building and some
documentation update for developers. This is an intermediate step
to organize it better.

(cherry picked from commit b497234)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:providers type:misc/internal Changelog: Misc changes that should appear in change log
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants