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

Convert remaining providers to the new structure #46045

Closed
86 tasks done
potiuk opened this issue Jan 25, 2025 · 54 comments · Fixed by #46590
Closed
86 tasks done

Convert remaining providers to the new structure #46045

potiuk opened this issue Jan 25, 2025 · 54 comments · Fixed by #46590
Labels
area:providers kind:meta High-level information important to the community

Comments

@potiuk
Copy link
Member

potiuk commented Jan 25, 2025

We have now a number of providers converted to the new structure. We have almost 90 of them to be converted. And we have automated scripts that do bulk of the work. This was part of #44511

Process of the conversion of each of the provider is easy - and described in https://github.com/apache/airflow/blob/main/dev/moving_providers/README.md

The devlist announcement: https://lists.apache.org/thread/dzbj5yx5kwpbwyr5yscp4wnlsp6p9v8l

The list below keeps track of the conversion. The list is generated via:

find providers/src -name 'provider.yaml' | sed 's/providers\/src\/airflow\/providers/ - [ ] /' | sed s'/\/provider.yaml//'  | sor
  • /amazon
  • /apache/beam
  • /apache/cassandra
  • /apache/drill
  • /apache/druid
  • /apache/flink
  • /apache/hdfs
  • /apache/hive
  • /apache/impala
  • /apache/kafka
  • /apache/kylin
  • /apache/livy
  • /apache/pig
  • /apache/pinot
  • /apache/spark
  • /apprise
  • /arangodb
  • /asana
  • /atlassian/jira
  • /cloudant
  • /cncf/kubernetes
  • /cohere
  • /common/compat
  • /common/io
  • /databricks
  • /datadog
  • /dbt/cloud
  • /dingding
  • /discord
  • /docker
  • /elasticsearch
  • /exasol
  • /fab
  • /facebook
  • /ftp
  • /github
  • /google
  • /grpc
  • /hashicorp
  • /http
  • /imap
  • /influxdb
  • /jdbc
  • /jenkins
  • /microsoft/azure
  • /microsoft/mssql
  • /microsoft/psrp
  • /microsoft/winrm
  • /mongo
  • /mysql
  • /neo4j
  • /odbc
  • /openai
  • /openfaas
  • /openlineage
  • /opensearch
  • /opsgenie
  • /oracle
  • /pagerduty
  • /papermill
  • /pgvector
  • /pinecone
  • /postgres
  • /presto
  • /qdrant
  • /redis
  • /salesforce
  • /samba
  • /segment
  • /sendgrid
  • /sftp
  • /singularity
  • /slack
  • /smtp
  • /snowflake
  • /sqlite
  • /ssh
  • /tableau
  • /telegram
  • /teradata
  • /trino
  • /vertica
  • /weaviate
  • /yandex
  • /ydb
  • /zendesk
@potiuk potiuk converted this from a draft issue Jan 25, 2025
@dosubot dosubot bot added area:providers kind:meta High-level information important to the community labels Jan 25, 2025
@rawwar
Copy link
Collaborator

rawwar commented Jan 26, 2025

I'll work on Zendesk, ydb

@Prab-27
Copy link
Contributor

Prab-27 commented Jan 26, 2025

I'm working on Trino, Apprise

@eladkal
Copy link
Contributor

eladkal commented Jan 26, 2025

Lets please make sure we merge open PRs for the providers (if we can) before the conversion.

@vatsrahul1001
Copy link
Collaborator

PR for Weaviate.

@potiuk
Copy link
Member Author

potiuk commented Jan 26, 2025

Lets please make sure we merge open PRs for the providers (if we can) before the conversion.

Yeah before attempting to convert a particular provider It would be great to check if there are outsanding PRs. I am going through the PRs from the last few weeks to see if they apply - but if anyone will want to take on a provider - just checking if there are no related PRs before will do the job :)

@potiuk
Copy link
Member Author

potiuk commented Feb 7, 2025

Three to go:

@potiuk
Copy link
Member Author

potiuk commented Feb 7, 2025

Two to go !

@Prab-27
Copy link
Contributor

Prab-27 commented Feb 7, 2025

I 'll work on Amazon

@potiuk
Copy link
Member Author

potiuk commented Feb 7, 2025

@o-nikolas already works on Amazon

@kunaljubce
Copy link
Contributor

For anyone coming in new, microsoft.azure PR is in the works :)

@ferruzzi
Copy link
Contributor

ferruzzi commented Feb 7, 2025

@potiuk I didn't think it would actually let me do that, but I edited your last comment with the names of the person working on the last two so people don't keep pinging you that they can do them.

niklasr22 pushed a commit to niklasr22/airflow that referenced this issue Feb 8, 2025
…apache#46139)

As part of apache#46045 we are moving all providers to the new structure,
each with it's own pyproject.toml. However we noticed that constraint
generation is somewhat broken during the move:

* providers moved to the new structure disappeared from pypi constraints
* http provider in SOME PRs started to appear in "source constraints"

Both should not happen:

* pypi constraints should contain all providers (latest versions in
  PyPI)
* source providers should contain no providers - only their dependencies

There are two reasons for those two issues, and this PR fixes both:

1) The PyPI providers were removed because `uv pip install .` without
   editable flag is currently - pretty unexpectedly - installing
   local workspaced providers rather than install them from PyPI and
   there are no controls to disable it.

   Workaround for that is that during constraint generation we
   remove temporarily all providers from workspace definition in the
   pyproject.toml - this way providers are installed from PyPI.
   Feature request to handle it has been raised in the
   astral-sh/uv#10991

2) The http provider was added to the constraint in PRs where
   the http provider is a required dependency (for example in
   discord provider). Since the http provider is not yet
   migrated, discord installation in workspace will pull it
   from PyPI rather than from the local workspace.

   This has been fixed by simply migrating the http provider
   to the new structure,
niklasr22 pushed a commit to niklasr22/airflow that referenced this issue Feb 8, 2025
niklasr22 pushed a commit to niklasr22/airflow that referenced this issue Feb 8, 2025
niklasr22 pushed a commit to niklasr22/airflow that referenced this issue Feb 8, 2025
@potiuk
Copy link
Member Author

potiuk commented Feb 8, 2025

@potiuk I didn't think it would actually let me do that, but I edited your last comment with the names of the person working on the last two so people don't keep pinging you that they can do them.

cool

@potiuk
Copy link
Member Author

potiuk commented Feb 8, 2025

Just Amazon left (and almost there: @o-nikolas ) :)

potiuk pushed a commit to potiuk/airflow that referenced this issue Feb 8, 2025
potiuk pushed a commit to potiuk/airflow that referenced this issue Feb 8, 2025
potiuk pushed a commit to potiuk/airflow that referenced this issue Feb 8, 2025
potiuk pushed a commit to potiuk/airflow that referenced this issue Feb 9, 2025
potiuk pushed a commit to potiuk/airflow that referenced this issue Feb 9, 2025
@potiuk potiuk closed this as completed in fdb934f Feb 9, 2025
@github-project-automation github-project-automation bot moved this from In progress to Done in CI / DEV ENV planned work Feb 9, 2025
@potiuk
Copy link
Member Author

potiuk commented Feb 9, 2025

DONE ! 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉 🎉

@jscheffl
Copy link
Contributor

jscheffl commented Feb 9, 2025

Fantastic! Now the cleanup can start!

@potiuk
Copy link
Member Author

potiuk commented Feb 9, 2025

Fantastic! Now the cleanup can start!

Oh. Absolutely :)

vargacypher pushed a commit to vargacypher/airflow that referenced this issue Feb 9, 2025
Fixes: apache#46045

Co-authored-by: Niko Oliveira <onikolas@amazon.com>
@o-nikolas
Copy link
Contributor

Awesome! Great work everyone! 😃

@shubhamraj-git
Copy link
Contributor

shubhamraj-git commented Feb 10, 2025 via email

@bugraoz93
Copy link
Collaborator

Great work! Amazing team effort! This kind of big chunk of work always feels better 😄 Thanks all!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:providers kind:meta High-level information important to the community
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.