You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Xiroo (via GitHub)" <gi...@apache.org> on 2023/09/14 06:02:59 UTC
[GitHub] [airflow] Xiroo opened a new pull request, #34359: Remove float type python version in PythonVirtualEnvOperator
Xiroo opened a new pull request, #34359:
URL: https://github.com/apache/airflow/pull/34359
Remove float type python version in PythonVirtualEnvOperator.
If input is 3.10 as float, it is interpreted as python version 3.1.
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<!--
Thank you for contributing! Please make sure that your code changes
are covered with tests. And in case of new features or big changes
remember to adjust the documentation.
Feel free to ping committers for the review!
In case of an existing issue, reference it using one of the following:
closes: #ISSUE
related: #ISSUE
How to write a good git commit message:
http://chris.beams.io/posts/git-commit/
-->
@BlueHorn07 found the issue.
<!-- Please keep an empty line above the dashes. -->
---
**^ Add meaningful description above**
Read the **[Pull Request Guidelines](https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#pull-request-guidelines)** for more information.
In case of fundamental code changes, an Airflow Improvement Proposal ([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvement+Proposals)) is needed.
In case of a new dependency, check compliance with the [ASF 3rd Party License Policy](https://www.apache.org/legal/resolved.html#category-x).
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](https://github.com/apache/airflow/tree/main/newsfragments).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Taragolis commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "Taragolis (via GitHub)" <gi...@apache.org>.
Taragolis commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325773311
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been removed for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
I guess it is edge case with Python 3.1, I'm not sure that something below 3.3 in 3.x series would ever been stable for production usage. So warning would be enough.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1327005990
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ warnings.warn(
+ "Passing numeric type(int, float) as python_version is deprecated. "
+ "Please use string value instead.",
+ RemovedInAirflow3Warning,
+ stacklevel=2,
+ )
Review Comment:
changed condition statement for readibility. thank you :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325547997
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,11 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float:
+ raise AirflowException(
Review Comment:
I changed it to TypeError and also removed int type too. Thank you for reviewing š
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Taragolis commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "Taragolis (via GitHub)" <gi...@apache.org>.
Taragolis commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325715979
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been removed for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
This is breaking changes for someone who use python 3.8 and 3.9.
I think warning would enough, if we can't resolve `3.10` vs `3.1`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] uranusjr commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "uranusjr (via GitHub)" <gi...@apache.org>.
uranusjr commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1327008115
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if not (isinstance(python_version, str) or python_version is None):
Review Comment:
```suggestion
if python_version is not None and not isinstance(python_version, str):
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325668471
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been deprecated for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
Fixed to removal. thank you. š
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] uranusjr commented on pull request #34359: Remove float type python version in PythonVirtualEnvOperator
Posted by "uranusjr (via GitHub)" <gi...@apache.org>.
uranusjr commented on PR #34359:
URL: https://github.com/apache/airflow/pull/34359#issuecomment-1718823808
Personally Iād even remove the int case, being able to pass `python_version=3` is not particularly useful and can be rewritten pretty trivially.
We should add a news fragment for this.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325668471
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been deprecated for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
Fixed to removal. thank you.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325759783
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been removed for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
I think users can't find that python is running with 3.1 if there's no error.
Then, should I change it to print just warning message with no error?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1326661875
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,20 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and str(python_version[0]) != str(sys.version_info.major)
Review Comment:
fixed typo. thank you
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] potiuk commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "potiuk (via GitHub)" <gi...@apache.org>.
potiuk commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1326982950
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ warnings.warn(
+ "Passing numeric type(int, float) as python_version is deprecated. "
+ "Please use string value instead.",
+ RemovedInAirflow3Warning,
+ stacklevel=2,
+ )
Review Comment:
Yep. Also using type(object) is generally suspicious. In this case int/float cannot be extended, so no difference, but generally using type rather than isinstance is a code smell.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] uranusjr commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "uranusjr (via GitHub)" <gi...@apache.org>.
uranusjr commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1326859497
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ warnings.warn(
+ "Passing numeric type(int, float) as python_version is deprecated. "
+ "Please use string value instead.",
+ RemovedInAirflow3Warning,
+ stacklevel=2,
+ )
Review Comment:
```suggestion
if not isinstance(python_version, str):
warnings.warn(
"Passing non-string types (e.g. int or float) as python_version "
"is deprecated. Please use string value instead.",
RemovedInAirflow3Warning,
stacklevel=2,
)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1326940254
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ warnings.warn(
+ "Passing numeric type(int, float) as python_version is deprecated. "
+ "Please use string value instead.",
+ RemovedInAirflow3Warning,
+ stacklevel=2,
+ )
Review Comment:
I think current version is enough.
should I have to change to this?
If so, I think condition should be ( not (isinstance(python_version, str) or python_version is None)) since if python_version is None, it is interpreted as system's python version.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Remove float type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325547997
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,11 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float:
+ raise AirflowException(
Review Comment:
I changed it to TypeError and also removed int type too. Thank you for reviewing
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325668471
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been deprecated for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
Fixed it. thank you.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325759783
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been removed for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
I think users can't find that python is running with 3.1 if there's no error.
Then, should I change it to print just warning message?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] ephraimbuddy commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "ephraimbuddy (via GitHub)" <gi...@apache.org>.
ephraimbuddy commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325610754
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been deprecated for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
If we are raising error, it's not a deprecation
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] kyeonghoon-kim commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "kyeonghoon-kim (via GitHub)" <gi...@apache.org>.
kyeonghoon-kim commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1326934670
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ warnings.warn(
+ "Passing numeric type(int, float) as python_version is deprecated. "
+ "Please use string value instead.",
+ RemovedInAirflow3Warning,
+ stacklevel=2,
+ )
Review Comment:
I think current version is enough.
should I have to change to this?
If so, I think condition should be ( not (isinstance(python_version, str) or python_version is None)) since if python_version is None, it is interpreted as system's python version.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] kyeonghoon-kim commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "kyeonghoon-kim (via GitHub)" <gi...@apache.org>.
kyeonghoon-kim commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1326934670
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ warnings.warn(
+ "Passing numeric type(int, float) as python_version is deprecated. "
+ "Please use string value instead.",
+ RemovedInAirflow3Warning,
+ stacklevel=2,
+ )
Review Comment:
I think current version is enough.
should I have to change to this?
If so, I think condition should be not (isinstance(python_version, str) or python_version is None) since if python_version is None, it is interpreted as system's python version.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] ephraimbuddy commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "ephraimbuddy (via GitHub)" <gi...@apache.org>.
ephraimbuddy commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325611917
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been deprecated for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
We should handle this in such a way that it's not a breaking change
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] hussein-awala commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "hussein-awala (via GitHub)" <gi...@apache.org>.
hussein-awala commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1326400658
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,20 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and str(python_version[0]) != str(sys.version_info.major)
Review Comment:
To deprecate a type, you need to keep it backward compatible. This is a breaking change for int/float values, where we cannot subscript a numeric value. Actually there is no need for this change, the current code works for both numerical and sting versions.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] kyeonghoon-kim commented on a diff in pull request #34359: Remove float type python version in PythonVirtualEnvOperator
Posted by "kyeonghoon-kim (via GitHub)" <gi...@apache.org>.
kyeonghoon-kim commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325545529
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,11 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float:
+ raise AirflowException(
Review Comment:
I changed it to TypeError and also removed int type too. thank you for reveiwing
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] boring-cyborg[bot] commented on pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "boring-cyborg[bot] (via GitHub)" <gi...@apache.org>.
boring-cyborg[bot] commented on PR #34359:
URL: https://github.com/apache/airflow/pull/34359#issuecomment-1722273561
Awesome work, congrats on your first merged pull request! You are invited to check our [Issue Tracker](https://github.com/apache/airflow/issues) for additional contributions.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Taragolis merged pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "Taragolis (via GitHub)" <gi...@apache.org>.
Taragolis merged PR #34359:
URL: https://github.com/apache/airflow/pull/34359
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] kyeonghoon-kim commented on a diff in pull request #34359: Remove float type python version in PythonVirtualEnvOperator
Posted by "kyeonghoon-kim (via GitHub)" <gi...@apache.org>.
kyeonghoon-kim commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325545529
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,11 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float:
+ raise AirflowException(
Review Comment:
I changed it to TypeError and also removed int type too. thank you for reveiwing
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] kyeonghoon-kim commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "kyeonghoon-kim (via GitHub)" <gi...@apache.org>.
kyeonghoon-kim commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1326934670
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ warnings.warn(
+ "Passing numeric type(int, float) as python_version is deprecated. "
+ "Please use string value instead.",
+ RemovedInAirflow3Warning,
+ stacklevel=2,
+ )
Review Comment:
I think current version is enough.
should I have to change to this?
If so, I think condition should be ( not (isinstance(python_version, str) or python_version is None)) since if python_version is None, it is interpreted as system's python version.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1327005990
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ warnings.warn(
+ "Passing numeric type(int, float) as python_version is deprecated. "
+ "Please use string value instead.",
+ RemovedInAirflow3Warning,
+ stacklevel=2,
+ )
Review Comment:
changed statement for readibility. thank you :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] uranusjr commented on a diff in pull request #34359: Remove float type python version in PythonVirtualEnvOperator
Posted by "uranusjr (via GitHub)" <gi...@apache.org>.
uranusjr commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325407352
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,11 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float:
+ raise AirflowException(
Review Comment:
Better to raise a TypeError instead.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] uranusjr commented on a diff in pull request #34359: Deprecate numeric type python version in PythonVirtualEnvOperator
Posted by "uranusjr (via GitHub)" <gi...@apache.org>.
uranusjr commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1326949750
##########
airflow/operators/python.py:
##########
@@ -555,6 +555,13 @@ def __init__(
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ warnings.warn(
+ "Passing numeric type(int, float) as python_version is deprecated. "
+ "Please use string value instead.",
+ RemovedInAirflow3Warning,
+ stacklevel=2,
+ )
Review Comment:
Oh right, I missed the None case. It is better to check for the allowed cases and raise for anything else instead to avoid weird surprises.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] boring-cyborg[bot] commented on pull request #34359: Remove float type python version in PythonVirtualEnvOperator
Posted by "boring-cyborg[bot] (via GitHub)" <gi...@apache.org>.
boring-cyborg[bot] commented on PR #34359:
URL: https://github.com/apache/airflow/pull/34359#issuecomment-1718813261
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contribution Guide (https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst)
Here are some useful points:
- Pay attention to the quality of your code (ruff, mypy and type annotations). Our [pre-commits]( https://github.com/apache/airflow/blob/main/STATIC_CODE_CHECKS.rst#prerequisites-for-pre-commit-hooks) will help you with that.
- In case of a new feature add useful documentation (in docstrings or in `docs/` directory). Adding a new operator? Check this short [guide](https://github.com/apache/airflow/blob/main/docs/apache-airflow/howto/custom-operator.rst) Consider adding an example DAG that shows how users should use it.
- Consider using [Breeze environment](https://github.com/apache/airflow/blob/main/BREEZE.rst) for testing locally, it's a heavy docker but it ships with a working Airflow and a lot of integrations.
- Be patient and persistent. It might take some time to get a review or get the final approval from Committers.
- Please follow [ASF Code of Conduct](https://www.apache.org/foundation/policies/conduct) for all communication including (but not limited to) comments on Pull Requests, Mailing list and Slack.
- Be sure to read the [Airflow Coding style]( https://github.com/apache/airflow/blob/main/CONTRIBUTING.rst#coding-style-and-best-practices).
- Always keep your Pull Requests rebased, otherwise your build might fail due to changes not related to your commits.
Apache Airflow is a community-driven project and together we are making it better š.
In case of doubts contact the developers at:
Mailing List: dev@airflow.apache.org
Slack: https://s.apache.org/airflow-slack
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [airflow] Xiroo commented on a diff in pull request #34359: Remove numeric type python version in PythonVirtualEnvOperator
Posted by "Xiroo (via GitHub)" <gi...@apache.org>.
Xiroo commented on code in PR #34359:
URL: https://github.com/apache/airflow/pull/34359#discussion_r1325784013
##########
airflow/operators/python.py:
##########
@@ -547,14 +547,21 @@ def __init__(
):
if (
python_version
- and str(python_version)[0] != str(sys.version_info.major)
+ and python_version[0] != str(sys.version_info.major)
and (op_args or op_kwargs)
):
raise AirflowException(
"Passing op_args or op_kwargs is not supported across different Python "
"major versions for PythonVirtualenvOperator. Please use string_args."
f"Sys version: {sys.version_info}. Venv version: {python_version}"
)
+ if type(python_version) is float or type(python_version) is int:
+ raise TypeError(
+ "Passing numeric type(int, float) as python_version "
+ "has been removed for PythonVirtualenvOperator. "
+ "Since Python 3.10 is interpreted as 3.1. "
+ "Please use string value instead."
+ )
Review Comment:
changed it to warning. thank you. :)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org