[airflow] branch main updated: Allow Users to disable SwaggerUI via configuration (#28354)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/main by this push: new 032a542fee Allow Users to disable SwaggerUI via configuration (#28354) 032a542fee is described below commit 032a542feeb617d1f92580b97fa0ad3cdca09d63 Author: Glenn Schuurman AuthorDate: Tue Dec 20 06:06:21 2022 +0100 Allow Users to disable SwaggerUI via configuration (#28354) Due to potential issues, we want to give teams the opportunity to disable the swaggerUI. This can now be done via the configuration key: webserver.enable_swagger_ui. For backwards compatibility, this has been set to true by default, but for teams willing to disable this it can be set to false. --- airflow/config_templates/config.yml | 7 +++ airflow/config_templates/default_airflow.cfg| 3 +++ airflow/www/extensions/init_appbuilder_links.py | 15 +-- airflow/www/extensions/init_views.py| 6 -- 4 files changed, 23 insertions(+), 8 deletions(-) diff --git a/airflow/config_templates/config.yml b/airflow/config_templates/config.yml index 21d787cb56..9005a54885 100644 --- a/airflow/config_templates/config.yml +++ b/airflow/config_templates/config.yml @@ -1513,6 +1513,13 @@ type: string example: "dagrun_cleared,failed" default: ~ +- name: enable_swagger_ui + description: | +Boolean for running SwaggerUI in the webserver. + version_added: 2.6.0 + type: boolean + example: ~ + default: "True" - name: run_internal_api description: | Boolean for running Internal API in the webserver. diff --git a/airflow/config_templates/default_airflow.cfg b/airflow/config_templates/default_airflow.cfg index a3aff78e95..4bd2883563 100644 --- a/airflow/config_templates/default_airflow.cfg +++ b/airflow/config_templates/default_airflow.cfg @@ -771,6 +771,9 @@ audit_view_excluded_events = gantt,landing_times,tries,duration,calendar,graph,g # Example: audit_view_included_events = dagrun_cleared,failed # audit_view_included_events = +# Boolean for running SwaggerUI in the webserver. +enable_swagger_ui = True + # Boolean for running Internal API in the webserver. run_internal_api = False diff --git a/airflow/www/extensions/init_appbuilder_links.py b/airflow/www/extensions/init_appbuilder_links.py index 619d302fb3..67bd1f6bb4 100644 --- a/airflow/www/extensions/init_appbuilder_links.py +++ b/airflow/www/extensions/init_appbuilder_links.py @@ -16,6 +16,7 @@ # under the License. from __future__ import annotations +from airflow.configuration import conf from airflow.utils.docs import get_docs_url @@ -36,12 +37,14 @@ def init_appbuilder_links(app): appbuilder.add_link( name="Documentation", label="GitHub Repo", href="https://github.com/apache/airflow;, category="Docs" ) -appbuilder.add_link( -name="Documentation", -label="REST API Reference (Swagger UI)", -href="/api/v1./api/v1_swagger_ui_index", -category="Docs", -) + +if conf.getboolean("webserver", "enable_swagger_ui", fallback=True): +appbuilder.add_link( +name="Documentation", +label="REST API Reference (Swagger UI)", +href="/api/v1./api/v1_swagger_ui_index", +category="Docs", +) appbuilder.add_link( name="Documentation", label="REST API Reference (Redoc)", href="RedocView.redoc", category="Docs" ) diff --git a/airflow/www/extensions/init_views.py b/airflow/www/extensions/init_views.py index 86f94d2f22..ca4ef6cd5e 100644 --- a/airflow/www/extensions/init_views.py +++ b/airflow/www/extensions/init_views.py @@ -208,7 +208,8 @@ def init_api_connexion(app: Flask) -> None: return views.method_not_allowed(ex) spec_dir = path.join(ROOT_APP_DIR, "api_connexion", "openapi") -connexion_app = App(__name__, specification_dir=spec_dir, skip_error_handlers=True) +options = {"swagger_ui": conf.getboolean("webserver", "enable_swagger_ui", fallback=True)} +connexion_app = App(__name__, specification_dir=spec_dir, skip_error_handlers=True, options=options) connexion_app.app = app api_bp = connexion_app.add_api( specification="v1.yaml", base_path=base_path, validate_responses=True, strict_validation=True @@ -227,7 +228,8 @@ def init_api_internal(app: Flask) -> None: base_path = "/internal_api/v1" spec_dir = path.join(ROOT_APP_DIR, "api_internal", "openapi") -internal_app = App(__name__, specif
[airflow] branch main updated: Update API & Python Client versions (#25562)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/main by this push: new 3bdc4577c9 Update API & Python Client versions (#25562) 3bdc4577c9 is described below commit 3bdc4577c97342f163070c331fd928f28f9e23a6 Author: Sumit Maheshwari AuthorDate: Sat Aug 6 15:39:47 2022 +0530 Update API & Python Client versions (#25562) --- airflow/api_connexion/openapi/v1.yaml | 2 +- clients/gen/python.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airflow/api_connexion/openapi/v1.yaml b/airflow/api_connexion/openapi/v1.yaml index 4b9f349a60..1e8d6dd73b 100644 --- a/airflow/api_connexion/openapi/v1.yaml +++ b/airflow/api_connexion/openapi/v1.yaml @@ -229,7 +229,7 @@ info: This means that the server encountered an unexpected condition that prevented it from fulfilling the request. - version: '1.0.0' + version: '2.3.0' license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html diff --git a/clients/gen/python.sh b/clients/gen/python.sh index 4a4b2d5d6b..04b95abfc6 100755 --- a/clients/gen/python.sh +++ b/clients/gen/python.sh @@ -26,7 +26,7 @@ readonly CLEANUP_DIRS # shellcheck source=./clients/gen/common.sh source "${CLIENTS_GEN_DIR}/common.sh" -VERSION=2.2.0 +VERSION=2.3.0 readonly VERSION python_config=(
[airflow-client-python] annotated tag 2.3.0 updated (dcd32b7 -> 3e374a8)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to annotated tag 2.3.0 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git *** WARNING: tag 2.3.0 was modified! *** from dcd32b7 (commit) to 3e374a8 (tag) tagging dcd32b761013962377b7987ec272aba760716980 (commit) replaces 2.3.0rc1 by Sumit Maheshwari on Wed Aug 3 18:04:17 2022 +0530 - Log - Tag 2.3.0 release -BEGIN PGP SIGNATURE- iHUEABYKAB0WIQQRpG9WOPdrqF51R8TYjBcRl381WQUCYuprVAAKCRDYjBcRl381 Wb+7AQDAl4ZE4mj5fUCfJFCP7WPYisj2MUU41q3kYaRVy+kIYgD+LU6LoUSkSOTB jLGb336HeExiDGcYNyE71lBA6QcX3wE= =g6Tp -END PGP SIGNATURE- --- No new revisions were added by this update. Summary of changes:
[airflow-client-python] branch master updated: Update Changelog for 2.3.0 release (#48)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new dcd32b7 Update Changelog for 2.3.0 release (#48) dcd32b7 is described below commit dcd32b761013962377b7987ec272aba760716980 Author: Sumit Maheshwari AuthorDate: Wed Aug 3 18:03:01 2022 +0530 Update Changelog for 2.3.0 release (#48) --- CHANGELOG.md | 18 ++ 1 file changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 67fb44b..f12a943 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,24 @@ under the License. --> +# v2.3.0 + +Apache Airflow API version: 2.3.x + +### Major changes: + +- NA + +### Major fixes: + +- NA + +### New API supported: + +- PATCH /dags | Update DAGs +- GET /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index} | Get a mapped task instance +- GET /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped | List mapped task instances + # v2.2.0 Apache Airflow API version: 2.2.x
svn commit: r56100 - /release/airflow/clients/python/2.3.0/
Author: msumit Date: Wed Aug 3 11:14:01 2022 New Revision: 56100 Log: Release Apache Airflow Python Client 2.3.0 from 2.3.0rc1 Added: release/airflow/clients/python/2.3.0/ release/airflow/clients/python/2.3.0/apache-airflow-client-2.3.0-bin.tar.gz - copied unchanged from r56002, dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz release/airflow/clients/python/2.3.0/apache-airflow-client-2.3.0-bin.tar.gz.asc - copied unchanged from r56002, dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.asc release/airflow/clients/python/2.3.0/apache-airflow-client-2.3.0-bin.tar.gz.sha512 - copied unchanged from r56002, dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.sha512 release/airflow/clients/python/2.3.0/apache-airflow-client-2.3.0-source.tar.gz - copied unchanged from r56002, dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz release/airflow/clients/python/2.3.0/apache-airflow-client-2.3.0-source.tar.gz.asc - copied unchanged from r56002, dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.asc release/airflow/clients/python/2.3.0/apache-airflow-client-2.3.0-source.tar.gz.sha512 - copied unchanged from r56002, dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.sha512 release/airflow/clients/python/2.3.0/apache_airflow_client-2.3.0-py3-none-any.whl - copied unchanged from r56002, dev/airflow/clients/python/2.3.0rc1/apache_airflow_client-2.3.0-py3-none-any.whl release/airflow/clients/python/2.3.0/apache_airflow_client-2.3.0-py3-none-any.whl.asc - copied unchanged from r56002, dev/airflow/clients/python/2.3.0rc1/apache_airflow_client-2.3.0-py3-none-any.whl.asc release/airflow/clients/python/2.3.0/apache_airflow_client-2.3.0-py3-none-any.whl.sha512 - copied unchanged from r56002, dev/airflow/clients/python/2.3.0rc1/apache_airflow_client-2.3.0-py3-none-any.whl.sha512
[airflow-client-python] annotated tag 2.3.0rc1 updated (cd574a4 -> e51a891)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to annotated tag 2.3.0rc1 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git *** WARNING: tag 2.3.0rc1 was modified! *** from cd574a4 (commit) to e51a891 (tag) tagging cd574a4ea628ada9d3fdb9c40600d337e9ff28be (commit) by Sumit Maheshwari on Thu Jul 28 00:35:55 2022 +0530 - Log - 2.3.0rc1 -BEGIN PGP SIGNATURE- iHUEABYKAB0WIQQRpG9WOPdrqF51R8TYjBcRl381WQUCYuGMogAKCRDYjBcRl381 WcGjAQDSDpEIjgugKvzXvDmIe+dYLIptl6S/AreyN6ZSf9+mvwEAvAGSlW4fwMCe hYKShwqlEmq9uf4fuUauHj/OwHazrQc= =86Jx -END PGP SIGNATURE- --- No new revisions were added by this update. Summary of changes:
svn commit: r56002 - /dev/airflow/clients/python/2.3.0rc1/
Author: msumit Date: Wed Jul 27 19:32:13 2022 New Revision: 56002 Log: Add artifacts for Apache Airflow Python Client 2.3.0rc1 Added: dev/airflow/clients/python/2.3.0rc1/ dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz (with props) dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.asc dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.sha512 dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz (with props) dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.asc dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.sha512 dev/airflow/clients/python/2.3.0rc1/apache_airflow_client-2.3.0-py3-none-any.whl (with props) dev/airflow/clients/python/2.3.0rc1/apache_airflow_client-2.3.0-py3-none-any.whl.asc dev/airflow/clients/python/2.3.0rc1/apache_airflow_client-2.3.0-py3-none-any.whl.sha512 Added: dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.asc == --- dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.asc (added) +++ dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.asc Wed Jul 27 19:32:13 2022 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmLhjjkSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWfOwMAI8uv1xnzp1iUxeN0Qn06/O4x0Y1G4v0 +mmKB8808wgkwIkusJ5z0wVBdrrhk7V2SSySu6VwpwayYL4yeURCUun/AM6Li0mSn +LyqBI8dWeZ03uLiTrqidmx6IHEela4a/Qm8LywjTa5Ncb/b51SxyBazpAwybhHZU +H76XH/ib34nuKsXYAYj0PQG9lmak1ZQsBTw4lh5rH3xcppS8rrswJJVa1zzbYF6q +yxijshKKEApp5BOtNarRlINef06KFxCGyorRloiJPifqAYvdb+OO4fu6lY6zGPy/ +NcS6aupLTz4s5DrraXtwRcrgvePE7PxjTP0ATmHdxMXlenxXQhdBxUlaGYzhIV+F +nfbILGysgiphsKL99CgwdXh/c74ot8gv6E9cTwa8HhHpoopy8rUKFvu6Yu1wtGdU +XGbUc1ml0TtfUoLwMjsg1pLdoC55pjjW6XbP3TkGAtQKwzrH6ZgALnMxy784c+hn +OH1u+xSQKQDVPSfeRL6w2j9ieojQD60jKg== +=iIpP +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.sha512 == --- dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-bin.tar.gz.sha512 Wed Jul 27 19:32:13 2022 @@ -0,0 +1 @@ +329398f369baa69abefe79a0a3b580fcc8f5803623857863e5d580e976d7f38053d4663f776ef09cb4c4df3a21674b698f5a0fdd848afad3e91a3c56f231aa2c apache-airflow-client-2.3.0-bin.tar.gz Added: dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.asc == --- dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.asc (added) +++ dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.asc Wed Jul 27 19:32:13 2022 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmLhjigSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWU3wL/A7RUNg7l9ByjP0Pu2UhemUlcEyI4loE +7JPcrkaUD7a3OXRs1VjrQUwbrrfocjifFC+9kZj0XPa0pybOt2WjjgE41CdG/SL7 +uiYR49UDIhK/gbpbaSO8pH4FZefjk7IGFvg2b5F4Nlq5dm9BCATliu36wuTxAD7c +32nWtW5VZ+9r3vFut78QRmXkdesFMikppbQM9h6+g8SHQsqE8lu/PtOiLFfPFAcs +l6kIQqZ0jcloFUfhRKK0Ha3DZoHGMji+7TC1Bn5PMo/k5D6EtMH0UgMewxHo5wRY +bPtxomnQwE86QVqQe/7j2pA8gJCRwM1VgX6bFqVB+3E93657v00tAb1yhrw+OPnO +O5OdVymPdRm03T0WPp/5y0DWUq0W5IlsLf0LgkrVPhTUbkxvinSE3ac7zB3mzhic +Buwb6dBuZDH3pUNLBws2uwioMpQ6atIsZ7NqUVtg5fbjbq0zDs1+g2KY3bbKtRAl +n1+OQ3NWkWXCoyQjH1v5f+xp+MISCbfAdg== +=0UDJ +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.sha512 == --- dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.3.0rc1/apache-airflow-client-2.3.0-source.tar.gz.sha512 Wed Jul 27 19:32:13 2022 @@ -0,0 +1
[airflow] branch main updated: Add __repr__ to ParamsDict class (#25305)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/main by this push: new df388a3d53 Add __repr__ to ParamsDict class (#25305) df388a3d53 is described below commit df388a3d5364b748993e61b522d0b68ff8b8124a Author: Sumit Maheshwari AuthorDate: Wed Jul 27 12:43:27 2022 +0530 Add __repr__ to ParamsDict class (#25305) Fixes #25295 --- airflow/models/param.py| 3 +++ tests/models/test_param.py | 4 2 files changed, 7 insertions(+) diff --git a/airflow/models/param.py b/airflow/models/param.py index fcbe7a0f93..1179dd9fd6 100644 --- a/airflow/models/param.py +++ b/airflow/models/param.py @@ -147,6 +147,9 @@ class ParamsDict(MutableMapping[str, Any]): def __iter__(self): return iter(self.__dict) +def __repr__(self): +return repr(self.dump()) + def __setitem__(self, key: str, value: Any) -> None: """ Override for dictionary's ``setitem`` method. This method make sure that all values are of diff --git a/tests/models/test_param.py b/tests/models/test_param.py index 3529f0360c..bbd430d773 100644 --- a/tests/models/test_param.py +++ b/tests/models/test_param.py @@ -193,6 +193,10 @@ class TestParamsDict: with pytest.raises(ParamValidationError, match=r'Invalid input for param key: 1 is not'): pd.update({'key': 1}) +def test_repr(self): +pd = ParamsDict({'key': Param('value', type='string')}) +assert repr(pd) == "{'key': 'value'}" + class TestDagParamRuntime: VALUE = 42
[airflow-client-python] tag 2.2.0 created (now 99b3d15)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to tag 2.2.0 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git at 99b3d15 (commit) No new revisions were added by this update.
[airflow] branch main updated: Add default task retry delay config (#23861)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/main by this push: new 64689d61d8 Add default task retry delay config (#23861) 64689d61d8 is described below commit 64689d61d8fa89efc2a01ec2add5915d2847517d Author: Sumit Maheshwari AuthorDate: Tue May 24 15:06:34 2022 +0530 Add default task retry delay config (#23861) --- airflow/config_templates/config.yml | 8 airflow/config_templates/default_airflow.cfg | 4 airflow/models/abstractoperator.py | 4 +++- tests/models/test_baseoperator.py| 23 +++ 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/airflow/config_templates/config.yml b/airflow/config_templates/config.yml index b5ca6a7d80..3309a3b0a5 100644 --- a/airflow/config_templates/config.yml +++ b/airflow/config_templates/config.yml @@ -249,6 +249,14 @@ type: string example: ~ default: "0" +- name: default_task_retry_delay + description: | + The number of seconds each task is going to wait by default between retries. Can be overridden at + dag or task level. + version_added: 2.3.2 + type: integer + example: ~ + default: "300" - name: default_task_weight_rule description: | The weighting method used for the effective total priority weight of the task diff --git a/airflow/config_templates/default_airflow.cfg b/airflow/config_templates/default_airflow.cfg index 07af45aecb..14351e49b8 100644 --- a/airflow/config_templates/default_airflow.cfg +++ b/airflow/config_templates/default_airflow.cfg @@ -147,6 +147,10 @@ dag_ignore_file_syntax = regexp # The number of retries each task is going to have by default. Can be overridden at dag or task level. default_task_retries = 0 +# The number of seconds each task is going to wait by default between retries. Can be overridden at +# dag or task level. +default_task_retry_delay = 300 + # The weighting method used for the effective total priority weight of the task default_task_weight_rule = downstream diff --git a/airflow/models/abstractoperator.py b/airflow/models/abstractoperator.py index 8d2e06442a..6187c37182 100644 --- a/airflow/models/abstractoperator.py +++ b/airflow/models/abstractoperator.py @@ -62,7 +62,9 @@ DEFAULT_POOL_SLOTS: int = 1 DEFAULT_PRIORITY_WEIGHT: int = 1 DEFAULT_QUEUE: str = conf.get_mandatory_value("operators", "default_queue") DEFAULT_RETRIES: int = conf.getint("core", "default_task_retries", fallback=0) -DEFAULT_RETRY_DELAY: datetime.timedelta = datetime.timedelta(seconds=300) +DEFAULT_RETRY_DELAY: datetime.timedelta = datetime.timedelta( +seconds=conf.getint("core", "default_task_retry_delay", fallback=300) +) DEFAULT_WEIGHT_RULE: WeightRule = WeightRule( conf.get("core", "default_task_weight_rule", fallback=WeightRule.DOWNSTREAM) ) diff --git a/tests/models/test_baseoperator.py b/tests/models/test_baseoperator.py index 8cb8d96e81..5ba271a5a1 100644 --- a/tests/models/test_baseoperator.py +++ b/tests/models/test_baseoperator.py @@ -994,3 +994,26 @@ def test_mapped_render_template_fields_validating_operator(dag_maker, session): assert op.value == "{{ ds }}", "Should not be templated!" assert op.arg1 == "{{ ds }}" assert op.arg2 == "a" + + +def test_default_retry_delay(dag_maker): +with dag_maker(dag_id='test_default_retry_delay'): +task1 = BaseOperator(task_id='test_no_explicit_retry_delay') + +assert task1.retry_delay == timedelta(seconds=300) + + +def test_dag_level_retry_delay(dag_maker): +with dag_maker(dag_id='test_dag_level_retry_delay', default_args={'retry_delay': timedelta(seconds=100)}): +task1 = BaseOperator(task_id='test_no_explicit_retry_delay') + +assert task1.retry_delay == timedelta(seconds=100) + + +def test_task_level_retry_delay(dag_maker): +with dag_maker( +dag_id='test_task_level_retry_delay', default_args={'retry_delay': timedelta(seconds=100)} +): +task1 = BaseOperator(task_id='test_no_explicit_retry_delay', retry_delay=timedelta(seconds=200)) + +assert task1.retry_delay == timedelta(seconds=200)
[airflow] branch main updated (169b196 -> 9076b67)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git. from 169b196 Chart: Default to Airflow 2.2.4 (#21745) add 9076b67 Fix triggerer --capacity parameter (#21753) No new revisions were added by this update. Summary of changes: airflow/cli/cli_parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[airflow] branch main updated (8f162aa -> c8222eb)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git. from 8f162aa Removed hardcoded connection types. Check if hook is instance of DbApiHook. (#19639) add c8222eb Fix Py SDK version (#20046) No new revisions were added by this update. Summary of changes: clients/gen/python.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[airflow-client-python] branch master updated: Update Changelog for 2.2.0 release (#37)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new 99b3d15 Update Changelog for 2.2.0 release (#37) 99b3d15 is described below commit 99b3d15620e543cf7b01da8f076bb78ae3eb9b71 Author: Sumit Maheshwari AuthorDate: Wed Dec 1 14:58:20 2021 +0530 Update Changelog for 2.2.0 release (#37) --- CHANGELOG.md | 21 + dev/README_RELEASE_CLIENT.md | 2 +- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d8a6ce..67fb44b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,27 @@ under the License. --> +# v2.2.0 + +Apache Airflow API version: 2.2.x + +### Major changes: + +- Client code is generated using OpenApi's 5.3.0 generator CLI + +### Major fixes: + +- NA + +### New API supported: + +- POST /connections/test | Test a connection +- DELETE /dags/{dag_id} | Delete a DAG +- PATCH /dags/{dag_id}/dagRuns/{dag_run_id} | Modify a DAG run +- DELETE /users/{username} | Delete a user +- PATCH /users/{username} | Update a user +- POST /users | Create a user + # v2.1.0 Apache Airflow API version: 2.1.x diff --git a/dev/README_RELEASE_CLIENT.md b/dev/README_RELEASE_CLIENT.md index 8767f66..8f96309 100644 --- a/dev/README_RELEASE_CLIENT.md +++ b/dev/README_RELEASE_CLIENT.md @@ -203,7 +203,7 @@ svn mkdir ${VERSION} cd ${VERSION} # Move the artifacts to svn folder & commit -for f in ../../../../airflow-dev/clients/python/$RC/*; do svn cp $f ${$(basename $f)/rc?/}; done +for f in ../../../../airflow-dev/clients/python/$RC/*; do svn cp $f . ; done svn commit -m "Release Apache Airflow Python Client ${VERSION} from ${RC}" # Remove old release
svn commit: r51155 - /release/airflow/clients/python/2.2.0/
Author: msumit Date: Wed Dec 1 09:07:42 2021 New Revision: 51155 Log: Release Apache Airflow Python Client 2.2.0 from 2.2.0rc1 Added: release/airflow/clients/python/2.2.0/ release/airflow/clients/python/2.2.0/apache-airflow-client-2.2.0-bin.tar.gz - copied unchanged from r50996, dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz release/airflow/clients/python/2.2.0/apache-airflow-client-2.2.0-bin.tar.gz.asc - copied unchanged from r50996, dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.asc release/airflow/clients/python/2.2.0/apache-airflow-client-2.2.0-bin.tar.gz.sha512 - copied unchanged from r50996, dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.sha512 release/airflow/clients/python/2.2.0/apache-airflow-client-2.2.0-source.tar.gz - copied unchanged from r50996, dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz release/airflow/clients/python/2.2.0/apache-airflow-client-2.2.0-source.tar.gz.asc - copied unchanged from r50996, dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.asc release/airflow/clients/python/2.2.0/apache-airflow-client-2.2.0-source.tar.gz.sha512 - copied unchanged from r50996, dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.sha512 release/airflow/clients/python/2.2.0/apache_airflow_client-2.2.0-py3-none-any.whl - copied unchanged from r50996, dev/airflow/clients/python/2.2.0rc1/apache_airflow_client-2.2.0-py3-none-any.whl release/airflow/clients/python/2.2.0/apache_airflow_client-2.2.0-py3-none-any.whl.asc - copied unchanged from r50996, dev/airflow/clients/python/2.2.0rc1/apache_airflow_client-2.2.0-py3-none-any.whl.asc release/airflow/clients/python/2.2.0/apache_airflow_client-2.2.0-py3-none-any.whl.sha512 - copied unchanged from r50996, dev/airflow/clients/python/2.2.0rc1/apache_airflow_client-2.2.0-py3-none-any.whl.sha512
[airflow-client-python] tag 2.2.0rc1 created (now d12a10d)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to tag 2.2.0rc1 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. at d12a10d (commit) No new revisions were added by this update.
svn commit: r50996 - /dev/airflow/clients/python/2.2.0rc1/
Author: msumit Date: Thu Nov 18 12:12:33 2021 New Revision: 50996 Log: Add artifacts for Apache Airflow Python Client 2.2.0rc1 Added: dev/airflow/clients/python/2.2.0rc1/ dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz (with props) dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.asc dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.sha512 dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz (with props) dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.asc dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.sha512 dev/airflow/clients/python/2.2.0rc1/apache_airflow_client-2.2.0-py3-none-any.whl (with props) dev/airflow/clients/python/2.2.0rc1/apache_airflow_client-2.2.0-py3-none-any.whl.asc dev/airflow/clients/python/2.2.0rc1/apache_airflow_client-2.2.0-py3-none-any.whl.sha512 Added: dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.asc == --- dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.asc (added) +++ dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.asc Thu Nov 18 12:12:33 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmGWQisSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWAncMAODdJLI1RpxYTdTI0qo5/RZhqmKyOZbU +Q0uAJ2OoW7XOz8RgiXocdacKqNYh0FD/9NwitDx37qAw2JASnRrBVDSxkuM7N843 +B6xFnGCq9kmvnjvV7Cq6EA/kTMpri8GYJl4D4/x6oE6TtMM9hIGSkA9TIo72CILP +RaicCIG1YkFQxWCbVoduC6L2cpNyS4MHaIvpAUMR/MdoMG1tHfdzuxqApv+t25Ew +DGFnMWQnrRR65S2CsP3Axl4SMP4yATMVQb+RgpLj+sC4Uqs4AOMgYHehKA7FrqKI +y53VxRaqnGP4USecBR7lXSxG0Na7yDvI7ysUROEDGtwj2Q99Oq7o80C0/HCfGc7Q +MjgbVykIM01lRI7KnvJDLdJpaBjhk3Enjd+VvHRh2MAbq9pPmDOSOR/DEFCahyzM +BLdymZ3UeQQxpNAf9r1oe817KfsTALTdJZs8ihAZKcuuJZB/kzuA7PDYgsoRnf+Y +yO7bnK12OnSNQhSlZ+P4JGZAxmFcQO9JFg== +=9yvt +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.sha512 == --- dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-bin.tar.gz.sha512 Thu Nov 18 12:12:33 2021 @@ -0,0 +1 @@ +7a3360c69240799b559dd7f7fc1c89e99e39e5b9d57aac80acac6492d9662c0e8e99bbdc49fca97a8db90b0f4132e20fd69eae55222622be9511e2b3298d apache-airflow-client-2.2.0-bin.tar.gz Added: dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.asc == --- dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.asc (added) +++ dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.asc Thu Nov 18 12:12:33 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmGWQgMSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflW7poMALwZBUaT3tRp0F7GRW4uZiSyMNRrJcnc +X2Tw4cFmPc2oh7FZQwgFTxBhp/WxGh2FNZBSSBo7NtThGF1xOOtEfhW9jO+j03At +1dvwqrk/hZcayt6ycn9Bwgshxcgvo+zM+bi7PbMTdF87MNdRCDyE6zPJH7EUIvP+ +WBUG/kBomiuLdi1aFORb86hnTACNrALPfxQTM9raAV6txGdYHguhV+T1/ZFSfPAh +BVAFnHVEXrVcoyG0Y3W/apNld8/Hr9Q8IbTJ+mEUSavj+jjG+FnPAdnQ+FCGtK0I +iwI6/hB2mTwuKwjZft7Jt6FFcwe46uVOL3d66pu5NkiHXElDsOv17pas+9YlKb+s +5UE/wsn8Rd6hMb0q3uiPa4C/vBSQ/cKibimf+YAiU0+0ljgpW0mOkl6g+6wovh8Y +/VXd0JeQFZIdQRnex62MJdFCIswfqNjSzO5+1FyYXIAf7HwTjG91IRdAIGUyxRgJ +EObJpYX/y/Z44tEy5LszmrzE3TL9e8XGMw== +=oS/O +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.sha512 == --- dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.2.0rc1/apache-airflow-client-2.2.0-source.tar.gz.sha512 Thu Nov 18 12:12:33 2021 @@ -0,0 +1
[airflow-client-python] branch master updated: Update readme, add instructions on how to add auth during generation (#33)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new f8d7f95 Update readme, add instructions on how to add auth during generation (#33) f8d7f95 is described below commit f8d7f958578fd1c63cef41d6b3f5447dc45bdfe6 Author: HTErik <89977373+hte...@users.noreply.github.com> AuthorDate: Mon Oct 25 09:03:06 2021 +0200 Update readme, add instructions on how to add auth during generation (#33) Because openapi schema is not listing the supported authentication schemas under security-section. The generated openapi client will not pass on any authenticaion configuration at all. Before generating the client, the relevant sections must be added. For more background, see https://github.com/apache/airflow/issues/17172 and https://github.com/apache/airflow/pull/17174 --- README.md | 27 +-- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 13da734..31e7714 100644 --- a/README.md +++ b/README.md @@ -62,17 +62,11 @@ import airflow_client.client from pprint import pprint from airflow_client.client.api import config_api -# The client must use the authentication and authorization parameters -# in accordance with the API server security policy. -# Examples for each auth method are provided below, use the example that -# satisfies your auth use case. # -# In case of the basic authentication below, make sure that Airflow is -# configured with the basic_auth as backend: -# -# auth_backend = airflow.api.auth.backend.basic_auth -# -# Make sure that your user/name are configured properly +# In case of the basic authentication below. Make sure: +# - Airflow is configured with the basic_auth as backend: +# auth_backend = airflow.api.auth.backend.basic_auth +# - Make sure that the client has been generated with securitySchema Basic. # Configure HTTP basic authorization: Basic configuration = airflow_client.client.Configuration( @@ -108,6 +102,19 @@ git clone g...@github.com:apache/airflow-client-python.git # clone Airflow repo (if not already) git clone g...@github.com:apache/airflow.git +``` +Edit the file `airflow/airflow/api_connexion/openapi/v1.yaml` +Make sure it has the following `securitySchema`s listed under security `section` +```yaml +security: + - Basic: [] + - GoogleOpenId: [] + - Kerberos: [] +``` +If your deployment of Airflow uses any different authentication mechanism than the three listed above, you might need to make further changes to the `v1.yaml` and generate your own client, see [OpenAPI Schema specification](https://swagger.io/docs/specification/authentication/) for details. +(*These changes should not be commited to the upstream `v1.yaml` [as it will generate misleading openapi documentaion](https://github.com/apache/airflow/pull/17174)*) + +```bash cd airflow # bump up the version in python.sh & run the following command
[airflow] branch main updated (fe6a769 -> 23a68fa)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git. from fe6a769 Add some basic metrics to the Triggerer (#18214) add 23a68fa Advanced Params using json-schema (#17100) No new revisions were added by this update. Summary of changes: .../api_connexion/endpoints/dag_run_endpoint.py| 27 +-- airflow/api_connexion/schemas/dag_schema.py| 8 +- airflow/api_connexion/schemas/task_schema.py | 7 + airflow/cli/commands/dag_command.py| 34 +-- airflow/cli/commands/task_command.py | 4 + airflow/models/__init__.py | 1 + airflow/models/baseoperator.py | 8 +- airflow/models/dag.py | 27 ++- airflow/models/dagparam.py | 47 + airflow/models/param.py| 205 ++ airflow/models/taskinstance.py | 16 +- airflow/operators/python.py| 3 +- airflow/serialization/enums.py | 1 + airflow/serialization/serialized_objects.py| 62 +- airflow/www/views.py | 38 ++-- docs/apache-airflow/concepts/index.rst | 1 + docs/apache-airflow/concepts/params.rst| 63 ++ tests/api_connexion/endpoints/test_dag_endpoint.py | 27 ++- .../api_connexion/endpoints/test_task_endpoint.py | 27 ++- tests/api_connexion/schemas/test_dag_schema.py | 9 +- tests/api_connexion/schemas/test_task_schema.py| 11 +- tests/models/test_dag.py | 27 ++- tests/models/test_dagparam.py | 100 - tests/models/test_param.py | 234 + tests/operators/test_python.py | 2 - tests/sensors/test_timeout_sensor.py | 2 +- tests/serialization/test_dag_serialization.py | 46 +++- 27 files changed, 824 insertions(+), 213 deletions(-) create mode 100644 airflow/models/param.py create mode 100644 docs/apache-airflow/concepts/params.rst delete mode 100644 tests/models/test_dagparam.py create mode 100644 tests/models/test_param.py
[airflow] branch main updated: Add note about params on trigger DAG page (#18166)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/main by this push: new d7aed84 Add note about params on trigger DAG page (#18166) d7aed84 is described below commit d7aed84f64c900d636b29328fd76f91ab34d6ca5 Author: Sumit Maheshwari AuthorDate: Sun Sep 12 13:34:20 2021 +0530 Add note about params on trigger DAG page (#18166) --- airflow/www/templates/airflow/trigger.html | 7 +++ airflow/www/views.py | 23 --- 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/airflow/www/templates/airflow/trigger.html b/airflow/www/templates/airflow/trigger.html index 4ae838f..fb1fd88 100644 --- a/airflow/www/templates/airflow/trigger.html +++ b/airflow/www/templates/airflow/trigger.html @@ -47,6 +47,13 @@ To access configuration in your DAG use {{ '{{ dag_run.conf }}' }}. + {% if is_dag_run_conf_overrides_params %} +As core.dag_run_conf_overrides_params is set to True, so passing any configuration +here will override task params which can be accessed via {{ '{{ params }}' }}. + {% else %} +As core.dag_run_conf_overrides_params is set to False, so passing any configuration +here won't override task params. + {% endif %} diff --git a/airflow/www/views.py b/airflow/www/views.py index 1423568..968770f 100644 --- a/airflow/www/views.py +++ b/airflow/www/views.py @@ -1625,6 +1625,7 @@ class Airflow(AirflowBaseView): unpause = request.values.get('unpause') request_conf = request.values.get('conf') request_execution_date = request.values.get('execution_date', default=timezone.utcnow().isoformat()) +is_dag_run_conf_overrides_params = conf.getboolean('core', 'dag_run_conf_overrides_params') if request.method == 'GET': # Populate conf textarea with conf requests parameter, or dag.params @@ -1648,6 +1649,7 @@ class Airflow(AirflowBaseView): conf=default_conf, doc_md=doc_md, form=form, + is_dag_run_conf_overrides_params=is_dag_run_conf_overrides_params, ) dag_orm = session.query(models.DagModel).filter(models.DagModel.dag_id == dag_id).first() @@ -1661,7 +1663,12 @@ class Airflow(AirflowBaseView): flash("Invalid execution date", "error") form = DateTimeForm(data={'execution_date': timezone.utcnow().isoformat()}) return self.render_template( -'airflow/trigger.html', dag_id=dag_id, origin=origin, conf=request_conf, form=form +'airflow/trigger.html', +dag_id=dag_id, +origin=origin, +conf=request_conf, +form=form, + is_dag_run_conf_overrides_params=is_dag_run_conf_overrides_params, ) dr = DagRun.find(dag_id=dag_id, execution_date=execution_date, run_type=DagRunType.MANUAL) @@ -1677,13 +1684,23 @@ class Airflow(AirflowBaseView): flash("Invalid JSON configuration, must be a dict", "error") form = DateTimeForm(data={'execution_date': execution_date}) return self.render_template( -'airflow/trigger.html', dag_id=dag_id, origin=origin, conf=request_conf, form=form +'airflow/trigger.html', +dag_id=dag_id, +origin=origin, +conf=request_conf, +form=form, + is_dag_run_conf_overrides_params=is_dag_run_conf_overrides_params, ) except json.decoder.JSONDecodeError: flash("Invalid JSON configuration, not parseable", "error") form = DateTimeForm(data={'execution_date': execution_date}) return self.render_template( -'airflow/trigger.html', dag_id=dag_id, origin=origin, conf=request_conf, form=form +'airflow/trigger.html', +dag_id=dag_id, +origin=origin, +conf=request_conf, +form=form, + is_dag_run_conf_overrides_params=is_dag_run_conf_overrides_params, ) dag = current_app.dag_bag.get_dag(dag_id)
[airflow] branch main updated: Use parameters instead of params (#18143)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/main by this push: new 9140ad8 Use parameters instead of params (#18143) 9140ad8 is described below commit 9140ad8d8f6dadd56bc592f5cdbf5585c2a8ce89 Author: Sumit Maheshwari AuthorDate: Sat Sep 11 09:37:46 2021 +0530 Use parameters instead of params (#18143) --- .../example_dags/example_facebook_ads_to_gcs.py| 4 +-- .../google/cloud/transfers/facebook_ads_to_gcs.py | 27 +--- .../example_dags/example_display_video.py | 4 +-- .../marketing_platform/operators/display_video.py | 29 +- .../cloud/transfers/test_facebook_ads_to_gcs.py| 8 +++--- .../operators/test_display_video.py| 6 ++--- 6 files changed, 58 insertions(+), 20 deletions(-) diff --git a/airflow/providers/google/cloud/example_dags/example_facebook_ads_to_gcs.py b/airflow/providers/google/cloud/example_dags/example_facebook_ads_to_gcs.py index 0ffe21c..9b6ac50 100644 --- a/airflow/providers/google/cloud/example_dags/example_facebook_ads_to_gcs.py +++ b/airflow/providers/google/cloud/example_dags/example_facebook_ads_to_gcs.py @@ -51,7 +51,7 @@ FIELDS = [ AdsInsights.Field.clicks, AdsInsights.Field.impressions, ] -PARAMS = {'level': 'ad', 'date_preset': 'yesterday'} +PARAMETERS = {'level': 'ad', 'date_preset': 'yesterday'} # [END howto_FB_ADS_variables] with models.DAG( @@ -90,7 +90,7 @@ with models.DAG( start_date=days_ago(2), owner='airflow', bucket_name=GCS_BUCKET, -params=PARAMS, +parameters=PARAMETERS, fields=FIELDS, gcp_conn_id=GCS_CONN_ID, object_name=GCS_OBJ_PATH, diff --git a/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py b/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py index ed13fd6..7abee35 100644 --- a/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py +++ b/airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py @@ -18,8 +18,10 @@ """This module contains Facebook Ad Reporting to GCS operators.""" import csv import tempfile +import warnings from typing import Any, Dict, List, Optional, Sequence, Union +from airflow.exceptions import AirflowException from airflow.models import BaseOperator from airflow.providers.facebook.ads.hooks.ads import FacebookAdsReportingHook from airflow.providers.google.cloud.hooks.gcs import GCSHook @@ -56,9 +58,13 @@ class FacebookAdsReportToGcsOperator(BaseOperator): :param fields: List of fields that is obtained from Facebook. Found in AdsInsights.Field class. https://developers.facebook.com/docs/marketing-api/insights/parameters/v6.0 :type fields: List[str] -:param params: Parameters that determine the query for Facebook +:param params: Parameters that determine the query for Facebook. This keyword is deprecated, +please use `parameters` keyword to pass the parameters. https://developers.facebook.com/docs/marketing-api/insights/parameters/v6.0 :type params: Dict[str, Any] +:param parameters: Parameters that determine the query for Facebook + https://developers.facebook.com/docs/marketing-api/insights/parameters/v6.0 +:type parameters: Dict[str, Any] :param gzip: Option to compress local file or file data for upload :type gzip: bool :param impersonation_chain: Optional service account to impersonate using short-term @@ -77,6 +83,7 @@ class FacebookAdsReportToGcsOperator(BaseOperator): "bucket_name", "object_name", "impersonation_chain", +"parameters", ) def __init__( @@ -85,7 +92,8 @@ class FacebookAdsReportToGcsOperator(BaseOperator): bucket_name: str, object_name: str, fields: List[str], -params: Dict[str, Any], +params: Dict[str, Any] = None, +parameters: Dict[str, Any] = None, gzip: bool = False, api_version: str = "v6.0", gcp_conn_id: str = "google_cloud_default", @@ -100,15 +108,26 @@ class FacebookAdsReportToGcsOperator(BaseOperator): self.facebook_conn_id = facebook_conn_id self.api_version = api_version self.fields = fields -self.params = params +self.parameters = parameters self.gzip = gzip self.impersonation_chain = impersonation_chain +if params is None and parameters is None: +raise AirflowException("Argument ['parameters'] is required") +if params and parameters is None: +# TODO: Remove in provider version 6.0 +warnings.warn( +"Please use 'parameters' instead of 'params'", +Depr
[airflow] branch main updated: Fix TI success confirm page (#16650)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/main by this push: new 5306dc5 Fix TI success confirm page (#16650) 5306dc5 is described below commit 5306dc5557bbb7b1a553e2dfea68ddc93c709faa Author: Sumit Maheshwari AuthorDate: Mon Jun 28 10:25:03 2021 +0530 Fix TI success confirm page (#16650) --- airflow/www/templates/airflow/dag.html | 16 airflow/www/views.py | 24 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/airflow/www/templates/airflow/dag.html b/airflow/www/templates/airflow/dag.html index b619585..001682f 100644 --- a/airflow/www/templates/airflow/dag.html +++ b/airflow/www/templates/airflow/dag.html @@ -293,19 +293,19 @@ - + Past - + Future - + Upstream - + Downstream @@ -326,19 +326,19 @@ - + Past - + Future - + Upstream - + Downstream diff --git a/airflow/www/views.py b/airflow/www/views.py index 033e2c2..fe5e07d 100644 --- a/airflow/www/views.py +++ b/airflow/www/views.py @@ -1879,10 +1879,10 @@ class Airflow(AirflowBaseView): # noqa: D101 pylint: disable=too-many-public-m execution_date = args.get('execution_date') state = args.get('state') -upstream = to_boolean(args.get('failed_upstream')) -downstream = to_boolean(args.get('failed_downstream')) -future = to_boolean(args.get('failed_future')) -past = to_boolean(args.get('failed_past')) +upstream = to_boolean(args.get('upstream')) +downstream = to_boolean(args.get('downstream')) +future = to_boolean(args.get('future')) +past = to_boolean(args.get('past')) try: dag = current_app.dag_bag.get_dag(dag_id) @@ -1952,10 +1952,10 @@ class Airflow(AirflowBaseView): # noqa: D101 pylint: disable=too-many-public-m origin = get_safe_url(args.get('origin')) execution_date = args.get('execution_date') -upstream = to_boolean(args.get('failed_upstream')) -downstream = to_boolean(args.get('failed_downstream')) -future = to_boolean(args.get('failed_future')) -past = to_boolean(args.get('failed_past')) +upstream = to_boolean(args.get('upstream')) +downstream = to_boolean(args.get('downstream')) +future = to_boolean(args.get('future')) +past = to_boolean(args.get('past')) return self._mark_task_instance_state( dag_id, @@ -1985,10 +1985,10 @@ class Airflow(AirflowBaseView): # noqa: D101 pylint: disable=too-many-public-m origin = get_safe_url(args.get('origin')) execution_date = args.get('execution_date') -upstream = to_boolean(args.get('success_upstream')) -downstream = to_boolean(args.get('success_downstream')) -future = to_boolean(args.get('success_future')) -past = to_boolean(args.get('success_past')) +upstream = to_boolean(args.get('upstream')) +downstream = to_boolean(args.get('downstream')) +future = to_boolean(args.get('future')) +past = to_boolean(args.get('past')) return self._mark_task_instance_state( dag_id,
[airflow] branch main updated (96f7643 -> 2a59de3)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git. from 96f7643 Fix tasks in an infinite slots pool were never scheduled (#15247) add 2a59de3 Redact conn secrets in webserver logs (#16579) No new revisions were added by this update. Summary of changes: airflow/hooks/base.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
[airflow] branch main updated (19ed074 -> 61fdf84)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git. from 19ed074 Use safe get with AWS DMS describe replication tasks (#16540) add 61fdf84 Add test connection method to http hook (#16568) No new revisions were added by this update. Summary of changes: airflow/providers/http/hooks/http.py| 10 +- tests/providers/http/hooks/test_http.py | 16 2 files changed, 25 insertions(+), 1 deletion(-)
[airflow] branch main updated (bbc627a -> df1220a)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git. from bbc627a Prepares documentation for rc2 release of Providers (#16501) add df1220a Update docs on setting up SMTP (#16523) No new revisions were added by this update. Summary of changes: docs/apache-airflow/howto/email-config.rst | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-)
[airflow] branch main updated (1c82b4d -> e72e529)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git. from 1c82b4d Fix S3ToFTPOperator (#13796) add e72e529 Convert port value to a number before calling test connection (#16497) No new revisions were added by this update. Summary of changes: airflow/www/static/js/connection_form.js | 2 ++ 1 file changed, 2 insertions(+)
[airflow] branch main updated: Fix TI success/failure links (#16233)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/main by this push: new 7432c4d Fix TI success/failure links (#16233) 7432c4d is described below commit 7432c4d7ea17ad95cc47c6e772c221d5d141f5e0 Author: Sumit Maheshwari AuthorDate: Fri Jun 11 14:12:55 2021 +0530 Fix TI success/failure links (#16233) fixes issue #15234. As of now, TI success & failure endpoints are POST only and behave differently as per the "confirmed" flag. They either render a confirmation page or updates the TI states on the basis of that flag, something which is not a great design. Also, as these endpoints are POST only, they throw a 404 error when someone clicks on the link received via email. To fix the issue, extracting the rendering functionalities into a diff endpoint "/confirm" & keeping these endpoints as pure POST endpoints. --- airflow/models/taskinstance.py | 3 +- airflow/utils/strings.py | 2 +- airflow/www/templates/airflow/confirm.html | 8 +- airflow/www/templates/airflow/dag.html | 8 +- airflow/www/views.py | 168 +++-- tests/www/views/test_views.py | 1 - tests/www/views/test_views_acl.py | 4 +- tests/www/views/test_views_tasks.py| 60 +-- 8 files changed, 153 insertions(+), 101 deletions(-) diff --git a/airflow/models/taskinstance.py b/airflow/models/taskinstance.py index b4e644e..cf066b3 100644 --- a/airflow/models/taskinstance.py +++ b/airflow/models/taskinstance.py @@ -533,12 +533,13 @@ class TaskInstance(Base, LoggingMixin): # pylint: disable=R0902,R0904 iso = quote(self.execution_date.isoformat()) base_url = conf.get('webserver', 'BASE_URL') return base_url + ( -"/success" +"/confirm" f"?task_id={self.task_id}" f"_id={self.dag_id}" f"_date={iso}" "=false" "=false" +"=success" ) @provide_session diff --git a/airflow/utils/strings.py b/airflow/utils/strings.py index 8d73914..c1823ff 100644 --- a/airflow/utils/strings.py +++ b/airflow/utils/strings.py @@ -27,4 +27,4 @@ def get_random_string(length=8, choices=string.ascii_letters + string.digits): def to_boolean(astring): """Convert a string to a boolean""" -return astring.lower() in ['true', 't', 'y', 'yes', '1'] +return False if astring is None else astring.lower() in ['true', 't', 'y', 'yes', '1'] diff --git a/airflow/www/templates/airflow/confirm.html b/airflow/www/templates/airflow/confirm.html index ccf49cb..3bbc908 100644 --- a/airflow/www/templates/airflow/confirm.html +++ b/airflow/www/templates/airflow/confirm.html @@ -28,10 +28,14 @@ {{ details }} {% endif %} - + {% if endpoint %} + + {% else %} + + {% endif %} -{% for name,val in request.form.items() if name != "csrf_token" %} +{% for name,val in request.values.items() if name != "csrf_token" %} {% endfor %} OK! diff --git a/airflow/www/templates/airflow/dag.html b/airflow/www/templates/airflow/dag.html index 171b4a9..5bab88d 100644 --- a/airflow/www/templates/airflow/dag.html +++ b/airflow/www/templates/airflow/dag.html @@ -284,12 +284,12 @@ - - + + @@ -317,12 +317,12 @@ - - + + diff --git a/airflow/www/views.py b/airflow/www/views.py index e7eeb3c..477b87d 100644 --- a/airflow/www/views.py +++ b/airflow/www/views.py @@ -111,6 +111,7 @@ from airflow.utils.log import secrets_masker from airflow.utils.log.log_reader import TaskLogReader from airflow.utils.session import create_session, provide_session from airflow.utils.state import State +from airflow.utils.strings import to_boolean from airflow.version import version from airflow.www import auth, utils as wwwutils from airflow.www.decorators import action_logging, gzipped @@ -1578,6 +1579,7 @@ class Airflow(AirflowBaseView): # noqa: D101 pylint: disable=too-many-public-m response = self.render_template( 'airflow/confirm.html', +endpoint=None, message="Here's the list of task instances you are about to clear:", details=details,
[airflow] branch main updated: Add Wisr to INTHEWILD.md (#16360)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/main by this push: new 59c6720 Add Wisr to INTHEWILD.md (#16360) 59c6720 is described below commit 59c67203a76709fffa9a314d77501d877055ca39 Author: Vinay Kulkarni <26317453+vinc...@users.noreply.github.com> AuthorDate: Thu Jun 10 16:16:41 2021 +1000 Add Wisr to INTHEWILD.md (#16360) --- INTHEWILD.md | 1 + 1 file changed, 1 insertion(+) diff --git a/INTHEWILD.md b/INTHEWILD.md index 556255c..df22197 100644 --- a/INTHEWILD.md +++ b/INTHEWILD.md @@ -413,6 +413,7 @@ Currently, **officially** using Airflow: 1. [Whistle Labs](http://www.whistle.com) [[@ananya77041](https://github.com/ananya77041)] 1. [Wildlifestudios](https://wildlifestudios.com/) 1. [WiseBanyan](https://wisebanyan.com/) +1. [Wisr](https://wisr.com.au/) [[@fsodano](https://github.com/fsodano) & [@vincyf1](https://github.com/vincyf1)] 1. [WixAnswers](https://www.wixanswers.com/) [[@eladkal](https://github.com/eladkal)] 1. [Wix](https://www.wix.com/) [[@eladkal](https://github.com/eladkal)] 1. [Wooga](https://www.wooga.com/)
[airflow] branch main updated (5e09926 -> 75c91b4)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/airflow.git. from 5e09926 Update .github/boring-cyborg.yml (#16259) add 75c91b4 Add test_connection method to Airbyte hook (#16236) No new revisions were added by this update. Summary of changes: airflow/providers/airbyte/hooks/airbyte.py| 19 +++ tests/providers/airbyte/hooks/test_airbyte.py | 17 + 2 files changed, 36 insertions(+)
[airflow-client-python] branch master updated: Fix bullets in CHANGELOG
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new f3f7536 Fix bullets in CHANGELOG f3f7536 is described below commit f3f75368a28e3b8c348c503c3cb8dd9f67a0809b Author: Sumit Maheshwari AuthorDate: Tue Jun 1 14:43:42 2021 +0530 Fix bullets in CHANGELOG --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aab3aa5..7d8a6ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,15 +21,15 @@ Apache Airflow API version: 2.1.x -###Major changes: +### Major changes: - Client code is generated using OpenApi's 5.1.1 generator CLI -###Major fixes: +### Major fixes: - Fixed the iteration issue on array items caused by unsupported class 'object' (issue #15) -###New API supported: +### New API supported: - Permissions - Plugins
[airflow] branch master updated (3f0d4e8 -> 54019e8)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from 3f0d4e8 Fix docs for ``dag_concurrency`` (#16177) add 54019e8 Update the Python client version (#16191) No new revisions were added by this update. Summary of changes: clients/gen/python.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[airflow-client-python] tag 2.1.0 created (now a80a087)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to tag 2.1.0 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. at a80a087 (commit) No new revisions were added by this update.
[airflow-client-python] branch master updated: Update changelog for 2.1.0 release (#23)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new a80a087 Update changelog for 2.1.0 release (#23) a80a087 is described below commit a80a087479147b6c7073161e5973edd06af4ce7f Author: Sumit Maheshwari AuthorDate: Mon May 31 17:31:12 2021 +0530 Update changelog for 2.1.0 release (#23) --- CHANGELOG.md | 20 1 file changed, 20 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb03d0c..aab3aa5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,26 @@ under the License. --> +# v2.1.0 + +Apache Airflow API version: 2.1.x + +###Major changes: + + - Client code is generated using OpenApi's 5.1.1 generator CLI + +###Major fixes: + + - Fixed the iteration issue on array items caused by unsupported class 'object' (issue #15) + +###New API supported: + + - Permissions + - Plugins + - Providers + - Roles + - Users + # v2.0.0 Apache Airflow API version: 2.0.x
svn commit: r48020 - /release/airflow/clients/python/2.1.0/
Author: msumit Date: Mon May 31 11:46:50 2021 New Revision: 48020 Log: Release Apache Airflow Python Client 2.1.0 from 2.1.0rc1 Added: release/airflow/clients/python/2.1.0/ release/airflow/clients/python/2.1.0/apache-airflow-client-2.1.0-bin.tar.gz - copied unchanged from r47927, dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz release/airflow/clients/python/2.1.0/apache-airflow-client-2.1.0-bin.tar.gz.asc - copied unchanged from r47927, dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.asc release/airflow/clients/python/2.1.0/apache-airflow-client-2.1.0-bin.tar.gz.sha512 - copied unchanged from r47927, dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.sha512 release/airflow/clients/python/2.1.0/apache-airflow-client-2.1.0-source.tar.gz - copied unchanged from r47927, dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz release/airflow/clients/python/2.1.0/apache-airflow-client-2.1.0-source.tar.gz.asc - copied unchanged from r47927, dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz.asc release/airflow/clients/python/2.1.0/apache-airflow-client-2.1.0-source.tar.gz.sha512 - copied unchanged from r47927, dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz.sha512 release/airflow/clients/python/2.1.0/apache_airflow_client-2.1.0-py3-none-any.whl - copied unchanged from r47927, dev/airflow/clients/python/2.1.0rc1/apache_airflow_client-2.1.0rc1-py3-none-any.whl release/airflow/clients/python/2.1.0/apache_airflow_client-2.1.0-py3-none-any.whl.asc - copied unchanged from r47927, dev/airflow/clients/python/2.1.0rc1/apache_airflow_client-2.1.0rc1-py3-none-any.whl.asc release/airflow/clients/python/2.1.0/apache_airflow_client-2.1.0-py3-none-any.whl.sha512 - copied unchanged from r47927, dev/airflow/clients/python/2.1.0rc1/apache_airflow_client-2.1.0rc1-py3-none-any.whl.sha512
[airflow-client-python] tag 2.1.0rc1 created (now a2ead06)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to tag 2.1.0rc1 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. at a2ead06 (commit) No new revisions were added by this update.
svn commit: r47927 - /dev/airflow/clients/python/2.1.0rc1/
Author: msumit Date: Wed May 26 11:57:28 2021 New Revision: 47927 Log: Add artifacts for Apache Airflow Python Client 2.1.0rc1 Added: dev/airflow/clients/python/2.1.0rc1/ dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz (with props) dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.asc dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.sha512 dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz (with props) dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz.asc dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz.sha512 dev/airflow/clients/python/2.1.0rc1/apache_airflow_client-2.1.0rc1-py3-none-any.whl (with props) dev/airflow/clients/python/2.1.0rc1/apache_airflow_client-2.1.0rc1-py3-none-any.whl.asc dev/airflow/clients/python/2.1.0rc1/apache_airflow_client-2.1.0rc1-py3-none-any.whl.sha512 Added: dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.asc == --- dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.asc (added) +++ dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.asc Wed May 26 11:57:28 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmCuNroSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWe0MMAL0D4U1GLdjnEit56tU+/IjiNT4MVLtk +k/QKzkpehkhficlSeGSbSlUOvtDuQprNgLCCRQwNuNs/jodk+JBRTKs3qk+0OCZb +qA6bqi7QkQrIGOsRQJevRzZuxpBvt/8vOKX9WS4tUSXICkpHOdgAnScvMz7zwUqk +gkmuylieRjkmUpBp9bRm6P0SmQ9msd+JnX13tWm/adAXeB4FoJALVo6/OYBM2snT +T3/bek0T9kWJ3d0H8S5WlJL7eSYmy0NmTXH8FKBKnuScdSPMP0MGBhtGAGfC4L4s +67AmAFeZG1OnlbH3po2x7lh9oOkaHWMA/cMipBXNRiwR54o/Ct8GZOmwQw75FPMH +2h+5KoEiIkP/jHJfrXCcd0mJoNZJCcGeIs99pU/LyIv/VAMGzwHsvbduunlgiFSg +gM9T+x9UUm0QX6+09Fp3PSi81eTpJtEMV8RKJUTdHc3KiUTNCuUp42uuw7tIZDZS +3JDJrMQfN0I1Q915N0afwhDJTO7qvAv+Hg== +=DV6Q +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.sha512 == --- dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-bin.tar.gz.sha512 Wed May 26 11:57:28 2021 @@ -0,0 +1 @@ +309eb6538b01997cff88f07fefb4e1f30e08a5d7dba132d8bf47d4a9813bb44d3ace37fc23aca52050483319121d6b2e16955136a41f1717d429119100e9f44f apache-airflow-client-2.1.0rc1-bin.tar.gz Added: dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz.asc == --- dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz.asc (added) +++ dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz.asc Wed May 26 11:57:28 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmCuNqgSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWAzYL/30/eYyX2Sn9erhpawL5AhL70FLk9NMM +6z+olZEIJBsl8bnQAFOas1yrgN8ecJuwfKafAOC2IqTW+NRfKC4Xjl59G+/Q2I8C +2nVohCVm0exWmNyw3ehxkCQPtmJ9L3YeVG/idY8Rg4l8wjqCDytD9QSw25+YYswA +B4mTo/NT4YbGRrD7Ac5n/gt1LyBgMzumep4rikshQjXIcD8nFQuj4QBGwXShYDLJ +Pe1mDnaERl2qFdWCQFhe6htR7n8dLxg7LCrz7wWMRd9YNFE9zKbQphUtDPHHZ5mm +x4AQegq6KBiZwFrtM9L1/kV7ycOI68gHM/L+9PgkgFAGHShEo17JOMM37WVyQ50k +zZGwAXHd1N2pm/U+cogBatqlGF8qOgxnTLnmc9wl2z2VHk5ErzozfUm6BRTxkkvB +TqaV+gwS/LhJY5Q0tozHSAT7nwkMdIkCfo3TQyCAz5yqI1yqmtixb3dmHSufvWTa +o+IeQXt2GLPSgcVHQOJuA+viXrcdU0nf2Q== +=ATh6 +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz.sha512 == --- dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1-source.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.1.0rc1/apache-airflow-client-2.1.0rc1
[airflow] branch master updated: Ability to test connections from UI or API (#15795)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/master by this push: new 335fa10 Ability to test connections from UI or API (#15795) 335fa10 is described below commit 335fa106e81ba8a446f5cda91d52527e282996be Author: Sumit Maheshwari AuthorDate: Mon May 24 20:58:14 2021 +0530 Ability to test connections from UI or API (#15795) --- .../api_connexion/endpoints/connection_endpoint.py | 29 airflow/api_connexion/openapi/v1.yaml | 39 +++ airflow/api_connexion/schemas/connection_schema.py | 9 +++ airflow/hooks/dbapi.py | 16 + airflow/models/connection.py | 16 + airflow/www/extensions/init_jinja_globals.py | 1 + airflow/www/static/js/connection_form.js | 77 ++ airflow/www/templates/airflow/conn_create.html | 5 ++ airflow/www/templates/airflow/conn_edit.html | 5 ++ docs/apache-airflow/howto/connection.rst | 22 +++ .../endpoints/test_connection_endpoint.py | 42 .../schemas/test_connection_schema.py | 18 + tests/models/test_connection.py| 36 ++ tests/www/views/test_views.py | 5 +- 14 files changed, 319 insertions(+), 1 deletion(-) diff --git a/airflow/api_connexion/endpoints/connection_endpoint.py b/airflow/api_connexion/endpoints/connection_endpoint.py index 9009e68..71e4b97 100644 --- a/airflow/api_connexion/endpoints/connection_endpoint.py +++ b/airflow/api_connexion/endpoints/connection_endpoint.py @@ -15,6 +15,8 @@ # specific language governing permissions and limitations # under the License. +import os + from flask import request from marshmallow import ValidationError from sqlalchemy import func @@ -27,10 +29,13 @@ from airflow.api_connexion.schemas.connection_schema import ( ConnectionCollection, connection_collection_schema, connection_schema, +connection_test_schema, ) from airflow.models import Connection +from airflow.secrets.environment_variables import CONN_ENV_PREFIX from airflow.security import permissions from airflow.utils.session import provide_session +from airflow.utils.strings import get_random_string @security.requires_access([(permissions.ACTION_CAN_DELETE, permissions.RESOURCE_CONNECTION)]) @@ -129,3 +134,27 @@ def post_connection(session): session.commit() return connection_schema.dump(connection) raise AlreadyExists(detail=f"Connection already exist. ID: {conn_id}") + + +@security.requires_access([(permissions.ACTION_CAN_CREATE, permissions.RESOURCE_CONNECTION)]) +def test_connection(): +""" +To test a connection, this method first creates an in-memory dummy conn_id & exports that to an +env var, as some hook classes tries to find out the conn from their __init__ method & errors out +if not found. It also deletes the conn id env variable after the test. +""" +body = request.json +dummy_conn_id = get_random_string() +conn_env_var = f'{CONN_ENV_PREFIX}{dummy_conn_id.upper()}' +try: +data = connection_schema.load(body) +data['conn_id'] = dummy_conn_id +conn = Connection(**data) +os.environ[conn_env_var] = conn.get_uri() +status, message = conn.test_connection() +return connection_test_schema.dump({"status": status, "message": message}) +except ValidationError as err: +raise BadRequest(detail=str(err.messages)) +finally: +if conn_env_var in os.environ: +del os.environ[conn_env_var] diff --git a/airflow/api_connexion/openapi/v1.yaml b/airflow/api_connexion/openapi/v1.yaml index 72c46d6..dbe8b8d 100644 --- a/airflow/api_connexion/openapi/v1.yaml +++ b/airflow/api_connexion/openapi/v1.yaml @@ -369,6 +369,34 @@ paths: '404': $ref: '#/components/responses/NotFound' + /connections/test: +post: + summary: Test a connection + x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint + operationId: test_connection + tags: [Connection] + requestBody: +required: true +content: + application/json: +schema: + $ref: '#/components/schemas/Connection' + responses: +'200': + description: Success. + content: +application/json: + schema: +$ref: '#/components/schemas/ConnectionTest' +'400': + $ref: '#/components/responses/BadRequest' +'401': + $ref: '#/components/responses/Unauthenticated' +'403': + $ref: '#/components/responses/PermissionDenied' +'404': + $ref: '#
[airflow-client-python] branch master updated: Update links in PyPi (#14)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new 1b5ca49 Update links in PyPi (#14) 1b5ca49 is described below commit 1b5ca49ff8cc80c3c04805e888a3d691ce002b4f Author: Sumit Maheshwari AuthorDate: Sun Apr 25 15:58:56 2021 +0530 Update links in PyPi (#14) Co-authored-by: Kaxil Naik Co-authored-by: Jarek Potiuk --- setup.cfg | 19 +++ setup.py | 21 +++-- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/setup.cfg b/setup.cfg index e0227eb..c6ebeea 100644 --- a/setup.cfg +++ b/setup.cfg @@ -17,3 +17,22 @@ [flake8] max-line-length=99 + +[metadata] +name = apache-airflow-client +description = Apache Airflow API (Stable) +author = Apache Software Foundation +author_email = d...@airflow.apache.org +url = https://airflow.apache.org/ +long_description = file: README.md +long_description_content_type = text/markdown +license = Apache License 2.0 +project_urls = + Documentation=https://airflow.apache.org/docs/apache-airflow/stable/stable-rest-api-ref.html +Bug Tracker=https://github.com/apache/airflow-client-python/issues +Source Code=https://github.com/apache/airflow-client-python + +[options] +zip_safe = False +include_package_data = True +python_requires = ~=3.6 diff --git a/setup.py b/setup.py index 26d1bbd..9490efb 100644 --- a/setup.py +++ b/setup.py @@ -23,12 +23,10 @@ Generated by: https://openapi-generator.tech """ -from os import path from setuptools import setup, find_packages # noqa: H301 -NAME = "apache-airflow-client" -VERSION = "1.0.0" +VERSION = "2.1.0.dev" # To install the library, run the following # # python setup.py install @@ -41,23 +39,10 @@ REQUIRES = [ "python-dateutil", ] -THIS_DIR = path.abspath(path.dirname(__file__)) -with open(path.join(THIS_DIR, 'README.md'), encoding='utf-8') as f: -LONG_DESC = f.read() - setup( -name=NAME, version=VERSION, -description="Apache Airflow API (Stable)", -author="Apache Software Foundation", -author_email="d...@airflow.apache.org", -url="https://airflow.apache.org/;, keywords=["OpenAPI", "OpenAPI-Generator", "Apache Airflow API (Stable)"], -python_requires=">=3.6", +download_url=('https://archive.apache.org/dist/airflow/clients/python/' + VERSION), install_requires=REQUIRES, -packages=find_packages(exclude=["test", "tests"]), -include_package_data=True, -license="Apache License 2.0", -long_description=LONG_DESC, -long_description_content_type="text/markdown" +packages=find_packages(exclude=["test", "tests"]) )
[airflow-client-python] branch master updated: Update the Readme (#13)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new b2c0e2e Update the Readme (#13) b2c0e2e is described below commit b2c0e2e765c530c3b9fdf0f0dd86033b630b89c3 Author: Sumit Maheshwari AuthorDate: Fri Apr 23 16:13:19 2021 +0530 Update the Readme (#13) --- README.md| 2 +- dev/README_RELEASE_CLIENT.md | 6 -- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f154b98..61ede45 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Python >= 3.6 You can install directly using pip: ```sh -pip install git+https://github.com/apache/airflow-client-python.git +pip install apache-airflow-client ### Setuptools diff --git a/dev/README_RELEASE_CLIENT.md b/dev/README_RELEASE_CLIENT.md index 3750b8e..bef8108 100644 --- a/dev/README_RELEASE_CLIENT.md +++ b/dev/README_RELEASE_CLIENT.md @@ -202,7 +202,7 @@ svn mkdir ${VERSION} cd ${VERSION} # Move the artifacts to svn folder & commit -for f in ../../../airflow-dev/clients/python/$RC/*; do svn cp $f ${$(basename $f)/rc?/}; done +for f in ../../../../airflow-dev/clients/python/$RC/*; do svn cp $f ${$(basename $f)/rc?/}; done svn commit -m "Release Apache Airflow Python Client ${VERSION} from ${RC}" # Remove old release @@ -219,9 +219,10 @@ Verify that the packages appear in [airflow](https://dist.apache.org/repos/dist/ At this point we release an official package: -- Build the package: +- Clean & Build the package: ```shell script +git clean -fxd python setup.py sdist bdist_wheel ``` @@ -261,6 +262,7 @@ At this point we release an official package: - Push Tag for the final version ```shell script +git tag ${VERSION} git push origin ${VERSION} ```
[airflow-client-python] tag 2.0.0 created (now a650058)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to tag 2.0.0 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. at a650058 (commit) No new revisions were added by this update.
svn commit: r47346 - in /release/airflow/clients: ./ python/ python/2.0.0/
Author: msumit Date: Fri Apr 23 07:50:43 2021 New Revision: 47346 Log: Release Apache Airflow Python Client 2.0.0 from 2.0.0rc3 Added: release/airflow/clients/ release/airflow/clients/python/ release/airflow/clients/python/2.0.0/ release/airflow/clients/python/2.0.0/apache-airflow-client-2.0.0-bin.tar.gz - copied unchanged from r47166, dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz release/airflow/clients/python/2.0.0/apache-airflow-client-2.0.0-bin.tar.gz.asc - copied unchanged from r47166, dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.asc release/airflow/clients/python/2.0.0/apache-airflow-client-2.0.0-bin.tar.gz.sha512 - copied unchanged from r47166, dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.sha512 release/airflow/clients/python/2.0.0/apache-airflow-client-2.0.0-source.tar.gz - copied unchanged from r47166, dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz release/airflow/clients/python/2.0.0/apache-airflow-client-2.0.0-source.tar.gz.asc - copied unchanged from r47166, dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz.asc release/airflow/clients/python/2.0.0/apache-airflow-client-2.0.0-source.tar.gz.sha512 - copied unchanged from r47166, dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz.sha512 release/airflow/clients/python/2.0.0/apache_airflow_client-2.0.0-py3-none-any.whl - copied unchanged from r47166, dev/airflow/clients/python/2.0.0rc3/apache_airflow_client-2.0.0rc3-py3-none-any.whl release/airflow/clients/python/2.0.0/apache_airflow_client-2.0.0-py3-none-any.whl.asc - copied unchanged from r47166, dev/airflow/clients/python/2.0.0rc3/apache_airflow_client-2.0.0rc3-py3-none-any.whl.asc release/airflow/clients/python/2.0.0/apache_airflow_client-2.0.0-py3-none-any.whl.sha512 - copied unchanged from r47166, dev/airflow/clients/python/2.0.0rc3/apache_airflow_client-2.0.0rc3-py3-none-any.whl.sha512
[airflow-client-python] tag 2.0.0rc3 created (now a650058)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to tag 2.0.0rc3 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. at a650058 (commit) No new revisions were added by this update.
svn commit: r47166 - /dev/airflow/clients/python/2.0.0rc3/
Author: msumit Date: Mon Apr 19 08:59:39 2021 New Revision: 47166 Log: Add artifacts for Apache Airflow Python Client 2.0.0rc3 Added: dev/airflow/clients/python/2.0.0rc3/ dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz (with props) dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.asc dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.sha512 dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz (with props) dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz.asc dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz.sha512 dev/airflow/clients/python/2.0.0rc3/apache_airflow_client-2.0.0rc3-py3-none-any.whl (with props) dev/airflow/clients/python/2.0.0rc3/apache_airflow_client-2.0.0rc3-py3-none-any.whl.asc dev/airflow/clients/python/2.0.0rc3/apache_airflow_client-2.0.0rc3-py3-none-any.whl.sha512 Added: dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.asc == --- dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.asc (added) +++ dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.asc Mon Apr 19 08:59:39 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmB9RbwSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflW8CMMAK+usDyJNTo7syuzwT/ItLW/HPMuNjhe +IHmmwER5BM+1XApdi6jK6tiZOYsaMFSaZn2HoWW0bxE7B42W83WsKMWiO3UhyzkQ +v4r/RsDNeQz2FMi6sa+48wDVHw87H1xwsE2L/pBMo+tczgU3GgXUzCym6vspopN7 +MmnINnQzCZRD3k61y4aqyVcunAdFFV6IK1IDmogzH6/u/wRTtHsKMtCHErpCHatT +febCCO5nOwzT1+4cdpwIQwdp0gGEJU/fhtVXV+Kuz6hd/6Nwm1ewKuljQuyFSG+m +T10/ol64sXzyMJf/Wgm9Qn8/SMqNQjk+YCk1Il739hz5so9Xgd+sBbokb0wWG8IC +JWa1MLIxGPsUkgHBMbA/bFSvQA+VTl5StQ6gQaLMl+fYKl6McG8HZ6+bCOllXEZF +eTYCEIF8703KbJGdiYDfEbQG/BCImaSJTcXVwh7qcHH0VL/l64/s0e2HjGLScWQB +cQEgrQRh5yVM3F0SU9QPFupgVcvFn1kCew== +=o9nQ +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.sha512 == --- dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-bin.tar.gz.sha512 Mon Apr 19 08:59:39 2021 @@ -0,0 +1 @@ +a3d2cbd52c6241e702e93efbdc455b92c4b1250807e48a5524b7de020b1a88900024d83fa421780136b4e9ed621e0959517f289497e681d0042d9e38caca87bb apache-airflow-client-2.0.0rc3-bin.tar.gz Added: dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz.asc == --- dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz.asc (added) +++ dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz.asc Mon Apr 19 08:59:39 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmB9RbISHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWmfQMANjC9W3e2GkMJ5zd32Zgfpq4SnLLpisd +CaCZoBNZCNlWSdPqTBgHFedFQ9YqG9GndUpEJXgHwRzTQfEQL8sIgBcvMuEo879N +oE+NQLijsbjv+6a4uoYHggLW/0RIu532lWxpr7K50T8EieEQUM/a12jnIu4ZPphD +nwMzL6LrevTpC66qGl4yCqi245BSgICnXEqJJBcqGHUFqtFZUM0fI1XWDURPGZjK +V5rvM6VDphEW3p98X7sEBABCa7Dzi/bDRgC6EMQM+5yEy5cwAo3pdp8/k6AtjwFY +ke1yJ5cK8Tb+iSLq1NmKe6qp26bdXVQhfChIancT/ewn8FX5z1LyKkTbd/SfAeX7 +7txWsbwfZWmT8myZgIU7EHHZ65xwiVekEpHUG7kW73vf3tfIGG4r3S2Wa08lffuh +NSFq+qpz+bMOfTx4u+3P0EbjJ5vGcVsW1C1bfloYXXbE1CbLe8avs1HzFz9LCe7u +c53aFCCvjbwenBhEN9kNMYrY+qY/ewIklg== +=gbNJ +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz.sha512 == --- dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3-source.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.0.0rc3/apache-airflow-client-2.0.0rc3
[airflow-client-python] branch r2.0 updated (a9a2646 -> a650058)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch r2.0 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. omit a9a2646 Update Changelog & setup.py omit 3cadd79 Release 2.0.0 add 8d56d7b Rename airflow-client to apache-airflow-client (#12) new a650058 Release 2.0.0 This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (a9a2646) \ N -- N -- N refs/heads/r2.0 (a650058) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: dev/README_RELEASE_CLIENT.md | 34 +- setup.py | 6 +++--- 2 files changed, 20 insertions(+), 20 deletions(-)
[airflow-client-python] branch master updated: Rename airflow-client to apache-airflow-client (#12)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new 8d56d7b Rename airflow-client to apache-airflow-client (#12) 8d56d7b is described below commit 8d56d7b06944c5aa58033bafdd4478cc465e9c58 Author: Sumit Maheshwari AuthorDate: Wed Apr 14 17:56:01 2021 +0530 Rename airflow-client to apache-airflow-client (#12) --- dev/README_RELEASE_CLIENT.md | 34 +- setup.py | 6 +++--- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/dev/README_RELEASE_CLIENT.md b/dev/README_RELEASE_CLIENT.md index c00d93c..3750b8e 100644 --- a/dev/README_RELEASE_CLIENT.md +++ b/dev/README_RELEASE_CLIENT.md @@ -58,7 +58,7 @@ of this the version in the built artifacts that will become the official Apache - Tarball the repo ```shell script -git archive --format=tar.gz ${VERSION} --prefix=airflow-client-${VERSION}/ -o airflow-client-${VERSION}-source.tar.gz +git archive --format=tar.gz ${VERSION} --prefix=apache-airflow-client-${VERSION}/ -o apache-airflow-client-${VERSION}-source.tar.gz ``` - Generate sdist @@ -73,17 +73,17 @@ of this the version in the built artifacts that will become the official Apache - Rename the sdist ```shell script -mv dist/airflow-client-${VERSION%rc?}.tar.gz airflow-client-${VERSION}-bin.tar.gz -mv dist/airflow_client-${VERSION%rc?}-py3-none-any.whl airflow_client-${VERSION}-py3-none-any.whl +mv dist/apache-airflow-client-${VERSION%rc?}.tar.gz apache-airflow-client-${VERSION}-bin.tar.gz +mv dist/apache_airflow_client-${VERSION%rc?}-py3-none-any.whl apache_airflow_client-${VERSION}-py3-none-any.whl ``` - Generate SHA512/ASC (If you have not generated a key yet, generate it by following instructions on http://www.apache.org/dev/openpgp.html#key-gen-generate-key) ```shell script -${CLIENT_REPO_ROOT}/dev/sign.sh airflow-client-${VERSION}-source.tar.gz -${CLIENT_REPO_ROOT}/dev/sign.sh airflow-client-${VERSION}-bin.tar.gz -${CLIENT_REPO_ROOT}/dev/sign.sh airflow_client-${VERSION}-py3-none-any.whl +${CLIENT_REPO_ROOT}/dev/sign.sh apache-airflow-client-${VERSION}-source.tar.gz +${CLIENT_REPO_ROOT}/dev/sign.sh apache-airflow-client-${VERSION}-bin.tar.gz +${CLIENT_REPO_ROOT}/dev/sign.sh apache_airflow_client-${VERSION}-py3-none-any.whl ``` - Push the artifacts to ASF dev dist repo @@ -97,10 +97,10 @@ cd airflow-dev/clients/python svn mkdir ${VERSION} # Move the artifacts to svn folder & commit -mv ${CLIENT_REPO_ROOT}/airflow{-,_}client-${VERSION}* ${VERSION}/ +mv ${CLIENT_REPO_ROOT}/apache{-,_}*client-${VERSION}* ${VERSION}/ cd ${VERSION} svn add * -svn commit -m "Add artifacts for Airflow Python Client ${VERSION}" +svn commit -m "Add artifacts for Apache Airflow Python Client ${VERSION}" ``` ## Prepare PyPI convenience "snapshot" packages @@ -131,16 +131,16 @@ To do this we need to - Verify that the test package looks good by downloading it and installing it into a virtual environment. The package download link is available at: - https://test.pypi.org/project/airflow-client/#files + https://test.pypi.org/project/apache-airflow-client/#files Or via pypi - pip install -i https://test.pypi.org/simple/ airflow-client==$(VERSION) + pip install -i https://test.pypi.org/simple/ apache-airflow-client==${VERSION} - Upload the package to PyPi's production environment: `twine upload -r pypi dist/*` - Again, confirm that the package is available here: - https://pypi.python.org/pypi/airflow-client + https://pypi.python.org/pypi/apache-airflow-client It is important to stress that this snapshot should not be named "release", and it is not supposed to be used by and advertised to the end-users who do not read the devlist. @@ -176,15 +176,15 @@ the release candidate version of Airflow Client via simply ( is 2.0.0 f release candidate number 1,2,3,). ```shell script -pip install airflow-client==rc +pip install apache-airflow-client==rc ``` Once you install and run Airflow Client, you should perform any verification you see as necessary to check that the client works as you expected. -# Publish the final Airflow client release +# Publish the final Apache Airflow client release -## Summarize the voting for the Airflow client release +## Summarize the voting for the Apache Airflow client release See Airflow process documented [here](https://github.com/apache/airflow/blob/master/dev/README_RELEASE_AIRFLOW.md#publish-the-final-apache-airflow-release) (just replace Airflow with Airflow Client). @@ -203,7 +203,7 @@ cd ${VERSION} # Move the artifacts to svn folder & commit for f in ../../../airflow-dev/clients/python/$RC/*; do svn cp
[airflow-client-python] tag 2.0.0rc2 created (now a9a2646)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to tag 2.0.0rc2 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. at a9a2646 (commit) No new revisions were added by this update.
svn commit: r47002 - /dev/airflow/clients/python/2.0.0rc2/
Author: msumit Date: Mon Apr 12 15:26:14 2021 New Revision: 47002 Log: Add artifacts for Airflow Python Client 2.0.0rc2 Added: dev/airflow/clients/python/2.0.0rc2/ dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz (with props) dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz.asc dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz.sha512 dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz (with props) dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz.asc dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz.sha512 dev/airflow/clients/python/2.0.0rc2/airflow_client-2.0.0rc2-py3-none-any.whl (with props) dev/airflow/clients/python/2.0.0rc2/airflow_client-2.0.0rc2-py3-none-any.whl.asc dev/airflow/clients/python/2.0.0rc2/airflow_client-2.0.0rc2-py3-none-any.whl.sha512 Added: dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz.asc == --- dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz.asc (added) +++ dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz.asc Mon Apr 12 15:26:14 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmB0Zi8SHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWtqsL/2gN9LFtse4Lsb7+Drt0FoXvdmdcbU7A +WB8Aa34vKKSlWWYa+iE+fsiE9/93hFS5HYt1uVmK5vf6Gvcy2umu7WMA4oKt9DUB +2jWZjtHIP6hpIRWtZM7ir/lpqmf13hIPPtM6cbdWZaZUcFrLLQZUSpBwVFZzIsfY +Hf+fJ8wM7eRGRRRp1925j6/ffdmsuhypF12hfGvWVjL8fyCfOrYXRj1wQ/TCnIiQ +HBfEwaWwHTBNBNPNmtRR/IfYT2i5QL9laMPLrB6PLWoNN6VJfzjzqjFIKuGAHHDP +TFhIbM5yo4Av6mbnWstc3CKYc+puPrZY3OlOBmXHuI16jgGs7Zbe3fxDiq2fpizN +BVOi9KMyRdUW6kEIDHh+SpK0tmYcOZr7irnqJCMUUZjFNhLELxxb8oJdMa8WTSNP +eAm8VKfNaIhESQvszGPFTPGT54g14rFQM8ff46vjGNBnlrIImXnFSm58+k60CxvS +DUuCBsEPXanx23WUZU2or7x/vJptFVs6RA== +=I4B4 +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz.sha512 == --- dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-bin.tar.gz.sha512 Mon Apr 12 15:26:14 2021 @@ -0,0 +1 @@ +bff510b89c5505f9d8d811f5a5e884f79165b903f9d921e18caee666fbd28b0908ff201129107f97710af48db526e8f42e42d2c6e4e09eb7ce0e3cfa33d08d66 airflow-client-2.0.0rc2-bin.tar.gz Added: dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz.asc == --- dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz.asc (added) +++ dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz.asc Mon Apr 12 15:26:14 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmB0ZiQSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWTKAL/jcNv2tbQk7tpkZODwY/CVzRZcABHapt +4ELnJ+OiE/z9K6EYIjkatUhCQ+o7ozKhHGDvIOgV19NQj5Hp8suhfm825JZ1mg1E +v2FfP4eQpzYt89Gu1VfM2N/4LDZldUVCSx/ve5Z3d/AqII84ukHdcXoX8T/aahg8 +nN81mbXI5RbmjgSOOuIVBsYwV3RLkxU97+rJuHbuYsAgWT7507sHvIle3LTm3JuQ +G+CdSqTNNXoNNL/f2IFCiI+0N7zkyWMpnY571Y9AP6yiR04Ds95YnDFibpBlgGF3 +VwETRZ6PQKkLgJj4aay0NTuuuHu035dVCsKF1MaAC8fR8xnKsMyv3trKE1TzFhKu +vSLlziYyNjpb1NiKyJDPmZkUJncQlRpjaMngVdiS0plIiUCpPRPNxLfbQGe1GwRv +FtLLYuYCBnBmq1t81NP1R56+plBt3/aEduwYWn1Zp0Vtlb8tRqZ3qAZhov1m+WMr +KD1aDpMM//qrtEyjkIbi10YAL/yxS2TKGg== +=Wum3 +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz.sha512 == --- dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.0.0rc2/airflow-client-2.0.0rc2-source.tar.gz.sha512 Mon Apr 12 15:26:14 2021 @@ -0,0 +1 @@ +781d168139073a7d1a500755bc546ba2e839f358b42daa842196730efa92c96b60897ecd95ba47fb989f926b1e1d7810ef9e4eada071cf57493bd87bc6652c5a
[airflow-client-python] 02/02: Update Changelog & setup.py
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch r2.0 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git commit a9a26460c7de058df97b6118b638591cddef1f2b Author: Sumit Maheshwari AuthorDate: Wed Apr 7 17:04:58 2021 +0530 Update Changelog & setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 36fc17a..2a822be 100644 --- a/setup.py +++ b/setup.py @@ -28,7 +28,7 @@ from setuptools import setup, find_packages # noqa: H301 NAME = "airflow-client" -VERSION = "1.0.0" +VERSION = "2.0.0" # To install the library, run the following # # python setup.py install
[airflow-client-python] branch r2.0 updated (6183f19 -> a9a2646)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch r2.0 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. omit 6183f19 Update Changelog & setup.py omit c6a045a Release 2.0.0 add c17996e Updated test code with appropriate instructions (#9) add 411afcd Add missing licences and ignores (#8) add 4080e25 Fixes version of the client in the changelog (#7) add dd1b4ad Add README_RELEASE_CLIENT (#10) add 5716241 Fix release guide with correct prefix dir (#11) new 3cadd79 Release 2.0.0 new a9a2646 Update Changelog & setup.py This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (6183f19) \ N -- N -- N refs/heads/r2.0 (a9a2646) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .pre-commit-config.yaml| 4 +- .rat-excludes | 3 + CHANGELOG.md | 2 +- README.md | 26 ++- airflow_client/.openapi-generator-ignore | 16 ++ dev/README_RELEASE_CLIENT.md | 269 + airflow_client/test/__init__.py => dev/sign.sh | 17 ++ dev/test_python_client.py | 51 + requirements.txt | 17 ++ test-requirements.txt | 17 ++ 10 files changed, 405 insertions(+), 17 deletions(-) create mode 100644 .rat-excludes create mode 100644 dev/README_RELEASE_CLIENT.md copy airflow_client/test/__init__.py => dev/sign.sh (57%) mode change 100644 => 100755 create mode 100644 dev/test_python_client.py
[airflow-client-python] branch master updated: Fix release guide with correct prefix dir (#11)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new 5716241 Fix release guide with correct prefix dir (#11) 5716241 is described below commit 57162413d75ff5d106553c2842a683a0db99abbe Author: Sumit Maheshwari AuthorDate: Mon Apr 12 18:11:01 2021 +0530 Fix release guide with correct prefix dir (#11) --- dev/README_RELEASE_CLIENT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/README_RELEASE_CLIENT.md b/dev/README_RELEASE_CLIENT.md index 90d260e..c00d93c 100644 --- a/dev/README_RELEASE_CLIENT.md +++ b/dev/README_RELEASE_CLIENT.md @@ -58,7 +58,7 @@ of this the version in the built artifacts that will become the official Apache - Tarball the repo ```shell script -git archive --format=tar.gz ${VERSION} -o airflow-client-${VERSION}-source.tar.gz +git archive --format=tar.gz ${VERSION} --prefix=airflow-client-${VERSION}/ -o airflow-client-${VERSION}-source.tar.gz ``` - Generate sdist
[airflow-client-python] branch master updated: Add README_RELEASE_CLIENT (#10)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new dd1b4ad Add README_RELEASE_CLIENT (#10) dd1b4ad is described below commit dd1b4adc261bbd99fb13804cdf30beb20d323eef Author: Sumit Maheshwari AuthorDate: Mon Apr 12 16:34:33 2021 +0530 Add README_RELEASE_CLIENT (#10) --- .pre-commit-config.yaml | 4 +- dev/README_RELEASE_CLIENT.md | 269 +++ dev/sign.sh | 34 ++ requirements.txt | 29 ++--- test-requirements.txt| 29 ++--- 5 files changed, 335 insertions(+), 30 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ea9d354..afda3cc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -58,7 +58,7 @@ repos: - --fuzzy-match-generates-todo - id: insert-license name: Add license for all other files -exclude: ^\.github/.*$ +exclude: ^\.github/.*$|\.*LICENSE.txt$ args: - --comment-style - "|#|" @@ -66,4 +66,4 @@ repos: - license-templates/LICENSE.txt - --fuzzy-match-generates-todo files: > - \.properties$|\.cfg$|\.conf$|\.ini$$ \ No newline at end of file + \.properties$|\.cfg$|\.conf$|\.ini$|\.txt$$ \ No newline at end of file diff --git a/dev/README_RELEASE_CLIENT.md b/dev/README_RELEASE_CLIENT.md new file mode 100644 index 000..90d260e --- /dev/null +++ b/dev/README_RELEASE_CLIENT.md @@ -0,0 +1,269 @@ + + +You can find the prerequisites to release Apache Airflow Python Client in [README.md](README.md). + +# Prepare the Apache Airflow Python Client Package RC + +## Build RC artifacts + +The Release Candidate artifacts we vote upon should be the exact ones we vote against, without any modification than +renaming – i.e. the contents of the files must be the same between voted release candidate and final release. Because +of this the version in the built artifacts that will become the official Apache releases must not include the rcN suffix. + +- Set environment variables + +```shell script +# Set Version +export VERSION=2.0.0rc1 + + +# Example after cloning +git clone https://github.com/apache/airflow-client-python.git airflow-client +cd airflow-client +export CLIENT_REPO_ROOT=$(pwd) +``` + +- Set your version to 2.0.0 in `setup.py` (without the RC tag) +- Commit the version change. + +- Tag your release + +```shell script +git tag -s ${VERSION} +``` + +- Clean the checkout: the sdist step below will + +```shell script +git clean -fxd +``` + +- Tarball the repo + +```shell script +git archive --format=tar.gz ${VERSION} -o airflow-client-${VERSION}-source.tar.gz +``` + +- Generate sdist + + NOTE: Make sure your checkout is clean at this stage - any untracked or changed files will otherwise be included + in the file produced. + +```shell script +python setup.py sdist bdist_wheel +``` + +- Rename the sdist + +```shell script +mv dist/airflow-client-${VERSION%rc?}.tar.gz airflow-client-${VERSION}-bin.tar.gz +mv dist/airflow_client-${VERSION%rc?}-py3-none-any.whl airflow_client-${VERSION}-py3-none-any.whl +``` + +- Generate SHA512/ASC (If you have not generated a key yet, generate it by following instructions on + http://www.apache.org/dev/openpgp.html#key-gen-generate-key) + +```shell script +${CLIENT_REPO_ROOT}/dev/sign.sh airflow-client-${VERSION}-source.tar.gz +${CLIENT_REPO_ROOT}/dev/sign.sh airflow-client-${VERSION}-bin.tar.gz +${CLIENT_REPO_ROOT}/dev/sign.sh airflow_client-${VERSION}-py3-none-any.whl +``` + +- Push the artifacts to ASF dev dist repo + +``` +# First clone the repo +svn checkout https://dist.apache.org/repos/dist/dev/airflow airflow-dev + +# Create new folder for the release +cd airflow-dev/clients/python +svn mkdir ${VERSION} + +# Move the artifacts to svn folder & commit +mv ${CLIENT_REPO_ROOT}/airflow{-,_}client-${VERSION}* ${VERSION}/ +cd ${VERSION} +svn add * +svn commit -m "Add artifacts for Airflow Python Client ${VERSION}" +``` + +## Prepare PyPI convenience "snapshot" packages + +At this point we have the artefact that we vote on, but as a convenience to developers we also want to +publish "snapshots" of the RC builds to pypi for installing via pip. + +To do this we need to + +- Build the package: + +```shell script +cd ${CLIENT_REPO_ROOT} +python setup.py egg_info --tag-build "$(sed -e "s/^[0-9.]*//" <<<"$VERSION")" sdist bdist_wheel +``` + +- Verify the artifacts that would be uploaded: + +```shell script +twine check dist/* +``` + +- Upload the package to Py
svn commit: r46933 - in /dev/airflow/clients/python/2.0.0rc1: airflow-client-2.0.0rc1-source.tar.gz airflow-client-2.0.0rc1-source.tar.gz.asc airflow-client-2.0.0rc1-source.tar.gz.sha512
Author: msumit Date: Thu Apr 8 07:57:39 2021 New Revision: 46933 Log: Fix the source tar Modified: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.asc dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.sha512 Modified: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz == Binary files - no diff available. Modified: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.asc == --- dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.asc (original) +++ dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.asc Thu Apr 8 07:57:39 2021 @@ -1,14 +1,14 @@ -BEGIN PGP SIGNATURE- -iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmBtnWISHG1zdW1pdEBh -cGFjaGUub3JnAAoJEPIvnLypXflWp6sL/ArH9IE0P/hvBtGp4GEEOsHMYvF+CzsK -2XDKiSkOj34k6vP/BvgmvZ7VpzICzSukcR8DkZfIH36AjA/NK2i6g2GqviXrvXbf -UqAG0o11t94Aaol7V2XQlsfZXlHi4xn5t/JKJk6E8OCOHaJ1B2i7KzM8OZFyNeY6 -e2Rg+a08bX9tRRYGpJBzRWGP+rZYqWywZejUOHWdhXaV9CUowHsu+0TcmQBDMORF -LeKZt419Oc7X6jK3knR5YO3SPi8JsEf+9hTGC/sF4XTOLBWE2zaTKKMYZmuUiEDc -b0yypnEs/w+n2mX9d/YXsmYWFDnHNeWdMKEvuOrMcpBxWHOcJvHkiGcauisL9wMl -iqj4L63Ce7/qvAf8BbPBusf+Bcq6OeFGXWjJcC6ItzoL1Yqr0BJNQB3hxznUpQmo -Uak9aJmS60ItlxLMkUIvxpOHUn6isDP+6P+FfvR5pXZ5QvvwO+PIvbQ06C9pI9rf -DumCCe5f1Rs1HHoqj7KMc38cXWUNOcR2Ew== -=L7K0 +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmButPMSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWhPcMAJPT/4mra4LsJDQJm3iWfC2/1BOd60j5 +wTr2XHHVdvKjlN4E6P46Z9n6KRu9oKm/sJdDFbme77SfEMu5fxWIWMJECEk80f5a +wfHg1I/f9yNKP63jR5FgBzlFyX9T1jv3soK8Dz6XJVdum2FhBmbjJYqi+kzCDN/O +lS+CddaNVqcx0SkBKzgeW4kYVhUXzuX8cSp0m/rrBxKca/uUSGhOiX+5UwBK1tyy +Zc/ct4YO82DhzBCZ9RxP2J+/q5Pt0RGubdPNlWXR1i9iMFLUv160hYXuSRm3SU9y +3syHiKD86zQoFPP9BcfrBpaTNL1ow6MxBkJOLzP7RZMpywbOL270i2FYsSHazxnB +2O0kSQ8Fb/WWSyTEDNVuACeepRT3hHoshM+L3Rx7ssaqLm3+x5f9N5Uv8KMboGQT +2yE/31Zv5c+h8SttRYluwIHwXmKYMSd2jhmbIuhtG9UonhlLj1R6DbHHTkl2aZ7r +lYNBqTbKiUX3y9WCrdngiaAesqpwL8UvPw== +=w4Oq -END PGP SIGNATURE- Modified: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.sha512 == --- dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.sha512 (original) +++ dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.sha512 Thu Apr 8 07:57:39 2021 @@ -1 +1 @@ -c519d4fbbac04c1ed81fc9993346a426698c945faa2e831d2f0d893baa486d8d070cb85ad846eb41dd43639c934aca41e39a416b940150d9ef11641ccfa6da6d airflow-client-2.0.0rc1-source.tar.gz +cee8c849c7cfcfc4961d6231cdc237dc8605b64ca19d9e9924c9863baefe2f566a7ee85f40cb9e84c9f55a229b95ff68ef0ffabb4308b1d3a3ee36d2a72c1e54 airflow-client-2.0.0rc1-source.tar.gz
[airflow-client-python] tag 2.0.0rc1 created (now 6183f19)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to tag 2.0.0rc1 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. at 6183f19 (commit) No new revisions were added by this update.
svn commit: r46913 - /dev/airflow/clients/python/2.0.0rc1/
Author: msumit Date: Wed Apr 7 11:59:44 2021 New Revision: 46913 Log: Add artifacts for Airflow Python Client 2.0.0rc1 Added: dev/airflow/clients/python/2.0.0rc1/ dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz (with props) dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz.asc dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz.sha512 dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz (with props) dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.asc dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.sha512 dev/airflow/clients/python/2.0.0rc1/airflow_client-2.0.0rc1-py3-none-any.whl (with props) dev/airflow/clients/python/2.0.0rc1/airflow_client-2.0.0rc1-py3-none-any.whl.asc dev/airflow/clients/python/2.0.0rc1/airflow_client-2.0.0rc1-py3-none-any.whl.sha512 Added: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz.asc == --- dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz.asc (added) +++ dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz.asc Wed Apr 7 11:59:44 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmBtnXMSHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflW8XsMALvWK7h+uPDbtdUcF+oXcR68OHYgywBI +WCSNIWQn4XhnwArB18Z3Dwh452ut/uI8ge8aXApcx87rtuaupR52lJBUgj/pJsRM +K5mx8yq6WSy5AeKlJ81JN7nYuDtjhxyLU6VaB/jZzNZiVVFLA2fn6TmfpcH1gZzM +1RINeiJym15+JAm/CT4Hoz9bVR9+eo1aIvNJ9Lw1LOJ5fHXamkjfVFFDtcGhjua+ +0Lh3n1TutOqcxU4yvVMtd1k8fsCyRzfOkjVB3Bs9q26Pn3zaSLNv9YxVTyGzWeBL +HBtiEn0ThHVeBlL/v2R1Qx0DdtufGDXydqdSusSo16sbwp3k5NltNffVkAJmPkU4 +qL1y7gpqjM8WB9h2Nt0gFlRQk4hkafbfWapxs0LbUt5q3gUC/O/aAD98PyUpcTbA +rUyllGykDWRAV5gDBGYcVRVqJYhDQwIBWECdMHoL1Q1hND7i/gMpYFlx11O/EzyC +I+KSUpJJLAUw78mZlDsS3jaf9mCT3HZlPw== +=sthz +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz.sha512 == --- dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-bin.tar.gz.sha512 Wed Apr 7 11:59:44 2021 @@ -0,0 +1 @@ +e116db72ee791b21a2704a4e86e1e428bda4ed88912d6e0ec5fabd68d5497628894406661a6b9804a74a2bcad915724b7c38a03e52c8a51ffc04a6f1b1620108 airflow-client-2.0.0rc1-bin.tar.gz Added: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.asc == --- dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.asc (added) +++ dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.asc Wed Apr 7 11:59:44 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmBtnWISHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWp6sL/ArH9IE0P/hvBtGp4GEEOsHMYvF+CzsK +2XDKiSkOj34k6vP/BvgmvZ7VpzICzSukcR8DkZfIH36AjA/NK2i6g2GqviXrvXbf +UqAG0o11t94Aaol7V2XQlsfZXlHi4xn5t/JKJk6E8OCOHaJ1B2i7KzM8OZFyNeY6 +e2Rg+a08bX9tRRYGpJBzRWGP+rZYqWywZejUOHWdhXaV9CUowHsu+0TcmQBDMORF +LeKZt419Oc7X6jK3knR5YO3SPi8JsEf+9hTGC/sF4XTOLBWE2zaTKKMYZmuUiEDc +b0yypnEs/w+n2mX9d/YXsmYWFDnHNeWdMKEvuOrMcpBxWHOcJvHkiGcauisL9wMl +iqj4L63Ce7/qvAf8BbPBusf+Bcq6OeFGXWjJcC6ItzoL1Yqr0BJNQB3hxznUpQmo +Uak9aJmS60ItlxLMkUIvxpOHUn6isDP+6P+FfvR5pXZ5QvvwO+PIvbQ06C9pI9rf +DumCCe5f1Rs1HHoqj7KMc38cXWUNOcR2Ew== +=L7K0 +-END PGP SIGNATURE- Added: dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.sha512 == --- dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.sha512 (added) +++ dev/airflow/clients/python/2.0.0rc1/airflow-client-2.0.0rc1-source.tar.gz.sha512 Wed Apr 7 11:59:44 2021 @@ -0,0 +1 @@ +c519d4fbbac04c1ed81fc9993346a426698c945faa2e831d2f0d893baa486d8d070cb85ad846eb41dd43639c934aca41e39a416b940150d9ef11641ccfa6da6d
[airflow-client-python] branch r2.0 updated: Update Changelog & setup.py
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch r2.0 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/r2.0 by this push: new 6183f19 Update Changelog & setup.py 6183f19 is described below commit 6183f19e76e348591633324c01280ad566ceb70a Author: Sumit Maheshwari AuthorDate: Wed Apr 7 17:04:58 2021 +0530 Update Changelog & setup.py --- CHANGELOG.md | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 118fad6..dfb4ce5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ under the License. --> -# v1.0.0 +# v2.0.0 Apache Airflow API version: 2.0.x diff --git a/setup.py b/setup.py index 36fc17a..2a822be 100644 --- a/setup.py +++ b/setup.py @@ -28,7 +28,7 @@ from setuptools import setup, find_packages # noqa: H301 NAME = "airflow-client" -VERSION = "1.0.0" +VERSION = "2.0.0" # To install the library, run the following # # python setup.py install
[airflow-client-python] branch r2.0 created (now c6a045a)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch r2.0 in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git. at c6a045a Release 2.0.0 This branch includes the following new commits: new c6a045a Release 2.0.0 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[airflow-client-python] branch master updated: Add LICENSE, INSTALL & CHANGELOG (#6)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow-client-python.git The following commit(s) were added to refs/heads/master by this push: new 457a606 Add LICENSE, INSTALL & CHANGELOG (#6) 457a606 is described below commit 457a606e1bb265895fef6fc260122c3e5e6b49cb Author: Sumit Maheshwari AuthorDate: Wed Mar 31 15:34:33 2021 +0530 Add LICENSE, INSTALL & CHANGELOG (#6) --- CHANGELOG.md | 24 +++ INSTALL | 24 +++ LICENSE | 201 +++ README.md| 2 +- setup.py | 22 --- 5 files changed, 262 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000..118fad6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,24 @@ + + +# v1.0.0 + +Apache Airflow API version: 2.0.x + +Initial version of the Python client. \ No newline at end of file diff --git a/INSTALL b/INSTALL new file mode 100644 index 000..1ef702d --- /dev/null +++ b/INSTALL @@ -0,0 +1,24 @@ +# INSTALL / BUILD instructions for Apache Airflow Python Client + +This ia a generic installation method that requires a number of dependencies to be installed. + +Depending on your system you might need different prerequisites, but the Python3.6 or above is a must. + +# [required] fetch the tarball and untar the source move into the directory that was untarred. + +# [optional] run Apache RAT (release audit tool) to validate license headers +# RAT docs here: https://creadur.apache.org/rat/. Requires Java and Apache Rat +java -jar apache-rat.jar -E ./.rat-excludes -d . + +# [optional] You may want to install the client into a virtual env to keep the +# dependencies separated from the system wide versions + +python3 -m venv PATH_TO_YOUR_VENV +source PATH_TO_YOUR_VENV/bin/activate + +# [required] building and installing by pip (preferred) +pip install . + +# or directly +python setup.py install + diff --git a/LICENSE b/LICENSE new file mode 100644 index 000..11069ed --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License +Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted&quo
svn commit: r46825 - in /dev/airflow/clients: ./ python/
Author: msumit Date: Wed Mar 31 09:00:53 2021 New Revision: 46825 Log: Add artifacts for Airflow Python Client v1.0.0 Added: dev/airflow/clients/ dev/airflow/clients/python/ dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz (with props) dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz.asc dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz.sha512 dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz (with props) dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz.asc dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz.sha512 dev/airflow/clients/python/airflow_client-1.0.0-py3-none-any.whl (with props) dev/airflow/clients/python/airflow_client-1.0.0-py3-none-any.whl.asc dev/airflow/clients/python/airflow_client-1.0.0-py3-none-any.whl.sha512 Added: dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz.asc == --- dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz.asc (added) +++ dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz.asc Wed Mar 31 09:00:53 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmBkOXISHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWvBAMAIIvJB/5bUZM0oTGhPm1Pm9DxKVCILAZ +h4Gf8D2oVQc3gnAWH5IZnvUz8x0SoR4Y1AFgFbVSJW/EFGF746fA13cXXiCrLUE3 +V9XwZ8+sZwv6BbzwX+byMzkj2PI0d0I+2ucCDDtM7v5ZdppVaqtaw3bpG9SHGWD6 +bk8Wxpm4ba7RM61E0hYlcVw2pT/zE/GdBV4emTrna97eVZVHPNVVFoN6kuFYcgXu +CC+si41VCiWC3OgI5P3Kmzf/WGd0ChXcu90G9Ndn0YvALvnVj/XzI6pxYNK+5x+2 +06Rmrouf8ZuSyyN/8S/rDrBIPH3InNzoG8u9gEaDosxAXKm6mMZEoysy2xZlewrq +PhBgtvcS9ympX6ZPTx+hLnoIxYo8Q/hAf3spfUBhXv0gpwMfP/w7jOtWDRgzNXsI +YlFEreM9VCWXafrGGmyf0qF4GiPAVLFZoJV24ixzX6Xxzrkwn8hLo3j2EP34cf4I +5pzkbMrB4iRoJOfTRIsu1wvITP2Z/HWLzw== +=YNSv +-END PGP SIGNATURE- Added: dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz.sha512 == --- dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz.sha512 (added) +++ dev/airflow/clients/python/airflow-client-1.0.0-bin.tar.gz.sha512 Wed Mar 31 09:00:53 2021 @@ -0,0 +1 @@ +1f6053eabd9de8674ece9603f771ea56ed6d5bf542e64d50e38f14711d40c29c5cc0ecfc29a14ce40c2461e9bedcd165d5a03f4fbc282a187bb4bec759d4edcd airflow-client-1.0.0-bin.tar.gz Added: dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz == Binary file - no diff available. Propchange: dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz -- svn:mime-type = application/octet-stream Added: dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz.asc == --- dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz.asc (added) +++ dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz.asc Wed Mar 31 09:00:53 2021 @@ -0,0 +1,14 @@ +-BEGIN PGP SIGNATURE- + +iQHGBAABCAAwFiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmBkOV0SHG1zdW1pdEBh +cGFjaGUub3JnAAoJEPIvnLypXflWY9sMALx0KoeIZox6jVb+Ied4VQX93ZlTufae +bcLmB6AKnYT2IUoZ0mDlzUwm/ZrsMh1Rt++AhCnx5fkCf0hDlckV5dTR3R/0mFpi +WOD+mKC7VgIDd1X5B6eCbQBd9OFKL3guytGBrRlRISgHNMsSOuIX1TXWEhcL9dm6 +JldhbvyKwjGTaU/cUr0qLoAoBlGqmbCfuU+Ujg2q/QTljjovQdujNPWWo6fgK+nJ +Wf4LIItDuI8eKRdgR689AiXYgRxcp6pxvfaxUFydgzx3+UWjfr9CL/ZxZZEg8arY +rpQ94dWRx76UXGFXM/gUmEcBbsyqB+QOgHlOCCpZjrJdaswVucKJRyoOvwxc6wtG +k99IuKtsKuYdcJ6wp4tVxOXKh4SCgut91KxTiXCjU2O698RroGjU2m8LBgsZ5+aN +Vp37u/hVIDWxsNMGfljMjwoIly4tVIgTJ1zLzHlYJXtdS1ccntxpjFqjazoknzL/ +DvN+2c7/EyRiKhOP34XVcWP9t38ZM310jw== +=rzCY +-END PGP SIGNATURE- Added: dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz.sha512 == --- dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz.sha512 (added) +++ dev/airflow/clients/python/airflow-client-1.0.0-source.tar.gz.sha512 Wed Mar 31 09:00:53 2021 @@ -0,0 +1 @@ +889b5078995fb802f9a8a325c81495a2e41402d97243dbf4e767ae6c030e17a4cb2fa67b2869eb6339d8559fd41ce7cd8eed80d5eb7104010351bc9068a515b2 airflow-client-1.0.0-source.tar.gz Added: dev/airflow/clients/python/airflow_client-1.0.0-py3-none-any.whl == Binary file - no diff available. Propchange: dev/airflow/clients/python/airflow_client-1.0.0-py3-none-any.whl
svn commit: r46812 - /release/airflow/KEYS
Author: msumit Date: Tue Mar 30 11:17:27 2021 New Revision: 46812 Log: Add gpg keys for Sumit Maheshwari Modified: release/airflow/KEYS Modified: release/airflow/KEYS == --- release/airflow/KEYS (original) +++ release/airflow/KEYS Tue Mar 30 11:17:27 2021 @@ -773,3 +773,75 @@ paZ5Nq6KcpGSmjGOeZh69Stez2W+8IFunvapBsx4 2kGz21MSEVpGdrN1iNsfIEbvphFFNM4xPD0= =fAPG -END PGP PUBLIC KEY BLOCK- +sec rsa3072 2021-03-30 [SC] [expires: 2023-03-30] + 118333D00EEA22FFA064DF27F22F9CBCA95DF956 +uid [ultimate] Sumit Maheshwari +ssb rsa3072 2021-03-30 [E] [expires: 2023-03-30] + +-BEGIN PGP PUBLIC KEY BLOCK- + +mQGNBGBi8C8BDADnNEIKhD+lEqBW1HO14r657yroLf2M9UJNpNa29mR9KUO0WEsY +5G99xYupa4+I8UKt/vn1MIL7xlYUFselXOv2EMdF22scrNb/ljIahlSQYgghJUrn +94/jkJMPJ/E7Xd5S78qjj6XsrXB3zLtfjD0rGerWoNeqkyvKZuN9OCBNnUDvdxPD +2lu2ltKhR9HCTF11bYAZExLiebkury7iMkHjKx7l8cdt2WXvjgJGGdTJ4vUT70RQ +uEEfpWIJnWKgWBLAN3s2soa65zlhjoPAhVZa4qxapNI1fScaXhAmCl1zLUj5pd7A +O+asPMDBmb8slO6B4JX84441mpFSbqb0N0iL6tHm9Z9c9dHQmr9fAzAXw9reuacp +MauttJ/Ps0tXwkVmQajeELS01LosTVrMdc7vYlYSDKVA2VfYmQVOcGcRhrTTVx+s +i5BaCOlS0t33Lrds+HnOuZmS6RAIECf5ZVbMdPU3tNJvwEymUcE6ou2iOVlxnrii +HIRUdNTdxk7NYh8AEQEAAbQkU3VtaXQgTWFoZXNod2FyaSA8bXN1bWl0QGFwYWNo +ZS5vcmc+iQHUBBMBCAA+FiEEEYMz0A7qIv+gZN8n8i+cvKld+VYFAmBi8C8CGwMF +CQPCZwAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8i+cvKld+VbZlQwAmQqv +6Uw2BdMa109v4F/S5E3vH1uHAMqN1C8R2g18aNKrbw5H2PbLALBW76V1CridMuQ3 +3e9UjiuLckspah/PHTfh8jqhDxp41I6Y06ENu9GjZDzNHuRLK5PV7MC1qRnmKphz +d1tJb8jzBB+qANNrb6VI7IL1efXeZlF9YVRL1lP22yosCmDys4L172dNFRFxph9e +tsRsXlycZEEzJyKnQxLUgBJGi5W2hbaNJwsXeBL7Xe9fr0YM3AXLLs0tERyjftea +tKOrD93cmH3GF9xQ19Sb6GS2gl1jsgyyLOrKqwU/Pr0wXY4hjX/ZAuB91XIMlfxN +2cn/Wf2RqMdML54dvOme968/okhw3A8rnHJL8pAUiNR47PNmSE3piJCRVbR4JFMo +l3Fp/EhYDQw8mUBoPETz2LO18wCjcrFFV00npBuwPjHLQvoUXT6oJ+xGlp7V+xri +kmAEMrccjVQJCQUiMPvXDM2+i1d2nCR7n+WiuM9x0mCUwysfteI6qO5VJFGkuQGN +BGBi8C8BDAC0k6tA72RWC28zuaqUI0weTk8lOnJR9XGRJIo1Cq0W/dK9/vZ1vDp1 +3Dhv5zauOy/C+IeozwFv77cOEYmDHCueIVawOqklY4p2vhOamAdZ1YG5hjZuuHEs +R4qiZYRyfQLxjBk22pEE6heD67EH4m7bzZHb0FKHAK6ZXVfqz/3J3pEvUoX7tRV2 +CwFmvKVpehsRim3UK+pa0G5MlWnIK/W7eOgi3jp8MMrbBGb4qmPtEEeBZx1uV9Es +vWb60w18vuYSFf5W2kLMrZOguzdqz1Nx2ymwe5lIt7jkgqfmWRRgsdJfBW5av3mO +ytLYCwrdlplhEx6EKPCsB9a9CObw/FSjFmWirVi9QIoXgiLEAJkSUDb14rbbx6cN +bWpZXgHiAO0N/ng2v6qVBNGWAxaZfdzVhctIdP2fsxvEdxsbr8axiBq5UFU+6QoR +JwA/zeh1CZjvD5hXNHssfsZE7tdCPWbg8Px/rb9WALyHU61BI5IgYH2X8ka8Mkjz +JxLW/OmlPYMAEQEAAYkBvAQYAQgAJhYhBBGDM9AO6iL/oGTfJ/IvnLypXflWBQJg +YvAvAhsMBQkDwmcAAAoJEPIvnLypXflWfbwMANVpuRmtx0qJSpGYVrujVylBJe/s +F+pdYNtmk3UjeNcISKHkXbQTeuZo56jwRof8bGb+VATVGeOv3CXAusOd+qNEJM6f +Lm84QseqPqFou9gV+j5TjigzpV7lk4taVacoEePhhtpnas79H+kQLp08rGnh6o8L +JTyGbAfeXHGKexJt9tr664ObnGWzGscfJzIfhXZiFPkM3gYlROtMCClx7KBCcY1W +ZW3xbZI/kyQhp9z787NkIBfZeisQBA1DqAEI42632yFub8fs1aUbJCYsIZfIUNsh +NP2cZW/8ysUET4v2hF452jXRRi0oDRfaTPtfzmcqUbaKn9VjPTWzileqMfpdauOa +9s4IopJPHrat0QSImBcLroERI91yWb4gSkIRM+QtIP8oBGJOJxaP87ZrzZ8Gry/9 +Vcx/afMKp1KX/ne6ThLhk7AvAONhWEVZuQRFFLKkQi/42Hclpdq6mLVNOLxMsab2 +LWkAIbaeZ3LzimLeiu9S6TWoxY4NOKKiwv1WUZkBDQRdabL4AQgAvycvyvT761se +/09oCX5bK26X/alcM1Hte5AR+C27iSKmP9nzJ+htETXUAH8O/FPHJs7q7EKh/pFA +OFxfRAI4a8kRIj9dT9GxP672YLGokRGM/tZ6j+pysKgefK7Q+9XIky6zFgeDFfVQ +HCWjBiRMG34ti24TeaibZfNr0d6/gwssz+UWm7KkzTsGBhtupGKdzY3xXgC6exp2 +94QHv9skPI57t+IdqQP02cedPju4fA5ZJS0V+VHnNq317ywUNKOMVznqPTglDmE2 +fGRmv0r9QH/qpHINiuRIE0A7sLrQpMXWaSSQ+37sNSlzAq+bRzgM6rs5lJ8mJKg2 +ac6peBgyIQARAQABtCBLYXhpbCBOYWlrIDxrYXhpbG5haWtAZ21haWwuY29tPokB +VAQTAQgAPhYhBBJxdVYEDu8u6vG5wnX8zQol+g5LBQJdabL4AhsDBQkDwmcABQsJ +CAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEHX8zQol+g5LTCwH+wZHyTTx570hpYJv +bRVDxyfhGcMOBGoOdhE4xpwZVibeszdVnxJdDqElrLICxqsU8Ckx/yrcnpuy2joa +ugFoJ2wPc7JMefEq+n8GSQTS9LVgHlHN6Y8iNz6yGpU57kZzu/JofQYDbRRJ6Z68 +tG+nnimyoAG1ZkbJS9LIOcoRkKyIEhYg+tzxsiCp3VY7g0GVD97ZB2dxLJ0f6il7 +zDW2t44oNBkb2iVzdJ6WE4hCFlDobDnZIeSzoll2ip/CwwFULpyEvGB75J69T7nY +Qx/xDS6mYEnTWsNUGi5EFOp1okYEZVx4Y5/jeaoOPLitIIaUHpwS3u+q0A+jOu9r +doPbK3e5AQ0EXWmy+AEIAK3yTIlJ/yXxiz1CXlCTdjvTsEZV22v7m+QCvAKLSCqc +kTC/c6fUylk50+iszb53EHmpnRN7UugSVbXToTrBFY8suCynyqys0TOVElS2F1UF +o01+R/rDQxt18Z/66rf/GtZTKiwY14BrgmeugoSLvSY5rI5g7ODhOnL394FNkZTe +jc/gd9tqhcPecttMxUvNg7nza1Gy59opbt4Z2lWMZKANb9Coo7HijpxnYzwtsLyF +lMROrRAicjzzsViGCbtvPyqnX+t7rjX+ay/1z2EmiM2G2SqtK+U91bkQvOyiMfdt +bB4a3/JjoOYNcvblc8ekTLpyaYpS6UDDBS7CSgXCPIsAEQEAAYkBPAQYAQgAJhYh +BBJxdVYEDu8u6vG5wnX8zQol+g5LBQJdabL4AhsMBQkDwmcAAAoJEHX8zQol+g5L +76MH/jU1ac61j+gcnrBFEQSba+/EZHiCux9shEZbJ5VqCitfs/Q8207vlF1QW06C +wp0au3NbjJ57SeUK0ZS/aw9fQQye9fMc0gaCH8F/qcKLLnrLfUHhFoir6TTRYNn6 +71HL9ImDjRZYgNJr27VpDJcmaE2zaOtbSzFTpN7D7E35WFaPuWsfQ0wbwdncL3Bk +PHubXmORqXzLO5pjR5PQxT+hJuz5EHwIwG1YS/UeXRmp1fLFeISCNgOMgI0m0T4K +QgaYxBAlsgueUxWnXW1g1XIEDIzqcVUZbnvGFBGklIpdL5YPQ/3MtQcmy57nxgln +i2qsi7BB6HyvL563DlhU0Bgfhsc= +=OWEP +-END PGP PUBLIC KEY BLOCK- \ No newline at end of file
[airflow] branch master updated: Update python openapi gen script to generate code in a submodule (#14932)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/master by this push: new 428ce03 Update python openapi gen script to generate code in a submodule (#14932) 428ce03 is described below commit 428ce03783cb0864ac58027ffb326d006ffae784 Author: Sumit Maheshwari AuthorDate: Tue Mar 23 14:15:44 2021 +0530 Update python openapi gen script to generate code in a submodule (#14932) --- clients/README.md | 2 +- clients/gen/common.sh | 16 +++- clients/gen/go.sh | 3 +++ clients/gen/python.sh | 23 +-- 4 files changed, 40 insertions(+), 4 deletions(-) diff --git a/clients/README.md b/clients/README.md index ced9ad6..c192354 100644 --- a/clients/README.md +++ b/clients/README.md @@ -22,7 +22,7 @@ Supported languages: * [Golang](https://github.com/apache/airflow-client-go) generated through `./gen/go.sh`. - +* [Python](https://github.com/apache/airflow-client-python) generated through `./gen/python.sh`. ## Dependencies diff --git a/clients/gen/common.sh b/clients/gen/common.sh index 3688713..c37a94d 100755 --- a/clients/gen/common.sh +++ b/clients/gen/common.sh @@ -17,7 +17,7 @@ # specific language governing permissions and limitations # under the License. -OPENAPI_GENERATOR_CLI_VER=5.0.1 +OPENAPI_GENERATOR_CLI_VER=5.1.0 readonly OPENAPI_GENERATOR_CLI_VER GIT_USER=${GIT_USER:-apache} @@ -45,10 +45,24 @@ function validate_input { OUTPUT_DIR=$(realpath "$2") readonly OUTPUT_DIR +# cleanup the existing generated code, otherwise generator would skip them +for dir in "${CLEANUP_DIRS[@]}" +do +local dirToClean="${OUTPUT_DIR}/${dir}" +echo "Cleaning up ${dirToClean}" +rm -rf "${dirToClean:?}" +done + # create openapi ignore file to keep generated code clean cat < "${OUTPUT_DIR}/.openapi-generator-ignore" .travis.yml git_push.sh +.gitlab-ci.yml +requirements.txt +setup.cfg +setup.py +test-requirements.txt +tox.ini EOF } diff --git a/clients/gen/go.sh b/clients/gen/go.sh index d0bff9a..c66339f 100755 --- a/clients/gen/go.sh +++ b/clients/gen/go.sh @@ -19,6 +19,9 @@ CLIENTS_GEN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" readonly CLIENTS_GEN_DIR +CLEANUP_DIRS=(api docs) +readonly CLEANUP_DIRS + # shellcheck source=./clients/gen/common.sh source "${CLIENTS_GEN_DIR}/common.sh" diff --git a/clients/gen/python.sh b/clients/gen/python.sh index c177521..82905a0 100755 --- a/clients/gen/python.sh +++ b/clients/gen/python.sh @@ -19,6 +19,9 @@ CLIENTS_GEN_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" readonly CLIENTS_GEN_DIR +CLEANUP_DIRS=(client docs test README.md) +readonly CLEANUP_DIRS + # shellcheck source=./clients/gen/common.sh source "${CLIENTS_GEN_DIR}/common.sh" @@ -32,8 +35,24 @@ python_config=( validate_input "$@" gen_client python \ ---package-name airflow_client \ ---git-repo-id airflow-client-python/airflow \ +--package-name client \ +--git-repo-id airflow-client-python \ --additional-properties "${python_config[*]}" +echo "--- Patching generated code..." + +# Post-processing of the generated Python wrapper. + +touch "${OUTPUT_DIR}/__init__.py" +find "${OUTPUT_DIR}/test" -type f -name \*.py -exec sed -i '' -e 's/client/airflow_client.client/g' {} + +find "${OUTPUT_DIR}" -type f -a -name \*.md -exec sed -i '' -e 's/# client/# Apache Airflow Python Client/g' {} + +find "${OUTPUT_DIR}" -type f -a -name \*.md -exec sed -i '' -e 's/import client/import airflow_client.client/g' {} + +find "${OUTPUT_DIR}" -type f -a -name \*.md -exec sed -i '' -e 's/from client/from airflow_client.client/g' {} + +find "${OUTPUT_DIR}" -type f -a -name \*.md -exec sed -i '' -e 's/getattr(client\.models/getattr(airflow_client.client.models/g' {} + + +# fix imports +find "${OUTPUT_DIR}/client/" -type f -name \*.py -exec sed -i '' -e 's/import client\./import airflow_client.client./g' {} + +find "${OUTPUT_DIR}/client/" -type f -name \*.py -exec sed -i '' -e 's/from client/from airflow_client.client/g' {} + +find "${OUTPUT_DIR}/client/" -type f -name \*.py -exec sed -i '' -e 's/getattr(client\.models/getattr(airflow_client.client.models/g' {} + + run_pre_commit
[airflow] branch master updated (6405382 -> 7b83bf2)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from 6405382 Revert "Create a documentation package for Docker image (#14765)" (#14867) add 7b83bf2 Add files to generate Airflow's Python SDK (#14739) No new revisions were added by this update. Summary of changes: clients/gen/common.sh | 40 +- clients/gen/go.sh | 48 ++ .../entrypoint.sh => clients/gen/python.sh | 30 +- 3 files changed, 62 insertions(+), 56 deletions(-) copy scripts/ci/dockerfiles/krb5-kdc-server/entrypoint.sh => clients/gen/python.sh (63%)
[airflow] 01/01: Bump up version for go
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch python_sdk in repository https://gitbox.apache.org/repos/asf/airflow.git commit 44f2b5cb85aaab3f5d0d4a6d3e9831efe8db68c5 Author: Sumit Maheshwari AuthorDate: Wed Mar 17 13:13:09 2021 +0530 Bump up version for go --- clients/gen/go.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients/gen/go.sh b/clients/gen/go.sh index 23544f4..d0bff9a 100755 --- a/clients/gen/go.sh +++ b/clients/gen/go.sh @@ -22,7 +22,7 @@ readonly CLIENTS_GEN_DIR # shellcheck source=./clients/gen/common.sh source "${CLIENTS_GEN_DIR}/common.sh" -VERSION=1.0.0 +VERSION=1.1.0 readonly VERSION go_config=(
[airflow] branch python_sdk created (now 44f2b5c)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch python_sdk in repository https://gitbox.apache.org/repos/asf/airflow.git. at 44f2b5c Bump up version for go This branch includes the following new commits: new 44f2b5c Bump up version for go The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[airflow] branch master updated (317858a -> ada1c63)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from 317858a Remove unneeded parentheses from Python file (#12968) add ada1c63 Update INTHEWILD.md - Add Altafino (#13079) No new revisions were added by this update. Summary of changes: INTHEWILD.md | 1 + 1 file changed, 1 insertion(+)
[airflow] branch master updated: Update TIs with a proper lock (#11683)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/master by this push: new 3caa539 Update TIs with a proper lock (#11683) 3caa539 is described below commit 3caa539092d3a4196083d1db829fa1ed7d83fa95 Author: Sumit Maheshwari AuthorDate: Wed Oct 21 11:25:50 2020 +0530 Update TIs with a proper lock (#11683) --- airflow/jobs/scheduler_job.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/airflow/jobs/scheduler_job.py b/airflow/jobs/scheduler_job.py index a331e7b..8aee46c 100644 --- a/airflow/jobs/scheduler_job.py +++ b/airflow/jobs/scheduler_job.py @@ -849,7 +849,8 @@ class SchedulerJob(BaseJob): # pylint: disable=too-many-instance-attributes # We need to do this for mysql as well because it can cause deadlocks # as discussed in https://issues.apache.org/jira/browse/AIRFLOW-2516 if self.using_sqlite or self.using_mysql: -tis_to_change: List[TI] = with_row_locks(query).all() +tis_to_change: List[TI] = with_row_locks(query, of=TI, + **skip_locked(session=session)).all() for ti in tis_to_change: ti.set_state(new_state, session=session) tis_changed += 1
[airflow] branch master updated: Update TIs with a proper lock (#11683)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/master by this push: new 3caa539 Update TIs with a proper lock (#11683) 3caa539 is described below commit 3caa539092d3a4196083d1db829fa1ed7d83fa95 Author: Sumit Maheshwari AuthorDate: Wed Oct 21 11:25:50 2020 +0530 Update TIs with a proper lock (#11683) --- airflow/jobs/scheduler_job.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/airflow/jobs/scheduler_job.py b/airflow/jobs/scheduler_job.py index a331e7b..8aee46c 100644 --- a/airflow/jobs/scheduler_job.py +++ b/airflow/jobs/scheduler_job.py @@ -849,7 +849,8 @@ class SchedulerJob(BaseJob): # pylint: disable=too-many-instance-attributes # We need to do this for mysql as well because it can cause deadlocks # as discussed in https://issues.apache.org/jira/browse/AIRFLOW-2516 if self.using_sqlite or self.using_mysql: -tis_to_change: List[TI] = with_row_locks(query).all() +tis_to_change: List[TI] = with_row_locks(query, of=TI, + **skip_locked(session=session)).all() for ti in tis_to_change: ti.set_state(new_state, session=session) tis_changed += 1
[airflow] branch master updated (4d611f2 -> 44031bf)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from 4d611f2 Clean up _trigger_dag function (#11584) add 44031bf Fix broken migration for Sqlite3 (#11573) No new revisions were added by this update. Summary of changes: .../versions/98271e7606e2_add_scheduling_decision_to_dagrun_and_.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
[airflow] branch master updated: Fix DagBag bug when a dag has invalid schedule_interval (#11344)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/master by this push: new 5605d10 Fix DagBag bug when a dag has invalid schedule_interval (#11344) 5605d10 is described below commit 5605d1063be9532a2f9861283998c39bd06e4ce8 Author: Sumit Maheshwari AuthorDate: Fri Oct 9 13:29:41 2020 +0530 Fix DagBag bug when a dag has invalid schedule_interval (#11344) --- airflow/models/dagbag.py| 2 +- tests/models/test_dagbag.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/airflow/models/dagbag.py b/airflow/models/dagbag.py index 80ae522..ed709f9 100644 --- a/airflow/models/dagbag.py +++ b/airflow/models/dagbag.py @@ -352,9 +352,9 @@ class DagBag(BaseDagBag, LoggingMixin): dag.fileloc = filepath try: dag.is_subdag = False -self.bag_dag(dag=dag, root_dag=dag) if isinstance(dag.normalized_schedule_interval, str): croniter(dag.normalized_schedule_interval) +self.bag_dag(dag=dag, root_dag=dag) found_dags.append(dag) found_dags += dag.subdags except (CroniterBadCronError, diff --git a/tests/models/test_dagbag.py b/tests/models/test_dagbag.py index c2fe045..9cf0c00 100644 --- a/tests/models/test_dagbag.py +++ b/tests/models/test_dagbag.py @@ -174,6 +174,7 @@ class TestDagBag(unittest.TestCase): for file in invalid_dag_files: dagbag.process_file(os.path.join(TEST_DAGS_FOLDER, file)) self.assertEqual(len(dagbag.import_errors), len(invalid_dag_files)) +self.assertEqual(len(dagbag.dags), 0) @patch.object(DagModel, 'get_current') def test_get_dag_without_refresh(self, mock_dagmodel):
[airflow] branch master updated (23768f6 -> 791a175)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from 23768f6 Proposal: remove -serviceaccount suffix from KSA names in helm chart (#10892) add 791a175 Fix the method defaults for _construct_volume (#10948) No new revisions were added by this update. Summary of changes: airflow/kubernetes/worker_configuration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[airflow] branch master updated (23768f6 -> 791a175)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from 23768f6 Proposal: remove -serviceaccount suffix from KSA names in helm chart (#10892) add 791a175 Fix the method defaults for _construct_volume (#10948) No new revisions were added by this update. Summary of changes: airflow/kubernetes/worker_configuration.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
[airflow] branch master updated (b9dc3c5 -> c58d606)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from b9dc3c5 Added Plexus as an Airflow provider (#10591) add c58d606 Update qubole_hook to not remove pool as an arg for qubole_operator (#10820) No new revisions were added by this update. Summary of changes: airflow/providers/qubole/hooks/qubole.py| 2 +- tests/providers/qubole/operators/test_qubole.py | 5 + 2 files changed, 6 insertions(+), 1 deletion(-)
[airflow] branch master updated (b9dc3c5 -> c58d606)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from b9dc3c5 Added Plexus as an Airflow provider (#10591) add c58d606 Update qubole_hook to not remove pool as an arg for qubole_operator (#10820) No new revisions were added by this update. Summary of changes: airflow/providers/qubole/hooks/qubole.py| 2 +- tests/providers/qubole/operators/test_qubole.py | 5 + 2 files changed, 6 insertions(+), 1 deletion(-)
[airflow] branch master updated (57fd479 -> faaf179)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from 57fd479 Ensure we heartbeat the DagFileProcessorManager regularly. (#10706) add faaf179 Add Stacktrace when DagFileProcessorManager gets killed (#10681) No new revisions were added by this update. Summary of changes: airflow/utils/dag_processing.py | 2 ++ 1 file changed, 2 insertions(+)
[airflow] branch master updated (a103280 -> 36aa88f)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from a103280 Change the name of Static Check without pylint (#10690) add 36aa88f Add jupytercmd and fix task failure when notify set as true in qubole operator (#10599) No new revisions were added by this update. Summary of changes: airflow/providers/qubole/hooks/qubole.py| 10 ++ airflow/providers/qubole/operators/qubole.py| 11 +-- docs/spelling_wordlist.txt | 1 + tests/providers/qubole/operators/test_qubole.py | 8 4 files changed, 24 insertions(+), 6 deletions(-)
[airflow] branch master updated (a103280 -> 36aa88f)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from a103280 Change the name of Static Check without pylint (#10690) add 36aa88f Add jupytercmd and fix task failure when notify set as true in qubole operator (#10599) No new revisions were added by this update. Summary of changes: airflow/providers/qubole/hooks/qubole.py| 10 ++ airflow/providers/qubole/operators/qubole.py| 11 +-- docs/spelling_wordlist.txt | 1 + tests/providers/qubole/operators/test_qubole.py | 8 4 files changed, 24 insertions(+), 6 deletions(-)
[airflow] branch master updated (d2540e6 -> 2102122)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from d2540e6 Add airflow connections export command (#9856) (#10081) add 2102122 Handle IntegrityError while creating TIs (#10136) No new revisions were added by this update. Summary of changes: airflow/models/dagrun.py| 14 +++--- tests/models/test_dagrun.py | 19 +++ 2 files changed, 30 insertions(+), 3 deletions(-)
[airflow] branch master updated (23faab5 -> 3190db5)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git. from 23faab5 [AIRFLOW-8057] [AIP-31] Add @task decorator (#8962) add 3190db5 [AIRFLOW-9347] Fix QuboleHook unable to add list to tags (#9349) No new revisions were added by this update. Summary of changes: airflow/providers/qubole/hooks/qubole.py | 2 +- .../test_sqs.py => qubole/hooks/test_qubole.py}| 28 -- tests/test_project_structure.py| 1 - 3 files changed, 17 insertions(+), 14 deletions(-) copy tests/providers/{amazon/aws/hooks/test_sqs.py => qubole/hooks/test_qubole.py} (53%)
[airflow] branch master updated: Patch Pool.DEFAULT_POOL_NAME in BaseOperator (#8587)
This is an automated email from the ASF dual-hosted git repository. msumit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airflow.git The following commit(s) were added to refs/heads/master by this push: new b37ce29 Patch Pool.DEFAULT_POOL_NAME in BaseOperator (#8587) b37ce29 is described below commit b37ce294b938fa1f591e526f8ee326f3dcea3e24 Author: vshshjn7 AuthorDate: Fri May 8 14:09:30 2020 +0530 Patch Pool.DEFAULT_POOL_NAME in BaseOperator (#8587) Co-authored-by: Vishesh Jain --- UPDATING.md | 10 ++ airflow/models/baseoperator.py| 4 ++-- tests/serialization/test_dag_serialization.py | 2 ++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/UPDATING.md b/UPDATING.md index db50c55..b10cbfb 100644 --- a/UPDATING.md +++ b/UPDATING.md @@ -62,6 +62,16 @@ https://developers.google.com/style/inclusive-documentation --> +### Ability to patch Pool.DEFAULT_POOL_NAME in BaseOperator +It was not possible to patch pool in BaseOperator as the signature sets the default value of pool +as Pool.DEFAULT_POOL_NAME. +While using subdagoperator in unittest(without initializing the sqlite db), it was throwing the +following error: +``` +sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: slot_pool. +``` +Fix for this, https://github.com/apache/airflow/pull/8587 + ### Change signature of BigQueryGetDatasetTablesOperator Was: ```python diff --git a/airflow/models/baseoperator.py b/airflow/models/baseoperator.py index 2e431ca..a9576a1 100644 --- a/airflow/models/baseoperator.py +++ b/airflow/models/baseoperator.py @@ -316,7 +316,7 @@ class BaseOperator(Operator, LoggingMixin): priority_weight: int = 1, weight_rule: str = WeightRule.DOWNSTREAM, queue: str = conf.get('celery', 'default_queue'), -pool: str = Pool.DEFAULT_POOL_NAME, +pool: Optional[str] = None, pool_slots: int = 1, sla: Optional[timedelta] = None, execution_timeout: Optional[timedelta] = None, @@ -385,7 +385,7 @@ class BaseOperator(Operator, LoggingMixin): self.retries = retries self.queue = queue -self.pool = pool +self.pool = Pool.DEFAULT_POOL_NAME if pool is None else pool self.pool_slots = pool_slots if self.pool_slots < 1: raise AirflowException("pool slots for %s in dag %s cannot be less than 1" diff --git a/tests/serialization/test_dag_serialization.py b/tests/serialization/test_dag_serialization.py index 9dda878..6580744 100644 --- a/tests/serialization/test_dag_serialization.py +++ b/tests/serialization/test_dag_serialization.py @@ -70,6 +70,7 @@ serialized_simple_dag_ground_truth = { "bash_command": "echo {{ task.task_id }}", "_task_type": "BashOperator", "_task_module": "airflow.operators.bash", +"pool": "default_pool", }, { "task_id": "custom_task", @@ -84,6 +85,7 @@ serialized_simple_dag_ground_truth = { "template_fields": ['bash_command'], "_task_type": "CustomOperator", "_task_module": "tests.test_utils.mock_operators", +"pool": "default_pool", }, ], "timezone": "UTC",