Oh yeah. We keep on having issues with those circular imports. (also see
https://github.com/apache/airflow/issues/31374 in Airflow 2.6.1.

I guess it is too late to fix the fact that we try to import a lot in
"airflow" package, that's the original sin that we need to workaround in a
number of places,

But I will think if we can somehow add CI tests preventing those issues..

On Thu, May 18, 2023 at 12:00 PM Ash Berlin-Taylor <a...@apache.org> wrote:

> -1 (binding) to at least anything with a logging provider:
>
> https://github.com/apache/airflow/pull/30994 is causing problems with
> custom logging config -- it leads to a circular import error
> Traceback (most recent call last):
> File "/usr/local/lib/python3.10/site-packages/airflow/logging_config.py",
> line 41, in configure_logging
> logging_config = import_string(logging_class_path)
> File
> "/usr/local/lib/python3.10/site-packages/airflow/utils/module_loading.py",
> line 36, in import_string
> module = import_module(module_path)
> File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in
> import_module
> return _bootstrap._gcd_import(name[level:], package, level)
> File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
> File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
> File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
> File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
> File "<frozen importlib._bootstrap_external>", line 883, in exec_module
> File "<frozen importlib._bootstrap>", line 241, in
> _call_with_frames_removed
> File
> "/usr/local/lib/python3.10/site-packages/astronomer/runtime/logging.py",
> line 10, in <module>
> from airflow.providers.amazon.aws.log.s3_task_handler import S3TaskHandler
> File
> "/usr/local/lib/python3.10/site-packages/airflow/providers/amazon/__init__.py",
> line 35, in <module>
> if packaging.version.parse(airflow.version.version) <
> packaging.version.parse("2.4.0"):
> AttributeError: partially initialized module 'airflow' has no attribute
> 'version' (most likely due to a circular import)
> (Discovered by my colleage Wei Lee)
> -ash
> On May 16 2023, at 6:00 pm, Elad Kalif <elad...@apache.org> wrote:
> > Hey all,I have just cut the new wave Airflow Providers packages. This
> > email is calling a vote on the release,which will last for 72 hours -
> > which means that it will end on May 19, 2023 05:00 PM UTCConsider this
> > my (binding) +1.
> > Airflow Providers are available
> > at:
> https://dist.apache.org/repos/dist/dev/airflow/providers/*apache-airflow-providers-
> <PROVIDER>-*.tar.gz*
> > are the binary Python "sdist" release - they are also official
> > "sources" for the provider
> > packages.*apache_airflow_providers_<PROVIDER>-*.whl are the binary
> > Python "wheel" release.The test procedure for PMC members who would
> > like to test the RC candidates are described
> > inhttps://
> github.com/apache/airflow/blob/main/dev/README_RELEASE_PROVIDER_PACKAGES.md#verify-the-release-by-pmc-membersand
> > for Contributors:
> https://github.com/apache/airflow/blob/main/dev/README_RELEASE_PROVIDER_PACKAGES.md#verify-by-contributorsPublic
> > keys are available
> > at:https://dist.apache.org/repos/dist/release/airflow/KEYSPlease vote
> > accordingly:[ ] +1 approve[ ] +0 no opinion[ ] -1 disapprove with the
> > reasonOnly votes from PMC members are binding, but members of the
> > community are encouraged to test the release and vote with
> > "(non-binding)".Please note that the version number excludes the 'rcX'
> > string.This will allow us to rename the artifact without modifyingthe
> > artifact checksums when we actually release.The status of testing the
> > providers by the community is kept
> > here:https://github.com/apache/airflow/issues/31322
> > You can find packages as well as detailed changelog following the below
> links:
> > https://pypi.org/project/apache-airflow-providers-airbyte/3.3.0rc1/
> > https://pypi.org/project/apache-airflow-providers-alibaba/2.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-amazon/8.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-beam/5.1.0rc1/
> >
> https://pypi.org/project/apache-airflow-providers-apache-cassandra/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-drill/2.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-druid/3.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-flink/1.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-hdfs/4.0.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-hive/6.1.0rc1/
> >
> https://pypi.org/project/apache-airflow-providers-apache-impala/1.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-kafka/1.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-kylin/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-livy/3.5.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-pig/4.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-pinot/4.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-spark/4.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-apache-sqoop/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-arangodb/2.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-asana/2.2.0rc1/
> >
> https://pypi.org/project/apache-airflow-providers-atlassian-jira/2.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-celery/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-cloudant/3.2.0rc1/
> >
> https://pypi.org/project/apache-airflow-providers-cncf-kubernetes/6.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-common-sql/1.5.0rc1/
> > https://pypi.org/project/apache-airflow-providers-databricks/4.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-datadog/3.3.0rc1/
> > https://pypi.org/project/apache-airflow-providers-dbt-cloud/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-dingding/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-discord/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-docker/3.7.0rc1/
> >
> https://pypi.org/project/apache-airflow-providers-elasticsearch/4.5.0rc1/
> > https://pypi.org/project/apache-airflow-providers-exasol/4.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-facebook/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-ftp/3.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-github/2.3.0rc1/
> > https://pypi.org/project/apache-airflow-providers-google/10.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-grpc/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-hashicorp/3.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-http/4.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-imap/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-influxdb/2.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-jdbc/3.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-jenkins/3.3.0rc1/
> >
> https://pypi.org/project/apache-airflow-providers-microsoft-azure/6.1.0rc1/
> >
> https://pypi.org/project/apache-airflow-providers-microsoft-mssql/3.4.0rc1/
> >
> https://pypi.org/project/apache-airflow-providers-microsoft-psrp/2.3.0rc1/
> >
> https://pypi.org/project/apache-airflow-providers-microsoft-winrm/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-mongo/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-mysql/5.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-neo4j/3.3.0rc1/
> > https://pypi.org/project/apache-airflow-providers-odbc/3.3.0rc1/
> > https://pypi.org/project/apache-airflow-providers-openfaas/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-opsgenie/5.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-oracle/3.7.0rc1/
> > https://pypi.org/project/apache-airflow-providers-pagerduty/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-papermill/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-plexus/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-postgres/5.5.0rc1/
> > https://pypi.org/project/apache-airflow-providers-presto/5.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-qubole/3.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-redis/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-salesforce/5.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-samba/4.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-segment/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-sendgrid/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-sftp/4.3.0rc1/
> > https://pypi.org/project/apache-airflow-providers-singularity/3.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-slack/7.3.0rc1/
> > https://pypi.org/project/apache-airflow-providers-smtp/1.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-snowflake/4.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-sqlite/3.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-ssh/3.7.0rc1/
> > https://pypi.org/project/apache-airflow-providers-tableau/4.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-tabular/1.2.0rc1/
> > https://pypi.org/project/apache-airflow-providers-telegram/4.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-trino/5.1.0rc1/
> > https://pypi.org/project/apache-airflow-providers-vertica/3.4.0rc1/
> > https://pypi.org/project/apache-airflow-providers-zendesk/4.3.0rc1/
> >
> > Cheers,Elad Kalif

Reply via email to