airtolphin


Nameairtolphin JSON
Version 0.0.1 PyPI version JSON
download
home_pagehttps://github.com/WhaleOps/airtolphin
SummaryAirflow to DolphinScheduler migration tool
upload_time2022-11-30 06:25:38
maintainer
docs_urlNone
authorJay Chung
requires_python>=3.6
licenseApache License 2.0
keywords transfer tool parser airflow dolphinscheduler
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # airtolphin

[![PyPi Version](https://img.shields.io/pypi/v/airtolphin.svg?style=flat-square&logo=PyPi)](https://pypi.org/project/airtolphin/)
[![PyPi Python Versions](https://img.shields.io/pypi/pyversions/airtolphin.svg?style=flat-square&logo=python)](https://pypi.org/project/airtolphin/)
[![PyPi License](https://img.shields.io/:license-Apache%202-blue.svg?style=flat-square)](https://raw.githubusercontent.com/WhaleOps/airtolphin/main/LICENSE)
[![PyPi Status](https://img.shields.io/pypi/status/airtolphin.svg?style=flat-square)](https://pypi.org/project/airtolphin/)
[![Downloads](https://pepy.tech/badge/airtolphin/month)](https://pepy.tech/project/airtolphin)
[![Coverage Status](https://img.shields.io/codecov/c/github/WhaleOps/airtolphin/main.svg?style=flat-square)](https://codecov.io/github/WhaleOps/airtolphin?branch=main)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat-square&labelColor=ef8336)](https://pycqa.github.io/isort)
[![CI](https://github.com/WhaleOps/airtolphin/actions/workflows/ci.yaml/badge.svg)](https://github.com/WhaleOps/airtolphin/actions/workflows/ci.yaml)

Airflow to DolphinScheduler migration tool.

## Installation

For now, it just for test and without publish to pypi but will be adding in the future.
You could still install locally by yourself.

```shell
python pip install --upgrade airtolphin
```

## Quick Start

We have an example told you how it works in `./examples/transfer_tutorial.py`, it migrates
Airflow's tutorial in path `./examples/airflow/tutorial.py` to DolphinScheduler's Python
API. You could run it by

```shell
python ./examples/transfer_tutorial.py
```

## Support Statement

For now, we support following conversion from Airflow's DAG files

### DAG

| Before Conversion | After Conversion |
| ----- | ----- |
| `from airflow import DAG` | `from pydolphinscheduler.core.process_definition import ProcessDefinition` |
| `with DAG(...) as dag: pass` | `with ProcessDefinition(...) as dag: pass` |

### Operators

#### Dummy Operator

| Before Conversion | After Conversion |
| ----- | ----- |
| `from airflow.operators.dummy_operator import DummyOperator` | `from pydolphinscheduler.tasks.shell import Shell` |
| `from airflow.operators.dummy import DummyOperator` | `from pydolphinscheduler.tasks.shell import Shell` |
| `dummy = DummyOperator(...)` | `dummy = Shell(..., command="echo 'airflow dummy operator'")` |

#### Shell Operator

| Before Conversion | After Conversion |
| ----- | ----- |
| `from airflow.operators.bash import BashOperator` | `from pydolphinscheduler.tasks.shell import Shell` |
| `bash = BashOperator(...)` | `bash = Shell(...)` |

#### Spark Sql Operator

| Before Conversion | After Conversion |
| ----- | ----- |
| `from airflow.operators.spark_sql_operator import SparkSqlOperator` | `from pydolphinscheduler.tasks.sql import Sql` |
| `spark = SparkSqlOperator(...)` | `spark = Sql(...)` |

#### Python Operator

| Before Conversion                                              | After Conversion                                     |
|----------------------------------------------------------------|------------------------------------------------------|
| `from airflow.operators.python_operator import PythonOperator` | `from pydolphinscheduler.tasks.python import Python` |
| `python = PythonOperator(...)`                                 | `python = Python(...)`                               |

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/WhaleOps/airtolphin",
    "name": "airtolphin",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "transfer,tool,parser,airflow,dolphinscheduler",
    "author": "Jay Chung",
    "author_email": "zhongjiajie955@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/5d/b5/268d29e50441d72eb3b831acaa55e852b795dced9de298122939e6388fd2/airtolphin-0.0.1.tar.gz",
    "platform": "any",
    "description": "# airtolphin\n\n[![PyPi Version](https://img.shields.io/pypi/v/airtolphin.svg?style=flat-square&logo=PyPi)](https://pypi.org/project/airtolphin/)\n[![PyPi Python Versions](https://img.shields.io/pypi/pyversions/airtolphin.svg?style=flat-square&logo=python)](https://pypi.org/project/airtolphin/)\n[![PyPi License](https://img.shields.io/:license-Apache%202-blue.svg?style=flat-square)](https://raw.githubusercontent.com/WhaleOps/airtolphin/main/LICENSE)\n[![PyPi Status](https://img.shields.io/pypi/status/airtolphin.svg?style=flat-square)](https://pypi.org/project/airtolphin/)\n[![Downloads](https://pepy.tech/badge/airtolphin/month)](https://pepy.tech/project/airtolphin)\n[![Coverage Status](https://img.shields.io/codecov/c/github/WhaleOps/airtolphin/main.svg?style=flat-square)](https://codecov.io/github/WhaleOps/airtolphin?branch=main)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square)](https://github.com/psf/black)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat-square&labelColor=ef8336)](https://pycqa.github.io/isort)\n[![CI](https://github.com/WhaleOps/airtolphin/actions/workflows/ci.yaml/badge.svg)](https://github.com/WhaleOps/airtolphin/actions/workflows/ci.yaml)\n\nAirflow to DolphinScheduler migration tool.\n\n## Installation\n\nFor now, it just for test and without publish to pypi but will be adding in the future.\nYou could still install locally by yourself.\n\n```shell\npython pip install --upgrade airtolphin\n```\n\n## Quick Start\n\nWe have an example told you how it works in `./examples/transfer_tutorial.py`, it migrates\nAirflow's tutorial in path `./examples/airflow/tutorial.py` to DolphinScheduler's Python\nAPI. You could run it by\n\n```shell\npython ./examples/transfer_tutorial.py\n```\n\n## Support Statement\n\nFor now, we support following conversion from Airflow's DAG files\n\n### DAG\n\n| Before Conversion | After Conversion |\n| ----- | ----- |\n| `from airflow import DAG` | `from pydolphinscheduler.core.process_definition import ProcessDefinition` |\n| `with DAG(...) as dag: pass` | `with ProcessDefinition(...) as dag: pass` |\n\n### Operators\n\n#### Dummy Operator\n\n| Before Conversion | After Conversion |\n| ----- | ----- |\n| `from airflow.operators.dummy_operator import DummyOperator` | `from pydolphinscheduler.tasks.shell import Shell` |\n| `from airflow.operators.dummy import DummyOperator` | `from pydolphinscheduler.tasks.shell import Shell` |\n| `dummy = DummyOperator(...)` | `dummy = Shell(..., command=\"echo 'airflow dummy operator'\")` |\n\n#### Shell Operator\n\n| Before Conversion | After Conversion |\n| ----- | ----- |\n| `from airflow.operators.bash import BashOperator` | `from pydolphinscheduler.tasks.shell import Shell` |\n| `bash = BashOperator(...)` | `bash = Shell(...)` |\n\n#### Spark Sql Operator\n\n| Before Conversion | After Conversion |\n| ----- | ----- |\n| `from airflow.operators.spark_sql_operator import SparkSqlOperator` | `from pydolphinscheduler.tasks.sql import Sql` |\n| `spark = SparkSqlOperator(...)` | `spark = Sql(...)` |\n\n#### Python Operator\n\n| Before Conversion                                              | After Conversion                                     |\n|----------------------------------------------------------------|------------------------------------------------------|\n| `from airflow.operators.python_operator import PythonOperator` | `from pydolphinscheduler.tasks.python import Python` |\n| `python = PythonOperator(...)`                                 | `python = Python(...)`                               |\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "Airflow to DolphinScheduler migration tool",
    "version": "0.0.1",
    "split_keywords": [
        "transfer",
        "tool",
        "parser",
        "airflow",
        "dolphinscheduler"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "59a6ce1cc85ee5a1bf867481236244fb",
                "sha256": "a1f388dc280d74bfb45b333f783211c906893aa497612ce7d0f552cd061dfaad"
            },
            "downloads": -1,
            "filename": "airtolphin-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "59a6ce1cc85ee5a1bf867481236244fb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 13434,
            "upload_time": "2022-11-30T06:25:36",
            "upload_time_iso_8601": "2022-11-30T06:25:36.386569Z",
            "url": "https://files.pythonhosted.org/packages/96/a8/580f86ba648d8a155e3cfe25bbe275b65ccad7c01308edb31925b87130e1/airtolphin-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "1597d7fbd2b4db309e83eae8f568cbfc",
                "sha256": "e8e1dc970706d2efbcd9639a4778fe6a5382c795ea6f508c29e356d5b737d8cf"
            },
            "downloads": -1,
            "filename": "airtolphin-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "1597d7fbd2b4db309e83eae8f568cbfc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 10944,
            "upload_time": "2022-11-30T06:25:38",
            "upload_time_iso_8601": "2022-11-30T06:25:38.342461Z",
            "url": "https://files.pythonhosted.org/packages/5d/b5/268d29e50441d72eb3b831acaa55e852b795dced9de298122939e6388fd2/airtolphin-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-11-30 06:25:38",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "WhaleOps",
    "github_project": "airtolphin",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "airtolphin"
}
        
Elapsed time: 0.01260s