{ "info": { "author": "Michael R. Kisel", "author_email": "deploy-me@yandex.ru", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Apache Airflow", "Framework :: AsyncIO", "Framework :: aiohttp", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Topic :: File Formats :: JSON", "Topic :: Internet", "Topic :: Office/Business :: Scheduling", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Code Generators" ], "description": "

\r\n \"ARA\"\r\n

\r\n

\r\n \"Version\"\r\n \"License\"\r\n \"Python\"\r\n \"Status\"\r\n \"Format\"\r\n \"Wheel\"\r\n \"Build\"\r\n \"Coverage\"\r\n \"Downloads\"\r\n


\r\n

\r\n\r\n# AIRFLOW-REST-API\r\n\r\nAsync wrapper for [Airflow REST API](https://bit.ly/ara-docs). See more in [documentation](https://deploy-me.bitbucket.io/airflow-rest-api/index.html)\r\n\r\n## INSTALL\r\n\r\n```bash\r\npip install airflow-rest-api\r\n```\r\n\r\n## USAGE\r\n\r\n```python\r\nimport asyncio\r\nimport os\r\nimport aiohttp\r\nfrom airflow_rest_api.api import AirflowRestApi\r\n\r\nAIRFLOW_HOST = os.environ.get(\"AIRFLOW_HOST\", \"http://127.0.0.1:8080\")\r\nAIRFLOW_USER = os.environ.get(\"AIRFLOW_USER\", \"admin\")\r\nAIRFLOW_PASSWORD = os.environ.get(\"AIRFLOW_PASSWORD\", \"admin\")\r\n\r\n\r\nasync def main(ara):\r\n for template in ara.find_template(\"/dags\"):\r\n template_id = template.id\r\n break\r\n auth = aiohttp.BasicAuth(AIRFLOW_USER, AIRFLOW_PASSWORD)\r\n async with aiohttp.ClientSession(auth=auth) as session:\r\n airflow_tasks = await ara.execute(session=session, template_id=template_id)\r\n if airflow_tasks.status == 200:\r\n file_token = airflow_tasks.raw[\"dags\"][0][\"file_token\"]\r\n template_id = 360\r\n dag_source_code = (\r\n await ara.execute(\r\n session=session,\r\n method=ara.get_template(template_id).method,\r\n url=ara.render_url(template_id=template_id, file_token=file_token)\r\n )\r\n ).raw\r\n print(dag_source_code)\r\n\r\n\r\nara = AirflowRestApi(airflow_host=AIRFLOW_HOST)\r\nara.show_templates()\r\n\r\nloop = asyncio.get_event_loop()\r\nloop.run_until_complete(main(ara))\r\n```\r\n\r\n\r\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://bit.ly/ara-dwnld", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bit.ly/ara-bb", "keywords": "airflow,airflow rest api,async airflow,async rest api,async api", "license": "MIT", "maintainer": "Michael R. Kisel ", "maintainer_email": "deploy-me@yandex.ru", "name": "airflow-rest-api", "package_url": "https://pypi.org/project/airflow-rest-api/", "platform": "any", "project_url": "https://pypi.org/project/airflow-rest-api/", "project_urls": { "Download": "https://bit.ly/ara-dwnld", "Homepage": "https://bit.ly/ara-bb" }, "release_url": "https://pypi.org/project/airflow-rest-api/0.0.0/", "requires_dist": [ "aiohttp (<4.0.0)", "pandas (<=2.0.0)", "tabulate (<=0.9.0)", "importlib-resources ; python_version < \"3.9\"" ], "requires_python": "<4,>=3.7", "summary": "Async wrapper for Airflow REST API", "version": "0.0.0", "yanked": false, "yanked_reason": null }, "last_serial": 18636646, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "blake2b_256": "983278ba6b4ebb070569a0e7f99a5f9cb99044707e085749a0dbccdeb4ab13ef", "md5": "345ec4e78dc1323fa68bf6393f0d2ddc", "sha256": "a6d9acc559de49afded860c52bc1dfd90d30a3510ff69c2c7f6d6cb1c24195f2" }, "downloads": -1, "filename": "airflow_rest_api-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "345ec4e78dc1323fa68bf6393f0d2ddc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "<4,>=3.7", "size": 13070, "upload_time": "2023-06-25T13:14:16", "upload_time_iso_8601": "2023-06-25T13:14:16.157796Z", "url": "https://files.pythonhosted.org/packages/98/32/78ba6b4ebb070569a0e7f99a5f9cb99044707e085749a0dbccdeb4ab13ef/airflow_rest_api-0.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "451c120593776bc686fc61da5557a65bd07983b6a38cc6323fef9711551c346d", "md5": "f33b3bd34a6701d56fab1f21180d0c5f", "sha256": "a940b070f8e9277addcf62e96d0ef8a75a29c214724f8e0f3561f64c0712aab5" }, "downloads": -1, "filename": "airflow-rest-api-0.0.0.tar.gz", "has_sig": false, "md5_digest": "f33b3bd34a6701d56fab1f21180d0c5f", "packagetype": "sdist", "python_version": "source", "requires_python": "<4,>=3.7", "size": 9658, "upload_time": "2023-06-25T13:14:18", "upload_time_iso_8601": "2023-06-25T13:14:18.132805Z", "url": "https://files.pythonhosted.org/packages/45/1c/120593776bc686fc61da5557a65bd07983b6a38cc6323fef9711551c346d/airflow-rest-api-0.0.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "blake2b_256": "983278ba6b4ebb070569a0e7f99a5f9cb99044707e085749a0dbccdeb4ab13ef", "md5": "345ec4e78dc1323fa68bf6393f0d2ddc", "sha256": "a6d9acc559de49afded860c52bc1dfd90d30a3510ff69c2c7f6d6cb1c24195f2" }, "downloads": -1, "filename": "airflow_rest_api-0.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "345ec4e78dc1323fa68bf6393f0d2ddc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": "<4,>=3.7", "size": 13070, "upload_time": "2023-06-25T13:14:16", "upload_time_iso_8601": "2023-06-25T13:14:16.157796Z", "url": "https://files.pythonhosted.org/packages/98/32/78ba6b4ebb070569a0e7f99a5f9cb99044707e085749a0dbccdeb4ab13ef/airflow_rest_api-0.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "blake2b_256": "451c120593776bc686fc61da5557a65bd07983b6a38cc6323fef9711551c346d", "md5": "f33b3bd34a6701d56fab1f21180d0c5f", "sha256": "a940b070f8e9277addcf62e96d0ef8a75a29c214724f8e0f3561f64c0712aab5" }, "downloads": -1, "filename": "airflow-rest-api-0.0.0.tar.gz", "has_sig": false, "md5_digest": "f33b3bd34a6701d56fab1f21180d0c5f", "packagetype": "sdist", "python_version": "source", "requires_python": "<4,>=3.7", "size": 9658, "upload_time": "2023-06-25T13:14:18", "upload_time_iso_8601": "2023-06-25T13:14:18.132805Z", "url": "https://files.pythonhosted.org/packages/45/1c/120593776bc686fc61da5557a65bd07983b6a38cc6323fef9711551c346d/airflow-rest-api-0.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }