apache-airflow-providers-standard 1.4.1rc2__tar.gz → 1.5.0__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.
Files changed (143) hide show
  1. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/PKG-INFO +11 -9
  2. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/README.rst +5 -4
  3. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/changelog.rst +52 -1
  4. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/index.rst +3 -1
  5. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/provider.yaml +4 -1
  6. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/pyproject.toml +6 -5
  7. {apache_airflow_providers_standard-1.4.1rc2/tests/unit → apache_airflow_providers_standard-1.5.0/src/airflow}/__init__.py +1 -1
  8. {apache_airflow_providers_standard-1.4.1rc2/src/airflow → apache_airflow_providers_standard-1.5.0/src/airflow/providers}/__init__.py +1 -1
  9. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/__init__.py +1 -1
  10. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_external_task_parent_deferrable.py +0 -6
  11. apache_airflow_providers_standard-1.5.0/src/airflow/providers/standard/example_dags/example_hitl_operator.py +81 -0
  12. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/exceptions.py +8 -0
  13. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/get_provider_info.py +2 -0
  14. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/hooks/filesystem.py +1 -4
  15. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/hooks/package_index.py +1 -4
  16. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/hooks/subprocess.py +1 -4
  17. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/operators/branch.py +2 -4
  18. apache_airflow_providers_standard-1.5.0/src/airflow/providers/standard/operators/hitl.py +234 -0
  19. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/operators/latest_only.py +12 -2
  20. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/operators/python.py +15 -2
  21. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/operators/trigger_dagrun.py +1 -1
  22. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/sensors/date_time.py +5 -2
  23. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/sensors/external_task.py +26 -9
  24. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/triggers/external_task.py +3 -3
  25. apache_airflow_providers_standard-1.5.0/src/airflow/providers/standard/triggers/hitl.py +132 -0
  26. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/utils/python_virtualenv.py +1 -6
  27. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/utils/skipmixin.py +2 -7
  28. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/version_compat.py +3 -1
  29. {apache_airflow_providers_standard-1.4.1rc2/src/airflow/providers → apache_airflow_providers_standard-1.5.0/tests/unit}/__init__.py +1 -1
  30. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/decorators/test_bash.py +6 -5
  31. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/decorators/test_branch_external_python.py +6 -2
  32. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/decorators/test_branch_python.py +6 -2
  33. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/decorators/test_branch_virtualenv.py +5 -1
  34. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/decorators/test_external_python.py +7 -1
  35. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/decorators/test_python.py +16 -6
  36. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/decorators/test_python_virtualenv.py +6 -1
  37. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/decorators/test_sensor.py +5 -1
  38. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/decorators/test_short_circuit.py +3 -1
  39. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/operators/test_branch_operator.py +6 -1
  40. apache_airflow_providers_standard-1.5.0/tests/unit/standard/operators/test_hitl.py +293 -0
  41. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/operators/test_latest_only_operator.py +18 -0
  42. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/operators/test_python.py +65 -7
  43. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/sensors/test_external_task_sensor.py +132 -14
  44. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/sensors/test_python.py +1 -1
  45. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/sensors/test_time.py +18 -14
  46. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/sensors/test_time_delta.py +46 -45
  47. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/sensors/test_weekday.py +7 -7
  48. apache_airflow_providers_standard-1.5.0/tests/unit/standard/triggers/test_hitl.py +161 -0
  49. apache_airflow_providers_standard-1.5.0/tests/unit/standard/utils/__init__.py +16 -0
  50. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/utils/test_sensor_helper.py +7 -1
  51. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/utils/test_skipmixin.py +80 -20
  52. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/commits.rst +0 -0
  53. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/conf.py +0 -0
  54. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/configurations-ref.rst +0 -0
  55. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/installing-providers-from-sources.rst +0 -0
  56. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/operators/bash.rst +0 -0
  57. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/operators/datetime.rst +0 -0
  58. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/operators/index.rst +0 -0
  59. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/operators/latest_only.rst +0 -0
  60. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/operators/python.rst +0 -0
  61. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/operators/trigger_dag_run.rst +0 -0
  62. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/security.rst +0 -0
  63. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/sensors/bash.rst +0 -0
  64. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/sensors/datetime.rst +0 -0
  65. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/sensors/external_task_sensor.rst +0 -0
  66. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/sensors/file.rst +0 -0
  67. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/sensors/index.rst +0 -0
  68. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/docs/sensors/python.rst +0 -0
  69. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/LICENSE +0 -0
  70. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/__init__.py +0 -0
  71. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/bash.py +0 -0
  72. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/branch_external_python.py +0 -0
  73. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/branch_python.py +0 -0
  74. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/branch_virtualenv.py +0 -0
  75. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/external_python.py +0 -0
  76. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/python.py +0 -0
  77. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/python_virtualenv.py +0 -0
  78. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/sensor.py +0 -0
  79. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/decorators/short_circuit.py +0 -0
  80. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/__init__.py +0 -0
  81. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_bash_decorator.py +0 -0
  82. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_bash_operator.py +0 -0
  83. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_branch_datetime_operator.py +0 -0
  84. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_branch_day_of_week_operator.py +0 -0
  85. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_branch_operator.py +0 -0
  86. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_branch_operator_decorator.py +0 -0
  87. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_external_task_child_deferrable.py +0 -0
  88. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_external_task_marker_dag.py +0 -0
  89. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_latest_only.py +0 -0
  90. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_python_decorator.py +0 -0
  91. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_python_operator.py +0 -0
  92. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_sensor_decorator.py +0 -0
  93. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_sensors.py +0 -0
  94. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_short_circuit_decorator.py +0 -0
  95. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_short_circuit_operator.py +0 -0
  96. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/example_trigger_controller_dag.py +0 -0
  97. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/sql/__init__.py +0 -0
  98. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/example_dags/sql/sample.sql +0 -0
  99. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/hooks/__init__.py +0 -0
  100. {apache_airflow_providers_standard-1.4.1rc2/src/airflow/providers/standard/operators → apache_airflow_providers_standard-1.5.0/src/airflow/providers/standard/models}/__init__.py +0 -0
  101. {apache_airflow_providers_standard-1.4.1rc2/src/airflow/providers/standard/sensors → apache_airflow_providers_standard-1.5.0/src/airflow/providers/standard/operators}/__init__.py +0 -0
  102. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/operators/bash.py +0 -0
  103. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/operators/datetime.py +0 -0
  104. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/operators/empty.py +0 -0
  105. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/operators/smooth.py +0 -0
  106. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/operators/weekday.py +0 -0
  107. {apache_airflow_providers_standard-1.4.1rc2/src/airflow/providers/standard/triggers → apache_airflow_providers_standard-1.5.0/src/airflow/providers/standard/sensors}/__init__.py +0 -0
  108. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/sensors/bash.py +0 -0
  109. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/sensors/filesystem.py +0 -0
  110. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/sensors/python.py +0 -0
  111. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/sensors/time.py +0 -0
  112. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/sensors/time_delta.py +0 -0
  113. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/sensors/weekday.py +0 -0
  114. {apache_airflow_providers_standard-1.4.1rc2/src/airflow/providers/standard/utils → apache_airflow_providers_standard-1.5.0/src/airflow/providers/standard/triggers}/__init__.py +0 -0
  115. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/triggers/file.py +0 -0
  116. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/triggers/temporal.py +0 -0
  117. {apache_airflow_providers_standard-1.4.1rc2/tests/unit/standard → apache_airflow_providers_standard-1.5.0/src/airflow/providers/standard/utils}/__init__.py +0 -0
  118. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/utils/python_virtualenv_script.jinja2 +0 -0
  119. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/utils/sensor_helper.py +0 -0
  120. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/src/airflow/providers/standard/utils/weekday.py +0 -0
  121. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/conftest.py +0 -0
  122. {apache_airflow_providers_standard-1.4.1rc2/tests/unit/standard/decorators → apache_airflow_providers_standard-1.5.0/tests/unit/standard}/__init__.py +0 -0
  123. {apache_airflow_providers_standard-1.4.1rc2/tests/unit/standard/hooks → apache_airflow_providers_standard-1.5.0/tests/unit/standard/decorators}/__init__.py +0 -0
  124. {apache_airflow_providers_standard-1.4.1rc2/tests/unit/standard/operators → apache_airflow_providers_standard-1.5.0/tests/unit/standard/hooks}/__init__.py +0 -0
  125. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/hooks/test_filesystem.py +0 -0
  126. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/hooks/test_package_index.py +0 -0
  127. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/hooks/test_subprocess.py +0 -0
  128. {apache_airflow_providers_standard-1.4.1rc2/tests/unit/standard/sensors → apache_airflow_providers_standard-1.5.0/tests/unit/standard/operators}/__init__.py +0 -0
  129. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/operators/test_bash.py +0 -0
  130. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/operators/test_datetime.py +0 -0
  131. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/operators/test_smooth.py +0 -0
  132. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/operators/test_trigger_dagrun.py +0 -0
  133. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/operators/test_weekday.py +0 -0
  134. {apache_airflow_providers_standard-1.4.1rc2/tests/unit/standard/triggers → apache_airflow_providers_standard-1.5.0/tests/unit/standard/sensors}/__init__.py +0 -0
  135. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/sensors/test_bash.py +0 -0
  136. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/sensors/test_date_time.py +0 -0
  137. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/test_exceptions.py +0 -0
  138. {apache_airflow_providers_standard-1.4.1rc2/tests/unit/standard/utils → apache_airflow_providers_standard-1.5.0/tests/unit/standard/triggers}/__init__.py +0 -0
  139. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/triggers/test_external_task.py +0 -0
  140. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/triggers/test_file.py +0 -0
  141. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/triggers/test_temporal.py +0 -0
  142. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/utils/test_python_virtualenv.py +0 -0
  143. {apache_airflow_providers_standard-1.4.1rc2 → apache_airflow_providers_standard-1.5.0}/tests/unit/standard/utils/test_weekday.py +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apache-airflow-providers-standard
3
- Version: 1.4.1rc2
3
+ Version: 1.5.0
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.10
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
@@ -18,11 +18,12 @@ Classifier: License :: OSI Approved :: Apache Software License
18
18
  Classifier: Programming Language :: Python :: 3.10
19
19
  Classifier: Programming Language :: Python :: 3.11
20
20
  Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
21
22
  Classifier: Topic :: System :: Monitoring
22
- Requires-Dist: apache-airflow>=2.10.0rc1
23
+ Requires-Dist: apache-airflow>=2.10.0
23
24
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
24
- Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.4.1/changelog.html
25
- Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.4.1
25
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-standard/1.5.0/changelog.html
26
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-standard/1.5.0
26
27
  Project-URL: Mastodon, https://fosstodon.org/@airflow
27
28
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
28
29
  Project-URL: Source Code, https://github.com/apache/airflow
@@ -53,8 +54,9 @@ Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
53
54
 
54
55
  Package ``apache-airflow-providers-standard``
55
56
 
56
- Release: ``1.4.1``
57
+ Release: ``1.5.0``
57
58
 
59
+ Release Date: ``|PypiReleaseDate|``
58
60
 
59
61
  Airflow Standard Provider
60
62
 
@@ -66,7 +68,7 @@ This is a provider package for ``standard`` provider. All classes for this provi
66
68
  are in ``airflow.providers.standard`` python package.
67
69
 
68
70
  You can find package information and changelog for the provider
69
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/>`_.
71
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.5.0/>`_.
70
72
 
71
73
  Installation
72
74
  ------------
@@ -75,7 +77,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
75
77
  for the minimum Airflow version supported) via
76
78
  ``pip install apache-airflow-providers-standard``
77
79
 
78
- The package supports the following python versions: 3.10,3.11,3.12
80
+ The package supports the following python versions: 3.10,3.11,3.12,3.13
79
81
 
80
82
  Requirements
81
83
  ------------
@@ -87,5 +89,5 @@ PIP package Version required
87
89
  ================== ==================
88
90
 
89
91
  The changelog for the provider package can be found in the
90
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/changelog.html>`_.
92
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.5.0/changelog.html>`_.
91
93
 
@@ -23,8 +23,9 @@
23
23
 
24
24
  Package ``apache-airflow-providers-standard``
25
25
 
26
- Release: ``1.4.1``
26
+ Release: ``1.5.0``
27
27
 
28
+ Release Date: ``|PypiReleaseDate|``
28
29
 
29
30
  Airflow Standard Provider
30
31
 
@@ -36,7 +37,7 @@ This is a provider package for ``standard`` provider. All classes for this provi
36
37
  are in ``airflow.providers.standard`` python package.
37
38
 
38
39
  You can find package information and changelog for the provider
39
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/>`_.
40
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.5.0/>`_.
40
41
 
41
42
  Installation
42
43
  ------------
@@ -45,7 +46,7 @@ You can install this package on top of an existing Airflow 2 installation (see `
45
46
  for the minimum Airflow version supported) via
46
47
  ``pip install apache-airflow-providers-standard``
47
48
 
48
- The package supports the following python versions: 3.10,3.11,3.12
49
+ The package supports the following python versions: 3.10,3.11,3.12,3.13
49
50
 
50
51
  Requirements
51
52
  ------------
@@ -57,4 +58,4 @@ PIP package Version required
57
58
  ================== ==================
58
59
 
59
60
  The changelog for the provider package can be found in the
60
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.4.0/changelog.html>`_.
61
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-standard/1.5.0/changelog.html>`_.
@@ -35,6 +35,57 @@
35
35
  Changelog
36
36
  ---------
37
37
 
38
+ 1.5.0
39
+ .....
40
+
41
+ Features
42
+ ~~~~~~~~
43
+
44
+ * ``Add venv pycache clean up for the PythonVirtualenvOperator (#53390)``
45
+ * ``Add Human-in-the-loop logic to core Airflow and implement 'HITLOperator', 'ApprovalOperator', 'HITLEntryOperator' in standard provider (#52868)``
46
+
47
+ Bug Fixes
48
+ ~~~~~~~~~
49
+
50
+ * ``Fix key error in _handle_execution_date_fn for ExternalTaskSensor (#53728)``
51
+ * ``fix: Type mismatch for DateInterval in latest only operator (#53541)``
52
+ * ``fix(hitl): Fix HITLEntryOperator "options" and "defaults" handling (#53184)``
53
+ * ``fix(hitl): handle hitl details when task instance is retried (#53824)``
54
+
55
+ Misc
56
+ ~~~~
57
+
58
+ * ``Fix unreachable code mypy warnings in standard provider (#53431)``
59
+ * ``Align main branch after standard provider 1.4.1 release (#53511)``
60
+ * ``Add Python 3.13 support for Airflow. (#46891)``
61
+ * ``Cleanup mypy ignore in standard provider where possible (#53308)``
62
+ * ``Remove type ignore across codebase after mypy upgrade (#53243)``
63
+ * ``Remove direct scheduler BaseOperator refs (#52234)``
64
+ * ``Remove upper-binding for "python-requires" (#52980)``
65
+ * ``Temporarily switch to use >=,< pattern instead of '~=' (#52967)``
66
+ * ``Move 'BaseHook' imports to version_compat for standard provider (#52766)``
67
+ * ``Deprecate and move 'airflow.utils.task_group' to SDK (#53450)``
68
+ * ``Deprecate decorators from Core (#53629)``
69
+ * ``Replace usages of XCOM_RETURN_KEY in providers to not be from utils (#53170)``
70
+ * ``Remove 'set_current_context' from 'airflow.models.taskinstance' (#53036)``
71
+ * ``Replace direct BaseOperator import with version_compat import (#53847)``
72
+ * ``Fix typo in serialized_params (#53848)``
73
+
74
+ Doc-only
75
+ ~~~~~~~~
76
+
77
+ * ``docs: Correct TaskFlow capitalization in documentation (#51794)``
78
+
79
+ .. Below changes are excluded from the changelog. Move them to
80
+ appropriate section above if needed. Do not delete the lines(!):
81
+ * ``Set up process for sharing code between different components (#53149)``
82
+ * ``Replace 'mock.patch("utcnow")' with time_machine. (#53642)``
83
+ * ``Add run_on_latest_version support for backfill and clear operations (#52177)``
84
+ * ``docs(hitl): add example dag for all HITLOperator (#53360)``
85
+ * ``Prepare release for Standard Provider 1.4.1``
86
+ * ``Make dag_version_id in TI non-nullable (#50825)``
87
+ * ``Fix example dag example_external_task_parent_deferrable.py imports (#52956)``
88
+
38
89
  1.4.1
39
90
  .....
40
91
 
@@ -322,7 +373,7 @@ Misc
322
373
  * ``AIP-72: Move non-user facing code to '_internal' (#45515)``
323
374
  * ``AIP-72: Add support for 'get_current_context' in Task SDK (#45486)``
324
375
  * ``Move Literal alias into TYPE_CHECKING block (#45345)``
325
- * ``AIP-72: Add Taskflow API support & template rendering in Task SDK (#45444)``
376
+ * ``AIP-72: Add TaskFlow API support & template rendering in Task SDK (#45444)``
326
377
  * ``Remove tuple_in_condition helpers (#45201)``
327
378
 
328
379
  .. Below changes are excluded from the changelog. Move them to
@@ -66,7 +66,9 @@ apache-airflow-providers-standard package
66
66
  Airflow Standard Provider
67
67
 
68
68
 
69
- Release: 1.4.1
69
+ Release: 1.5.0
70
+
71
+ Release Date: ``|PypiReleaseDate|``
70
72
 
71
73
  Provider package
72
74
  ----------------
@@ -21,12 +21,13 @@ name: Standard
21
21
  description: |
22
22
  Airflow Standard Provider
23
23
  state: ready
24
- source-date-epoch: 1751474457
24
+ source-date-epoch: 1753692022
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.5.0
30
31
  - 1.4.1
31
32
  - 1.4.0
32
33
  - 1.3.0
@@ -70,6 +71,7 @@ operators:
70
71
  - airflow.providers.standard.operators.latest_only
71
72
  - airflow.providers.standard.operators.smooth
72
73
  - airflow.providers.standard.operators.branch
74
+ - airflow.providers.standard.operators.hitl
73
75
  sensors:
74
76
  - integration-name: Standard
75
77
  python-modules:
@@ -94,6 +96,7 @@ triggers:
94
96
  - airflow.providers.standard.triggers.external_task
95
97
  - airflow.providers.standard.triggers.file
96
98
  - airflow.providers.standard.triggers.temporal
99
+ - airflow.providers.standard.triggers.hitl
97
100
 
98
101
  extra-links:
99
102
  - airflow.providers.standard.operators.trigger_dagrun.TriggerDagRunLink
@@ -25,7 +25,7 @@ build-backend = "flit_core.buildapi"
25
25
 
26
26
  [project]
27
27
  name = "apache-airflow-providers-standard"
28
- version = "1.4.1rc2"
28
+ version = "1.5.0"
29
29
  description = "Provider package apache-airflow-providers-standard for Apache Airflow"
30
30
  readme = "README.rst"
31
31
  authors = [
@@ -47,16 +47,17 @@ classifiers = [
47
47
  "Programming Language :: Python :: 3.10",
48
48
  "Programming Language :: Python :: 3.11",
49
49
  "Programming Language :: Python :: 3.12",
50
+ "Programming Language :: Python :: 3.13",
50
51
  "Topic :: System :: Monitoring",
51
52
  ]
52
- requires-python = "~=3.10"
53
+ requires-python = ">=3.10"
53
54
 
54
55
  # The dependencies should be modified in place in the generated file.
55
56
  # Any change in the dependencies is preserved when the file is regenerated
56
57
  # Make sure to run ``breeze static-checks --type update-providers-dependencies --all-files``
57
58
  # After you modify the dependencies, and rebuild your Breeze CI image with ``breeze ci-image build``
58
59
  dependencies = [
59
- "apache-airflow>=2.10.0rc1",
60
+ "apache-airflow>=2.10.0",
60
61
  ]
61
62
 
62
63
  [dependency-groups]
@@ -94,8 +95,8 @@ apache-airflow-providers-common-sql = {workspace = true}
94
95
  apache-airflow-providers-standard = {workspace = true}
95
96
 
96
97
  [project.urls]
97
- "Documentation" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.4.1"
98
- "Changelog" = "https://airflow.staged.apache.org/docs/apache-airflow-providers-standard/1.4.1/changelog.html"
98
+ "Documentation" = "https://airflow.apache.org/docs/apache-airflow-providers-standard/1.5.0"
99
+ "Changelog" = "https://airflow.apache.org/docs/apache-airflow-providers-standard/1.5.0/changelog.html"
99
100
  "Bug Tracker" = "https://github.com/apache/airflow/issues"
100
101
  "Source Code" = "https://github.com/apache/airflow"
101
102
  "Slack Chat" = "https://s.apache.org/airflow-slack"
@@ -14,4 +14,4 @@
14
14
  # KIND, either express or implied. See the License for the
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
- __path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
17
+ __path__ = __import__("pkgutil").extend_path(__path__, __name__)
@@ -14,4 +14,4 @@
14
14
  # KIND, either express or implied. See the License for the
15
15
  # specific language governing permissions and limitations
16
16
  # under the License.
17
- __path__ = __import__("pkgutil").extend_path(__path__, __name__) # type: ignore
17
+ __path__ = __import__("pkgutil").extend_path(__path__, __name__)
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
29
29
 
30
30
  __all__ = ["__version__"]
31
31
 
32
- __version__ = "1.4.1"
32
+ __version__ = "1.5.0"
33
33
 
34
34
  if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
35
35
  "2.10.0"
@@ -56,9 +56,3 @@ with DAG(
56
56
  end = EmptyOperator(task_id="end")
57
57
 
58
58
  start >> [trigger_child_task, external_task_sensor] >> end
59
-
60
- from tests_common.test_utils.watcher import watcher
61
-
62
- # This test needs watcher in order to properly mark success/failure
63
- # when "teardown" task with trigger rule is part of the DAG
64
- list(dag.tasks) >> watcher()
@@ -0,0 +1,81 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one
2
+ # or more contributor license agreements. See the NOTICE file
3
+ # distributed with this work for additional information
4
+ # regarding copyright ownership. The ASF licenses this file
5
+ # to you under the Apache License, Version 2.0 (the
6
+ # "License"); you may not use this file except in compliance
7
+ # with the License. You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing,
12
+ # software distributed under the License is distributed on an
13
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
+ # KIND, either express or implied. See the License for the
15
+ # specific language governing permissions and limitations
16
+ # under the License.
17
+
18
+ from __future__ import annotations
19
+
20
+ import datetime
21
+
22
+ import pendulum
23
+
24
+ from airflow.providers.standard.operators.hitl import (
25
+ ApprovalOperator,
26
+ HITLBranchOperator,
27
+ HITLEntryOperator,
28
+ HITLOperator,
29
+ )
30
+ from airflow.sdk import DAG, Param, task
31
+
32
+ with DAG(
33
+ dag_id="example_hitl_operator",
34
+ start_date=pendulum.datetime(2021, 1, 1, tz="UTC"),
35
+ catchup=False,
36
+ tags=["example", "HITL"],
37
+ ):
38
+ wait_for_input = HITLEntryOperator(
39
+ task_id="wait_for_input",
40
+ subject="Please provide required information: ",
41
+ params={"information": Param("", type="string")},
42
+ )
43
+
44
+ wait_for_option = HITLOperator(
45
+ task_id="wait_for_option",
46
+ subject="Please choose one option to proceeded: ",
47
+ options=["option 1", "option 2", "option 3"],
48
+ )
49
+
50
+ valid_input_and_options = ApprovalOperator(
51
+ task_id="valid_input_and_options",
52
+ subject="Are the following input and options valid?",
53
+ body="""
54
+ Input: {{ task_instance.xcom_pull(task_ids='wait_for_input', key='return_value')["params_input"]["information"] }}
55
+ Option: {{ task_instance.xcom_pull(task_ids='wait_for_option', key='return_value')["chosen_options"] }}
56
+ """,
57
+ defaults="Reject",
58
+ execution_timeout=datetime.timedelta(minutes=1),
59
+ )
60
+
61
+ choose_a_branch_to_run = HITLBranchOperator(
62
+ task_id="choose_a_branch_to_run",
63
+ subject="You're now allowed to proceeded. Please choose one task to run: ",
64
+ options=["task_1", "task_2", "task_3"],
65
+ )
66
+
67
+ @task
68
+ def task_1(): ...
69
+
70
+ @task
71
+ def task_2(): ...
72
+
73
+ @task
74
+ def task_3(): ...
75
+
76
+ (
77
+ [wait_for_input, wait_for_option]
78
+ >> valid_input_and_options
79
+ >> choose_a_branch_to_run
80
+ >> [task_1(), task_2(), task_3()]
81
+ )
@@ -55,3 +55,11 @@ class ExternalDagFailedError(AirflowExternalTaskSensorException):
55
55
 
56
56
  class DuplicateStateError(AirflowExternalTaskSensorException):
57
57
  """Raised when duplicate states are provided across allowed, skipped and failed states."""
58
+
59
+
60
+ class HITLTriggerEventError(AirflowException):
61
+ """Raised when TriggerEvent contains error."""
62
+
63
+
64
+ class HITLTimeoutError(HITLTriggerEventError):
65
+ """Raised when HILTOperator timeouts."""
@@ -58,6 +58,7 @@ def get_provider_info():
58
58
  "airflow.providers.standard.operators.latest_only",
59
59
  "airflow.providers.standard.operators.smooth",
60
60
  "airflow.providers.standard.operators.branch",
61
+ "airflow.providers.standard.operators.hitl",
61
62
  ],
62
63
  }
63
64
  ],
@@ -93,6 +94,7 @@ def get_provider_info():
93
94
  "airflow.providers.standard.triggers.external_task",
94
95
  "airflow.providers.standard.triggers.file",
95
96
  "airflow.providers.standard.triggers.temporal",
97
+ "airflow.providers.standard.triggers.hitl",
96
98
  ],
97
99
  }
98
100
  ],
@@ -20,10 +20,7 @@ from __future__ import annotations
20
20
  from pathlib import Path
21
21
  from typing import Any
22
22
 
23
- try:
24
- from airflow.sdk import BaseHook
25
- except ImportError:
26
- from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
23
+ from airflow.providers.standard.version_compat import BaseHook
27
24
 
28
25
 
29
26
  class FSHook(BaseHook):
@@ -23,10 +23,7 @@ import subprocess
23
23
  from typing import Any
24
24
  from urllib.parse import quote, urlparse
25
25
 
26
- try:
27
- from airflow.sdk import BaseHook
28
- except ImportError:
29
- from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
26
+ from airflow.providers.standard.version_compat import BaseHook
30
27
 
31
28
 
32
29
  class PackageIndexHook(BaseHook):
@@ -24,10 +24,7 @@ from collections.abc import Iterator
24
24
  from subprocess import PIPE, STDOUT, Popen
25
25
  from tempfile import TemporaryDirectory, gettempdir
26
26
 
27
- try:
28
- from airflow.sdk import BaseHook
29
- except ImportError:
30
- from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
27
+ from airflow.providers.standard.version_compat import BaseHook
31
28
 
32
29
  SubprocessResult = namedtuple("SubprocessResult", ["exit_code", "output"])
33
30
 
@@ -27,7 +27,7 @@ from airflow.providers.standard.version_compat import AIRFLOW_V_3_0_PLUS, BaseOp
27
27
  if AIRFLOW_V_3_0_PLUS:
28
28
  from airflow.providers.standard.utils.skipmixin import SkipMixin
29
29
  else:
30
- from airflow.models.skipmixin import SkipMixin # type: ignore[no-redef]
30
+ from airflow.models.skipmixin import SkipMixin
31
31
 
32
32
  if TYPE_CHECKING:
33
33
  from airflow.sdk.definitions.context import Context
@@ -56,9 +56,7 @@ class BranchMixIn(SkipMixin):
56
56
  if TYPE_CHECKING:
57
57
  assert dag
58
58
 
59
- if branches_to_execute is None:
60
- return
61
- elif isinstance(branches_to_execute, str) or not isinstance(branches_to_execute, Iterable):
59
+ if isinstance(branches_to_execute, str) or not isinstance(branches_to_execute, Iterable):
62
60
  branches_to_execute = [branches_to_execute]
63
61
 
64
62
  for branch in branches_to_execute: