apache-airflow-providers-standard 1.3.0rc1__tar.gz → 1.4.0rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of apache-airflow-providers-standard might be problematic. Click here for more details.
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/PKG-INFO +8 -9
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/README.rst +4 -4
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/changelog.rst +26 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/index.rst +1 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/operators/python.rst +7 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/provider.yaml +2 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/pyproject.toml +4 -5
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/__init__.py +1 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/bash.py +2 -2
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/branch_external_python.py +2 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/branch_python.py +2 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/branch_virtualenv.py +2 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/external_python.py +2 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/python.py +2 -2
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/python_virtualenv.py +2 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/sensor.py +2 -2
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/short_circuit.py +2 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/hooks/filesystem.py +4 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/hooks/package_index.py +4 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/hooks/subprocess.py +4 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/bash.py +3 -4
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/branch.py +2 -3
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/empty.py +1 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/python.py +28 -6
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/smooth.py +1 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/trigger_dagrun.py +1 -4
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/sensors/bash.py +1 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/sensors/date_time.py +1 -2
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/sensors/external_task.py +12 -19
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/sensors/filesystem.py +1 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/sensors/python.py +3 -3
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/sensors/time.py +1 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/sensors/time_delta.py +3 -4
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/sensors/weekday.py +1 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/utils/python_virtualenv.py +10 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/utils/skipmixin.py +12 -3
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/version_compat.py +26 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/test_bash.py +2 -2
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/test_branch_external_python.py +5 -9
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/test_branch_python.py +5 -9
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/test_branch_virtualenv.py +5 -9
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/test_external_python.py +40 -32
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/test_python.py +48 -92
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/test_python_virtualenv.py +50 -50
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/test_short_circuit.py +6 -6
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/operators/test_bash.py +6 -6
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/operators/test_branch_operator.py +20 -21
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/operators/test_datetime.py +15 -14
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/operators/test_latest_only_operator.py +15 -10
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/operators/test_python.py +129 -81
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/operators/test_trigger_dagrun.py +2 -2
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/operators/test_weekday.py +7 -7
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/sensors/test_external_task_sensor.py +7 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/sensors/test_time_delta.py +38 -40
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/sensors/test_weekday.py +1 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/triggers/test_file.py +2 -1
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/utils/test_python_virtualenv.py +17 -4
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/commits.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/conf.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/configurations-ref.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/installing-providers-from-sources.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/operators/bash.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/operators/datetime.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/operators/index.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/operators/latest_only.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/operators/trigger_dag_run.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/security.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/sensors/bash.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/sensors/datetime.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/sensors/external_task_sensor.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/sensors/file.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/sensors/index.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/docs/sensors/python.rst +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/LICENSE +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/decorators/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_bash_decorator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_bash_operator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_branch_datetime_operator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_branch_day_of_week_operator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_branch_operator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_branch_operator_decorator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_external_task_child_deferrable.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_external_task_marker_dag.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_external_task_parent_deferrable.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_latest_only.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_python_decorator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_python_operator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_sensor_decorator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_sensors.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_short_circuit_decorator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_short_circuit_operator.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/example_trigger_controller_dag.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/sql/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/example_dags/sql/sample.sql +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/exceptions.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/get_provider_info.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/hooks/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/datetime.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/latest_only.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/operators/weekday.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/sensors/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/triggers/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/triggers/external_task.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/triggers/file.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/triggers/temporal.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/utils/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/utils/python_virtualenv_script.jinja2 +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/utils/sensor_helper.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/src/airflow/providers/standard/utils/weekday.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/conftest.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/decorators/test_sensor.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/hooks/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/hooks/test_filesystem.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/hooks/test_package_index.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/hooks/test_subprocess.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/operators/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/operators/test_smooth.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/sensors/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/sensors/test_bash.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/sensors/test_date_time.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/sensors/test_python.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/sensors/test_time.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/test_exceptions.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/triggers/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/triggers/test_external_task.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/triggers/test_temporal.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/utils/__init__.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/utils/test_sensor_helper.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/utils/test_skipmixin.py +0 -0
- {apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/tests/unit/standard/utils/test_weekday.py +0 -0
{apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/PKG-INFO
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-standard
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0rc1
|
|
4
4
|
Summary: Provider package apache-airflow-providers-standard for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,standard,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
7
7
|
Maintainer-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
8
|
-
Requires-Python: ~=3.
|
|
8
|
+
Requires-Python: ~=3.10
|
|
9
9
|
Description-Content-Type: text/x-rst
|
|
10
10
|
Classifier: Development Status :: 5 - Production/Stable
|
|
11
11
|
Classifier: Environment :: Console
|
|
@@ -15,15 +15,14 @@ Classifier: Intended Audience :: System Administrators
|
|
|
15
15
|
Classifier: Framework :: Apache Airflow
|
|
16
16
|
Classifier: Framework :: Apache Airflow :: Provider
|
|
17
17
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
21
|
Classifier: Topic :: System :: Monitoring
|
|
23
22
|
Requires-Dist: apache-airflow>=2.10.0rc1
|
|
24
23
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
25
|
-
Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.
|
|
26
|
-
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.
|
|
24
|
+
Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.4.0/changelog.html
|
|
25
|
+
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.4.0
|
|
27
26
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
28
27
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
29
28
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -54,7 +53,7 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
|
|
54
53
|
|
|
55
54
|
Package ``apache-airflow-providers-standard``
|
|
56
55
|
|
|
57
|
-
Release: ``1.
|
|
56
|
+
Release: ``1.4.0``
|
|
58
57
|
|
|
59
58
|
|
|
60
59
|
Airflow Standard Provider
|
|
@@ -67,7 +66,7 @@ This is a provider package for ``standard`` provider. All classes for this provi
|
|
|
67
66
|
are in ``airflow.providers.standard`` python package.
|
|
68
67
|
|
|
69
68
|
You can find package information and changelog for the provider
|
|
70
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.
|
|
69
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/>`_.
|
|
71
70
|
|
|
72
71
|
Installation
|
|
73
72
|
------------
|
|
@@ -76,7 +75,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
|
76
75
|
for the minimum Airflow version supported) via
|
|
77
76
|
``pip install apache-airflow-providers-standard``
|
|
78
77
|
|
|
79
|
-
The package supports the following python versions: 3.
|
|
78
|
+
The package supports the following python versions: 3.10,3.11,3.12
|
|
80
79
|
|
|
81
80
|
Requirements
|
|
82
81
|
------------
|
|
@@ -88,5 +87,5 @@ PIP package Version required
|
|
|
88
87
|
================== ==================
|
|
89
88
|
|
|
90
89
|
The changelog for the provider package can be found in the
|
|
91
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.
|
|
90
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/changelog.html>`_.
|
|
92
91
|
|
{apache_airflow_providers_standard-1.3.0rc1 → apache_airflow_providers_standard-1.4.0rc1}/README.rst
RENAMED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
Package ``apache-airflow-providers-standard``
|
|
25
25
|
|
|
26
|
-
Release: ``1.
|
|
26
|
+
Release: ``1.4.0``
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
Airflow Standard Provider
|
|
@@ -36,7 +36,7 @@ This is a provider package for ``standard`` provider. All classes for this provi
|
|
|
36
36
|
are in ``airflow.providers.standard`` python package.
|
|
37
37
|
|
|
38
38
|
You can find package information and changelog for the provider
|
|
39
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.
|
|
39
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/>`_.
|
|
40
40
|
|
|
41
41
|
Installation
|
|
42
42
|
------------
|
|
@@ -45,7 +45,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
|
|
|
45
45
|
for the minimum Airflow version supported) via
|
|
46
46
|
``pip install apache-airflow-providers-standard``
|
|
47
47
|
|
|
48
|
-
The package supports the following python versions: 3.
|
|
48
|
+
The package supports the following python versions: 3.10,3.11,3.12
|
|
49
49
|
|
|
50
50
|
Requirements
|
|
51
51
|
------------
|
|
@@ -57,4 +57,4 @@ PIP package Version required
|
|
|
57
57
|
================== ==================
|
|
58
58
|
|
|
59
59
|
The changelog for the provider package can be found in the
|
|
60
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.
|
|
60
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/changelog.html>`_.
|
|
@@ -35,6 +35,32 @@
|
|
|
35
35
|
Changelog
|
|
36
36
|
---------
|
|
37
37
|
|
|
38
|
+
1.4.0
|
|
39
|
+
.....
|
|
40
|
+
|
|
41
|
+
Features
|
|
42
|
+
~~~~~~~~
|
|
43
|
+
|
|
44
|
+
* ``Add support for 'PackageIndex' connections in 'PythonVirtualenvOperator' (#52288)``
|
|
45
|
+
* ``Honor 'index_urls' when venv is created with 'uv' in 'PythonVirtualenvOperator' (#52287)``
|
|
46
|
+
|
|
47
|
+
Misc
|
|
48
|
+
~~~~
|
|
49
|
+
|
|
50
|
+
* ``Move 'BaseHook' implementation to task SDK (#51873)``
|
|
51
|
+
* ``Disable UP038 ruff rule and revert mandatory 'X | Y' in insintance checks (#52644)``
|
|
52
|
+
* ``Upgrade ruff to latest version (0.12.1) (#52562)``
|
|
53
|
+
* ``Move compat shim in Standard Provider to 'version_compat.py' (#52567)``
|
|
54
|
+
* ``Add a bunch of no-redef ignores so Mypy is happy (#52507)``
|
|
55
|
+
* ``Drop support for Python 3.9 (#52072)``
|
|
56
|
+
* ``Replace 'models.BaseOperator' to Task SDK one for Standard Provider (#52292)``
|
|
57
|
+
* ``Add deprecation to 'airflow/sensors/base.py' (#52249)``
|
|
58
|
+
|
|
59
|
+
.. Below changes are excluded from the changelog. Move them to
|
|
60
|
+
appropriate section above if needed. Do not delete the lines(!):
|
|
61
|
+
* ``One more redef needing ignore (#52525)``
|
|
62
|
+
* ``Make sure all test version imports come from test_common (#52425)``
|
|
63
|
+
|
|
38
64
|
1.3.0
|
|
39
65
|
.....
|
|
40
66
|
|
|
@@ -196,6 +196,13 @@ If you want to use additional task specific private python repositories to setup
|
|
|
196
196
|
pip install configurations. Passed index urls replace the standard system configured index url settings.
|
|
197
197
|
To prevent adding secrets to the private repository in your DAG code you can use the Airflow
|
|
198
198
|
:doc:`apache-airflow:authoring-and-scheduling/connections`. For this purpose the connection type ``Package Index (Python)`` can be used.
|
|
199
|
+
In the ``Package Index (Python)`` connection type you can specify the index URL and credentials for the private repository.
|
|
200
|
+
After creating a ``Package Index (Python)`` connection, you can provide the connection ID to the ``PythonVirtualenvOperator`` using the ``index_urls_from_connection_ids`` parameter.
|
|
201
|
+
The ``PythonVirtualenvOperator`` will automatically append the index URLs from the connection to the ``index_urls`` parameter of the pip installer including the provided credentials.
|
|
202
|
+
|
|
203
|
+
The first ``index_url`` in the list will be used as main index URL (``index-url`` for pip or ``default-index`` for uv) of the virtual environment setup.
|
|
204
|
+
Additional URLs will be added as extra index URLs. If you provide both parameters ``index_urls`` and ``index_urls_from_connection_ids``, the first URL in
|
|
205
|
+
the ``index_urls`` will be used as the main index URL and the rest will be added as extra index URLs.
|
|
199
206
|
|
|
200
207
|
In the special case you want to prevent remote calls for setup of a virtual environment, pass the ``index_urls`` as empty list as ``index_urls=[]`` which
|
|
201
208
|
forced pip installer to use the ``--no-index`` option.
|
|
@@ -21,12 +21,13 @@ name: Standard
|
|
|
21
21
|
description: |
|
|
22
22
|
Airflow Standard Provider
|
|
23
23
|
state: ready
|
|
24
|
-
source-date-epoch:
|
|
24
|
+
source-date-epoch: 1751474457
|
|
25
25
|
# Note that those versions are maintained by release manager - do not update them manually
|
|
26
26
|
# with the exception of case where other provider in sources has >= new provider version.
|
|
27
27
|
# In such case adding >= NEW_VERSION and bumping to NEW_VERSION in a provider have
|
|
28
28
|
# to be done in the same PR
|
|
29
29
|
versions:
|
|
30
|
+
- 1.4.0
|
|
30
31
|
- 1.3.0
|
|
31
32
|
- 1.2.0
|
|
32
33
|
- 1.1.0
|
|
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
|
|
|
25
25
|
|
|
26
26
|
[project]
|
|
27
27
|
name = "apache-airflow-providers-standard"
|
|
28
|
-
version = "1.
|
|
28
|
+
version = "1.4.0rc1"
|
|
29
29
|
description = "Provider package apache-airflow-providers-standard for Apache Airflow"
|
|
30
30
|
readme = "README.rst"
|
|
31
31
|
authors = [
|
|
@@ -44,13 +44,12 @@ classifiers = [
|
|
|
44
44
|
"Framework :: Apache Airflow",
|
|
45
45
|
"Framework :: Apache Airflow :: Provider",
|
|
46
46
|
"License :: OSI Approved :: Apache Software License",
|
|
47
|
-
"Programming Language :: Python :: 3.9",
|
|
48
47
|
"Programming Language :: Python :: 3.10",
|
|
49
48
|
"Programming Language :: Python :: 3.11",
|
|
50
49
|
"Programming Language :: Python :: 3.12",
|
|
51
50
|
"Topic :: System :: Monitoring",
|
|
52
51
|
]
|
|
53
|
-
requires-python = "~=3.
|
|
52
|
+
requires-python = "~=3.10"
|
|
54
53
|
|
|
55
54
|
# The dependencies should be modified in place in the generated file.
|
|
56
55
|
# Any change in the dependencies is preserved when the file is regenerated
|
|
@@ -95,8 +94,8 @@ apache-airflow-providers-common-sql = {workspace = true}
|
|
|
95
94
|
apache-airflow-providers-standard = {workspace = true}
|
|
96
95
|
|
|
97
96
|
[project.urls]
|
|
98
|
-
"Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.
|
|
99
|
-
"Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.
|
|
97
|
+
"Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.4.0"
|
|
98
|
+
"Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.4.0/changelog.html"
|
|
100
99
|
"Bug Tracker" = "https://github.com/apache/airflow/issues"
|
|
101
100
|
"Source Code" = "https://github.com/apache/airflow"
|
|
102
101
|
"Slack Chat" = "https://s.apache.org/airflow-slack"
|
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "1.
|
|
32
|
+
__version__ = "1.4.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
35
|
"2.10.0"
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
20
|
import warnings
|
|
21
|
-
from collections.abc import Collection, Mapping, Sequence
|
|
22
|
-
from typing import TYPE_CHECKING, Any,
|
|
21
|
+
from collections.abc import Callable, Collection, Mapping, Sequence
|
|
22
|
+
from typing import TYPE_CHECKING, Any, ClassVar
|
|
23
23
|
|
|
24
24
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
25
25
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from collections.abc import Sequence
|
|
20
|
-
from typing import TYPE_CHECKING
|
|
19
|
+
from collections.abc import Callable, Sequence
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
21
21
|
|
|
22
22
|
from airflow.providers.standard.operators.python import PythonOperator
|
|
23
23
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
|
-
from collections.abc import Sequence
|
|
21
|
-
from typing import TYPE_CHECKING,
|
|
20
|
+
from collections.abc import Callable, Sequence
|
|
21
|
+
from typing import TYPE_CHECKING, ClassVar
|
|
22
22
|
|
|
23
23
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
24
24
|
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from collections.abc import Callable
|
|
20
|
+
from typing import TYPE_CHECKING
|
|
20
21
|
|
|
21
22
|
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
22
23
|
|
|
@@ -20,7 +20,10 @@ from __future__ import annotations
|
|
|
20
20
|
from pathlib import Path
|
|
21
21
|
from typing import Any
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
try:
|
|
24
|
+
from airflow.sdk import BaseHook
|
|
25
|
+
except ImportError:
|
|
26
|
+
from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
|
|
24
27
|
|
|
25
28
|
|
|
26
29
|
class FSHook(BaseHook):
|
|
@@ -23,7 +23,10 @@ import subprocess
|
|
|
23
23
|
from typing import Any
|
|
24
24
|
from urllib.parse import quote, urlparse
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
try:
|
|
27
|
+
from airflow.sdk import BaseHook
|
|
28
|
+
except ImportError:
|
|
29
|
+
from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
|
|
27
30
|
|
|
28
31
|
|
|
29
32
|
class PackageIndexHook(BaseHook):
|
|
@@ -24,7 +24,10 @@ from collections.abc import Iterator
|
|
|
24
24
|
from subprocess import PIPE, STDOUT, Popen
|
|
25
25
|
from tempfile import TemporaryDirectory, gettempdir
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
try:
|
|
28
|
+
from airflow.sdk import BaseHook
|
|
29
|
+
except ImportError:
|
|
30
|
+
from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
|
|
28
31
|
|
|
29
32
|
SubprocessResult = namedtuple("SubprocessResult", ["exit_code", "output"])
|
|
30
33
|
|
|
@@ -20,14 +20,13 @@ from __future__ import annotations
|
|
|
20
20
|
import os
|
|
21
21
|
import shutil
|
|
22
22
|
import tempfile
|
|
23
|
-
from collections.abc import Container, Sequence
|
|
23
|
+
from collections.abc import Callable, Container, Sequence
|
|
24
24
|
from functools import cached_property
|
|
25
|
-
from typing import TYPE_CHECKING, Any,
|
|
25
|
+
from typing import TYPE_CHECKING, Any, cast
|
|
26
26
|
|
|
27
27
|
from airflow.exceptions import AirflowException, AirflowSkipException
|
|
28
|
-
from airflow.models.baseoperator import BaseOperator
|
|
29
28
|
from airflow.providers.standard.hooks.subprocess import SubprocessHook, SubprocessResult, working_directory
|
|
30
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
29
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseOperator
|
|
31
30
|
|
|
32
31
|
if AIRFLOW_V_3_0_PLUS:
|
|
33
32
|
from airflow.sdk.execution_time.context import context_to_airflow_vars
|
|
@@ -22,13 +22,12 @@ from __future__ import annotations
|
|
|
22
22
|
from collections.abc import Iterable
|
|
23
23
|
from typing import TYPE_CHECKING
|
|
24
24
|
|
|
25
|
-
from airflow.
|
|
26
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
25
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseOperator
|
|
27
26
|
|
|
28
27
|
if AIRFLOW_V_3_0_PLUS:
|
|
29
28
|
from airflow.providers.standard.utils.skipmixin import SkipMixin
|
|
30
29
|
else:
|
|
31
|
-
from airflow.models.skipmixin import SkipMixin
|
|
30
|
+
from airflow.models.skipmixin import SkipMixin # type: ignore[no-redef]
|
|
32
31
|
|
|
33
32
|
if TYPE_CHECKING:
|
|
34
33
|
from airflow.sdk.definitions.context import Context
|
|
@@ -18,7 +18,7 @@ from __future__ import annotations
|
|
|
18
18
|
|
|
19
19
|
from typing import TYPE_CHECKING
|
|
20
20
|
|
|
21
|
-
from airflow.
|
|
21
|
+
from airflow.providers.standard.version_compat import BaseOperator
|
|
22
22
|
|
|
23
23
|
if TYPE_CHECKING:
|
|
24
24
|
from airflow.sdk.definitions.context import Context
|
|
@@ -29,12 +29,12 @@ import textwrap
|
|
|
29
29
|
import types
|
|
30
30
|
import warnings
|
|
31
31
|
from abc import ABCMeta, abstractmethod
|
|
32
|
-
from collections.abc import Collection, Container, Iterable, Mapping, Sequence
|
|
32
|
+
from collections.abc import Callable, Collection, Container, Iterable, Mapping, Sequence
|
|
33
33
|
from functools import cache
|
|
34
34
|
from itertools import chain
|
|
35
35
|
from pathlib import Path
|
|
36
36
|
from tempfile import TemporaryDirectory
|
|
37
|
-
from typing import TYPE_CHECKING, Any,
|
|
37
|
+
from typing import TYPE_CHECKING, Any, NamedTuple, cast
|
|
38
38
|
|
|
39
39
|
import lazy_object_proxy
|
|
40
40
|
from packaging.requirements import InvalidRequirement, Requirement
|
|
@@ -48,10 +48,10 @@ from airflow.exceptions import (
|
|
|
48
48
|
AirflowSkipException,
|
|
49
49
|
DeserializingResultError,
|
|
50
50
|
)
|
|
51
|
-
from airflow.models.baseoperator import BaseOperator
|
|
52
51
|
from airflow.models.variable import Variable
|
|
52
|
+
from airflow.providers.standard.hooks.package_index import PackageIndexHook
|
|
53
53
|
from airflow.providers.standard.utils.python_virtualenv import prepare_virtualenv, write_python_script
|
|
54
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
54
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseOperator
|
|
55
55
|
from airflow.utils import hashlib_wrapper
|
|
56
56
|
from airflow.utils.context import context_copy_partial, context_merge
|
|
57
57
|
from airflow.utils.file import get_unique_dag_module_name
|
|
@@ -62,7 +62,7 @@ if AIRFLOW_V_3_0_PLUS:
|
|
|
62
62
|
from airflow.providers.standard.operators.branch import BaseBranchOperator
|
|
63
63
|
from airflow.providers.standard.utils.skipmixin import SkipMixin
|
|
64
64
|
else:
|
|
65
|
-
from airflow.models.skipmixin import SkipMixin
|
|
65
|
+
from airflow.models.skipmixin import SkipMixin # type: ignore[no-redef]
|
|
66
66
|
from airflow.operators.branch import BaseBranchOperator # type: ignore[no-redef]
|
|
67
67
|
|
|
68
68
|
|
|
@@ -656,6 +656,8 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
656
656
|
exit code will be treated as a failure.
|
|
657
657
|
:param index_urls: an optional list of index urls to load Python packages from.
|
|
658
658
|
If not provided the system pip conf will be used to source packages from.
|
|
659
|
+
:param index_urls_from_connection_ids: An optional list of ``PackageIndex`` connection IDs.
|
|
660
|
+
Will be appended to ``index_urls``.
|
|
659
661
|
:param venv_cache_path: Optional path to the virtual environment parent folder in which the
|
|
660
662
|
virtual environment will be cached, creates a sub-folder venv-{hash} whereas hash will be replaced
|
|
661
663
|
with a checksum of requirements. If not provided the virtual environment will be created and deleted
|
|
@@ -669,7 +671,9 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
669
671
|
"""
|
|
670
672
|
|
|
671
673
|
template_fields: Sequence[str] = tuple(
|
|
672
|
-
{"requirements", "index_urls", "venv_cache_path"}.union(
|
|
674
|
+
{"requirements", "index_urls", "index_urls_from_connection_ids", "venv_cache_path"}.union(
|
|
675
|
+
PythonOperator.template_fields
|
|
676
|
+
)
|
|
673
677
|
)
|
|
674
678
|
template_ext: Sequence[str] = (".txt",)
|
|
675
679
|
|
|
@@ -690,6 +694,7 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
690
694
|
expect_airflow: bool = True,
|
|
691
695
|
skip_on_exit_code: int | Container[int] | None = None,
|
|
692
696
|
index_urls: None | Collection[str] | str = None,
|
|
697
|
+
index_urls_from_connection_ids: None | Collection[str] | str = None,
|
|
693
698
|
venv_cache_path: None | os.PathLike[str] = None,
|
|
694
699
|
env_vars: dict[str, str] | None = None,
|
|
695
700
|
inherit_env: bool = True,
|
|
@@ -724,6 +729,12 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
724
729
|
self.index_urls = list(index_urls)
|
|
725
730
|
else:
|
|
726
731
|
self.index_urls = None
|
|
732
|
+
if isinstance(index_urls_from_connection_ids, str):
|
|
733
|
+
self.index_urls_from_connection_ids: list[str] | None = [index_urls_from_connection_ids]
|
|
734
|
+
elif isinstance(index_urls_from_connection_ids, Collection):
|
|
735
|
+
self.index_urls_from_connection_ids = list(index_urls_from_connection_ids)
|
|
736
|
+
else:
|
|
737
|
+
self.index_urls_from_connection_ids = None
|
|
727
738
|
self.venv_cache_path = venv_cache_path
|
|
728
739
|
super().__init__(
|
|
729
740
|
python_callable=python_callable,
|
|
@@ -850,7 +861,18 @@ class PythonVirtualenvOperator(_BasePythonVirtualenvOperator):
|
|
|
850
861
|
self.log.info("New Python virtual environment created in %s", venv_path)
|
|
851
862
|
return venv_path
|
|
852
863
|
|
|
864
|
+
def _retrieve_index_urls_from_connection_ids(self):
|
|
865
|
+
"""Retrieve index URLs from Package Index connections."""
|
|
866
|
+
if self.index_urls is None:
|
|
867
|
+
self.index_urls = []
|
|
868
|
+
for conn_id in self.index_urls_from_connection_ids:
|
|
869
|
+
conn_url = PackageIndexHook(conn_id).get_connection_url()
|
|
870
|
+
self.index_urls.append(conn_url)
|
|
871
|
+
|
|
853
872
|
def execute_callable(self):
|
|
873
|
+
if self.index_urls_from_connection_ids:
|
|
874
|
+
self._retrieve_index_urls_from_connection_ids()
|
|
875
|
+
|
|
854
876
|
if self.venv_cache_path:
|
|
855
877
|
venv_path = self._ensure_venv_cache_exists(Path(self.venv_cache_path))
|
|
856
878
|
python_path = venv_path / "bin" / "python"
|
|
@@ -19,7 +19,7 @@ from __future__ import annotations
|
|
|
19
19
|
|
|
20
20
|
from typing import TYPE_CHECKING
|
|
21
21
|
|
|
22
|
-
from airflow.
|
|
22
|
+
from airflow.providers.standard.version_compat import BaseOperator
|
|
23
23
|
|
|
24
24
|
if TYPE_CHECKING:
|
|
25
25
|
from airflow.sdk.definitions.context import Context
|
|
@@ -34,12 +34,11 @@ from airflow.exceptions import (
|
|
|
34
34
|
DagNotFound,
|
|
35
35
|
DagRunAlreadyExists,
|
|
36
36
|
)
|
|
37
|
-
from airflow.models import BaseOperator
|
|
38
37
|
from airflow.models.dag import DagModel
|
|
39
38
|
from airflow.models.dagbag import DagBag
|
|
40
39
|
from airflow.models.dagrun import DagRun
|
|
41
40
|
from airflow.providers.standard.triggers.external_task import DagStateTrigger
|
|
42
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
41
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseOperator, BaseOperatorLink
|
|
43
42
|
from airflow.utils import timezone
|
|
44
43
|
from airflow.utils.state import DagRunState
|
|
45
44
|
from airflow.utils.types import NOTSET, ArgNotSet, DagRunType
|
|
@@ -60,11 +59,9 @@ if TYPE_CHECKING:
|
|
|
60
59
|
from airflow.utils.context import Context
|
|
61
60
|
|
|
62
61
|
if AIRFLOW_V_3_0_PLUS:
|
|
63
|
-
from airflow.sdk import BaseOperatorLink
|
|
64
62
|
from airflow.sdk.execution_time.xcom import XCom
|
|
65
63
|
else:
|
|
66
64
|
from airflow.models import XCom # type: ignore[no-redef]
|
|
67
|
-
from airflow.models.baseoperatorlink import BaseOperatorLink # type: ignore[no-redef]
|
|
68
65
|
|
|
69
66
|
|
|
70
67
|
class DagIsPaused(AirflowException):
|
|
@@ -24,7 +24,7 @@ from tempfile import NamedTemporaryFile, TemporaryDirectory, gettempdir
|
|
|
24
24
|
from typing import TYPE_CHECKING
|
|
25
25
|
|
|
26
26
|
from airflow.exceptions import AirflowFailException
|
|
27
|
-
from airflow.
|
|
27
|
+
from airflow.providers.standard.version_compat import BaseSensorOperator
|
|
28
28
|
|
|
29
29
|
if TYPE_CHECKING:
|
|
30
30
|
try:
|
|
@@ -23,8 +23,7 @@ from dataclasses import dataclass
|
|
|
23
23
|
from typing import TYPE_CHECKING, Any, NoReturn
|
|
24
24
|
|
|
25
25
|
from airflow.providers.standard.triggers.temporal import DateTimeTrigger
|
|
26
|
-
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS
|
|
27
|
-
from airflow.sensors.base import BaseSensorOperator
|
|
26
|
+
from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseSensorOperator
|
|
28
27
|
from airflow.utils import timezone
|
|
29
28
|
|
|
30
29
|
try:
|
|
@@ -19,8 +19,8 @@ from __future__ import annotations
|
|
|
19
19
|
import datetime
|
|
20
20
|
import os
|
|
21
21
|
import warnings
|
|
22
|
-
from collections.abc import Collection, Iterable
|
|
23
|
-
from typing import TYPE_CHECKING, Any,
|
|
22
|
+
from collections.abc import Callable, Collection, Iterable
|
|
23
|
+
from typing import TYPE_CHECKING, Any, ClassVar
|
|
24
24
|
|
|
25
25
|
from airflow.configuration import conf
|
|
26
26
|
from airflow.exceptions import AirflowSkipException
|
|
@@ -39,14 +39,16 @@ from airflow.providers.standard.exceptions import (
|
|
|
39
39
|
from airflow.providers.standard.operators.empty import EmptyOperator
|
|
40
40
|
from airflow.providers.standard.triggers.external_task import WorkflowTrigger
|
|
41
41
|
from airflow.providers.standard.utils.sensor_helper import _get_count, _get_external_task_group_task_ids
|
|
42
|
-
from airflow.providers.standard.version_compat import
|
|
42
|
+
from airflow.providers.standard.version_compat import (
|
|
43
|
+
AIRFLOW_V_3_0_PLUS,
|
|
44
|
+
BaseOperator,
|
|
45
|
+
BaseOperatorLink,
|
|
46
|
+
BaseSensorOperator,
|
|
47
|
+
)
|
|
43
48
|
from airflow.utils.file import correct_maybe_zipped
|
|
44
49
|
from airflow.utils.state import State, TaskInstanceState
|
|
45
50
|
|
|
46
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
47
|
-
from airflow.sdk.bases.sensor import BaseSensorOperator
|
|
48
|
-
else:
|
|
49
|
-
from airflow.sensors.base import BaseSensorOperator
|
|
51
|
+
if not AIRFLOW_V_3_0_PLUS:
|
|
50
52
|
from airflow.utils.session import NEW_SESSION, provide_session
|
|
51
53
|
|
|
52
54
|
if TYPE_CHECKING:
|
|
@@ -54,19 +56,10 @@ if TYPE_CHECKING:
|
|
|
54
56
|
|
|
55
57
|
from airflow.models.taskinstancekey import TaskInstanceKey
|
|
56
58
|
|
|
57
|
-
|
|
58
|
-
from airflow.sdk import BaseOperator
|
|
59
|
+
if AIRFLOW_V_3_0_PLUS:
|
|
59
60
|
from airflow.sdk.definitions.context import Context
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
from airflow.models.baseoperator import BaseOperator
|
|
63
|
-
from airflow.utils.context import Context
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
67
|
-
from airflow.sdk import BaseOperatorLink
|
|
68
|
-
else:
|
|
69
|
-
from airflow.models.baseoperatorlink import BaseOperatorLink # type: ignore[no-redef]
|
|
61
|
+
else:
|
|
62
|
+
from airflow.utils.context import Context # type: ignore[no-redef]
|
|
70
63
|
|
|
71
64
|
|
|
72
65
|
class ExternalDagLink(BaseOperatorLink):
|
|
@@ -29,7 +29,7 @@ from airflow.configuration import conf
|
|
|
29
29
|
from airflow.exceptions import AirflowException
|
|
30
30
|
from airflow.providers.standard.hooks.filesystem import FSHook
|
|
31
31
|
from airflow.providers.standard.triggers.file import FileTrigger
|
|
32
|
-
from airflow.
|
|
32
|
+
from airflow.providers.standard.version_compat import BaseSensorOperator
|
|
33
33
|
|
|
34
34
|
try:
|
|
35
35
|
from airflow.triggers.base import StartTriggerArgs
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
# under the License.
|
|
18
18
|
from __future__ import annotations
|
|
19
19
|
|
|
20
|
-
from collections.abc import Mapping, Sequence
|
|
21
|
-
from typing import TYPE_CHECKING, Any
|
|
20
|
+
from collections.abc import Callable, Mapping, Sequence
|
|
21
|
+
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
|
-
from airflow.
|
|
23
|
+
from airflow.providers.standard.version_compat import BaseSensorOperator, PokeReturnValue
|
|
24
24
|
from airflow.utils.context import context_merge
|
|
25
25
|
from airflow.utils.operator_helpers import determine_kwargs
|
|
26
26
|
|