Skip to content

Move PyCharm instructions to top of the file - #43081

Closed
vincbeck wants to merge 1 commit into
apache:mainfrom
aws-mwaa:vincbeck/pycharm
Closed

Move PyCharm instructions to top of the file#43081
vincbeck wants to merge 1 commit into
apache:mainfrom
aws-mwaa:vincbeck/pycharm

Conversation

@vincbeck

@vincbeckvincbeck commented Oct 16, 2024

Copy link
Copy Markdown
Contributor

These instructions do not work with my PyCharm if these instructions are not at the top of the file.

Follow-up of #42951


^ 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.

Comment threadairflow/__init__.py Outdated
@vincbeck

Copy link
Copy Markdown
ContributorAuthor

Closing it. Imports must be at the top of the file, I thought it was a linter thing but it is a syntax thing. Not much I can do

@vincbeck
vincbeck deleted the vincbeck/pycharm branch October 16, 2024 15:14
potiuk added a commit to potiuk/airflow that referenced this pull request Oct 18, 2024
Cleans-up airflow and providers `__init__.py" files in order to
get providers import work again.
This is done by excluding the two `__init__.py` files from
automated ruff isort rules adding `from __future__ import annotations`.
Also removed the `__init__.py` file from "providers" directory,
it is not needed there, because "providers" is just a folder where
we keep provider files, it's not a Python package.
That should finally get rid of the Intellij teething import
problem that has been introduced in apache#42505.
There were earlier - unsuccesful - attempts to fix it in
the apache#43116 and apache#43081 that followed apache#42951 - but the key is that Pycharm
requires the namespace's extend_path to be first "real" line
of code in the `__init__.py` to understand that the package
is an "explicit" namespace package - and it conflicts with
the requirement of "from __future__ import annotations" to be
the first line of Python code.
potiuk added a commit to potiuk/airflow that referenced this pull request Oct 18, 2024
Cleans-up airflow and providers `__init__.py" files in order to
get providers import work again.
This is done by excluding the two `__init__.py` files from
automated ruff isort rules adding `from __future__ import annotations`.
Also removed the `__init__.py` file from "providers" directory,
it is not needed there, because "providers" is just a folder where
we keep provider files, it's not a Python package.
That should finally get rid of the Intellij teething import
problem that has been introduced in apache#42505.
There were earlier - unsuccesful - attempts to fix it in
the apache#43116 and apache#43081 that followed apache#42951 - but the key is that Pycharm
requires the namespace's extend_path to be first "real" line
of code in the `__init__.py` to understand that the package
is an "explicit" namespace package - and it conflicts with
the requirement of "from __future__ import annotations" to be
the first line of Python code.
Also this PR fixes a few other teething problems with setup of
tests that were introcuded in apache#42505 and apache#43802 "masked" by having
`__init__.py` added in providers package:
* openlineage extractor test that should not expect "providers.tests.*"
but "tests.*" package
* common_sql_api_stubs wrongly calculating generated path for
stub-generated files
* pytest_plugin expecting .asf.yml in "airflow" sources - even during
compatibility tests with older version of airflow (where the
.asf.yml is not present)
potiuk added a commit to potiuk/airflow that referenced this pull request Oct 18, 2024
Cleans-up airflow and providers `__init__.py" files in order to
get providers import work again.
This is done by excluding the two `__init__.py` files from
automated ruff isort rules adding `from __future__ import annotations`.
Also removed the `__init__.py` file from "providers" directory,
it is not needed there, because "providers" is just a folder where
we keep provider files, it's not a Python package.
That should finally get rid of the Intellij teething import
problem that has been introduced in apache#42505.
There were earlier - unsuccesful - attempts to fix it in
the apache#43116 and apache#43081 that followed apache#42951 - but the key is that Pycharm
requires the namespace's extend_path to be first "real" line
of code in the `__init__.py` to understand that the package
is an "explicit" namespace package - and it conflicts with
the requirement of "from __future__ import annotations" to be
the first line of Python code.
Also this PR fixes a few other teething problems with setup of
tests that were introcuded in apache#42505 and apache#43802 "masked" by having
`__init__.py` added in providers package:
* common.sql interface pre-commit used wrong path to generated files
* openlineage extractor test that should not expect "providers.tests.*"
but "tests.*" package
* common_sql_api_stubs wrongly calculating generated path for
stub-generated files
* pytest_plugin expecting .asf.yml in "airflow" sources - even during
compatibility tests with older version of airflow (where the
.asf.yml is not present)
kaxil pushed a commit to potiuk/airflow that referenced this pull request Oct 18, 2024
Cleans-up airflow and providers `__init__.py" files in order to
get providers import work again.
This is done by excluding the two `__init__.py` files from
automated ruff isort rules adding `from __future__ import annotations`.
Also removed the `__init__.py` file from "providers" directory,
it is not needed there, because "providers" is just a folder where
we keep provider files, it's not a Python package.
That should finally get rid of the Intellij teething import
problem that has been introduced in apache#42505.
There were earlier - unsuccesful - attempts to fix it in
the apache#43116 and apache#43081 that followed apache#42951 - but the key is that Pycharm
requires the namespace's extend_path to be first "real" line
of code in the `__init__.py` to understand that the package
is an "explicit" namespace package - and it conflicts with
the requirement of "from __future__ import annotations" to be
the first line of Python code.
Also this PR fixes a few other teething problems with setup of
tests that were introcuded in apache#42505 and apache#43802 "masked" by having
`__init__.py` added in providers package:
* common.sql interface pre-commit used wrong path to generated files
* openlineage extractor test that should not expect "providers.tests.*"
but "tests.*" package
* common_sql_api_stubs wrongly calculating generated path for
stub-generated files
* pytest_plugin expecting .asf.yml in "airflow" sources - even during
compatibility tests with older version of airflow (where the
.asf.yml is not present)
kaxil added a commit that referenced this pull request Oct 18, 2024
…3173)
Cleans-up airflow and providers `__init__.py" files in order to
get providers import work again.
This is done by excluding the two `__init__.py` files from
automated ruff isort rules adding `from __future__ import annotations`.
That should finally get rid of the Intellij teething import
problem that has been introduced in #42505.
There were earlier - unsuccessful - attempts to fix it in
the #43116 and #43081 that followed #42951 - but the key is that Pycharm
requires the namespace's extend_path to be first "real" line
of code in the `__init__.py` to understand that the package
is an "explicit" namespace package - and it conflicts with
the requirement of "from __future__ import annotations" to be
the first line of Python code.
Also this PR fixes following problem:
* pytest_plugin expecting .asf.yml in "airflow" sources - even during
compatibility tests with older version of airflow (where the
.asf.yml is not present)
---------
Co-authored-by: Kaxil Naik <kaxilnaik@gmail.com>
harjeevanmaan pushed a commit to harjeevanmaan/airflow that referenced this pull request Oct 23, 2024
…ache#43173)
Cleans-up airflow and providers `__init__.py" files in order to
get providers import work again.
This is done by excluding the two `__init__.py` files from
automated ruff isort rules adding `from __future__ import annotations`.
That should finally get rid of the Intellij teething import
problem that has been introduced in apache#42505.
There were earlier - unsuccessful - attempts to fix it in
the apache#43116 and apache#43081 that followed apache#42951 - but the key is that Pycharm
requires the namespace's extend_path to be first "real" line
of code in the `__init__.py` to understand that the package
is an "explicit" namespace package - and it conflicts with
the requirement of "from __future__ import annotations" to be
the first line of Python code.
Also this PR fixes following problem:
* pytest_plugin expecting .asf.yml in "airflow" sources - even during
compatibility tests with older version of airflow (where the
.asf.yml is not present)
---------
Co-authored-by: Kaxil Naik <kaxilnaik@gmail.com>
PaulKobow7536 pushed a commit to PaulKobow7536/airflow that referenced this pull request Oct 24, 2024
…ache#43173)
Cleans-up airflow and providers `__init__.py" files in order to
get providers import work again.
This is done by excluding the two `__init__.py` files from
automated ruff isort rules adding `from __future__ import annotations`.
That should finally get rid of the Intellij teething import
problem that has been introduced in apache#42505.
There were earlier - unsuccessful - attempts to fix it in
the apache#43116 and apache#43081 that followed apache#42951 - but the key is that Pycharm
requires the namespace's extend_path to be first "real" line
of code in the `__init__.py` to understand that the package
is an "explicit" namespace package - and it conflicts with
the requirement of "from __future__ import annotations" to be
the first line of Python code.
Also this PR fixes following problem:
* pytest_plugin expecting .asf.yml in "airflow" sources - even during
compatibility tests with older version of airflow (where the
.asf.yml is not present)
---------
Co-authored-by: Kaxil Naik <kaxilnaik@gmail.com>
ellisms pushed a commit to ellisms/airflow that referenced this pull request Nov 13, 2024
…ache#43173)
Cleans-up airflow and providers `__init__.py" files in order to
get providers import work again.
This is done by excluding the two `__init__.py` files from
automated ruff isort rules adding `from __future__ import annotations`.
That should finally get rid of the Intellij teething import
problem that has been introduced in apache#42505.
There were earlier - unsuccessful - attempts to fix it in
the apache#43116 and apache#43081 that followed apache#42951 - but the key is that Pycharm
requires the namespace's extend_path to be first "real" line
of code in the `__init__.py` to understand that the package
is an "explicit" namespace package - and it conflicts with
the requirement of "from __future__ import annotations" to be
the first line of Python code.
Also this PR fixes following problem:
* pytest_plugin expecting .asf.yml in "airflow" sources - even during
compatibility tests with older version of airflow (where the
.asf.yml is not present)
---------
Co-authored-by: Kaxil Naik <kaxilnaik@gmail.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@vincbeck@dstandish