{ "info": { "author": "Rekcurd", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "# Rekcurd-airflow\n[![Build Status](https://travis-ci.com/rekcurd/airflow-plugin.svg?branch=master)](https://travis-ci.com/rekcurd/airflow-plugin)\n[![PyPI version](https://badge.fury.io/py/rekcurd-airflow.svg)](https://badge.fury.io/py/rekcurd-airflow)\n[![codecov](https://codecov.io/gh/rekcurd/airflow-plugin/branch/master/graph/badge.svg)](https://codecov.io/gh/rekcurd/airflow-plugin \"Non-generated packages only\")\n[![pypi supported versions](https://img.shields.io/pypi/pyversions/rekcurd-airflow.svg)](https://pypi.python.org/pypi/rekcurd-airflow)\n\n\nAirflow Plugins for [Rekcurd Dashboard](https://github.com/rekcurd/dashboard)\n\n## Environment\n- Python 3.6\n- apache-airflow >= 1.10.x\n- Rekcurd Dashboard >= 0.4.x\n\n## Setup\n- Setup Airflow\n- Setup Rekcurd Dashboard and get your access token\n- Run the following commands\n\n**Use JWT token published by Rekcurd Dashboard as REKCURD_ACCESS_TOKEN for now**\n\n```\n# Set the access token and airflow-rekcurd connection to airflow\n# Replace the environment variables with your own values.\n$ cd $AIRFLOW_HOME\n$ airflow variables -s rekcurd_access_token $REKCURD_ACCESS_TOKEN\n$ airflow connections -a --conn_id rekcurd_dashboard \\\n\t--conn_uri http://$REKCURD_DASHBOARD_HOST:$REKCURD_DASHBOARD_PORT/\n\n$ pip install rekcurd-airflow\n```\n\n## Components\nYou can see example DAGs for the plugins in [here](./dags)\n\n### Operators\n- EvaluationUpdateOperator. ([Example DAG](./dags/example_evaluation_upload.py))\n- ModelDeleteOperator. ([Example DAG](./dags/example_model_delete.py))\n- ModelEvaluateOperator. ([Example DAG](./dags/example_model_evaluate.py))\n- ModelSwitchOperator. ([Example DAG](./dags/example_model_switch.py))\n- ModelUpdateOperator. ([Example DAG](./dags/example_model_upload.py))\n\n[Overall Example DAG](./dags/example_all.py)\n\n## Test\n\n```\n$ cd airflow-plugin # move to the root directory of this repo\n\n# not necessary if you already setup airflow for this repository\n$ export AIRFLOW_HOME=`pwd`\n$ pip install -r test-requirements.txt\n$ airflow initdb\n$ fernet_key=`python -c \"from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())\"`\n$ sed -i -e \"s/\\(fernet_key =\\).*/\\1 $fernet_key/\" airflow.cfg\n\n$ python -m unittest\n```\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rekcurd/airflow-plugin", "keywords": "airflow,rekcurd", "license": "Apache License Version 2.0", "maintainer": "", "maintainer_email": "", "name": "rekcurd-airflow", "package_url": "https://pypi.org/project/rekcurd-airflow/", "platform": "", "project_url": "https://pypi.org/project/rekcurd-airflow/", "project_urls": { "Homepage": "https://github.com/rekcurd/airflow-plugin" }, "release_url": "https://pypi.org/project/rekcurd-airflow/0.1.0/", "requires_dist": [ "apache-airflow (>=1.10.0)", "cryptography" ], "requires_python": "", "summary": "Airflow plugins for Rekcurd", "version": "0.1.0" }, "last_serial": 4903301, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "47e7f340ea1ce77169f6a217c26e9b09", "sha256": "4ca18f04c9c31c1d28db93a48f97132c85f1360af559138c1434b5fdaf28378d" }, "downloads": -1, "filename": "rekcurd_airflow-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "47e7f340ea1ce77169f6a217c26e9b09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13842, "upload_time": "2019-03-06T03:36:41", "url": "https://files.pythonhosted.org/packages/00/f7/8f83b6fea2652293cf959bbe24b803ba03b8941926ecbd7f27c37a701588/rekcurd_airflow-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "511004598033436d04ed57e88052d2b9", "sha256": "95e8c3d271daafe59c8b5f9f4c69093cf176c93d13b8348d480a6facac4690f5" }, "downloads": -1, "filename": "rekcurd-airflow-0.1.0.tar.gz", "has_sig": false, "md5_digest": "511004598033436d04ed57e88052d2b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5849, "upload_time": "2019-03-06T03:36:43", "url": "https://files.pythonhosted.org/packages/fd/b3/e26edde3512cf622bd12d0f39393fbba95f3832dfa4092e387a3d9bfaf85/rekcurd-airflow-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "47e7f340ea1ce77169f6a217c26e9b09", "sha256": "4ca18f04c9c31c1d28db93a48f97132c85f1360af559138c1434b5fdaf28378d" }, "downloads": -1, "filename": "rekcurd_airflow-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "47e7f340ea1ce77169f6a217c26e9b09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13842, "upload_time": "2019-03-06T03:36:41", "url": "https://files.pythonhosted.org/packages/00/f7/8f83b6fea2652293cf959bbe24b803ba03b8941926ecbd7f27c37a701588/rekcurd_airflow-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "511004598033436d04ed57e88052d2b9", "sha256": "95e8c3d271daafe59c8b5f9f4c69093cf176c93d13b8348d480a6facac4690f5" }, "downloads": -1, "filename": "rekcurd-airflow-0.1.0.tar.gz", "has_sig": false, "md5_digest": "511004598033436d04ed57e88052d2b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5849, "upload_time": "2019-03-06T03:36:43", "url": "https://files.pythonhosted.org/packages/fd/b3/e26edde3512cf622bd12d0f39393fbba95f3832dfa4092e387a3d9bfaf85/rekcurd-airflow-0.1.0.tar.gz" } ] }