summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-10 15:36:07 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-10 15:36:07 +0000
commit29039405e7acf518c521701474bbf8263f1169a4 (patch)
treebaad0d8f12e282fa62342a6df6eaea90d9a483e5
parent0675b4d32bf7b3c90a39cb96d0c2d67bddaa3085 (diff)
automatic import of python-airflow-code-editor
-rw-r--r--.gitignore1
-rw-r--r--python-airflow-code-editor.spec657
-rw-r--r--sources1
3 files changed, 659 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..a4b9ba9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/airflow_code_editor-7.2.1.tar.gz
diff --git a/python-airflow-code-editor.spec b/python-airflow-code-editor.spec
new file mode 100644
index 0000000..19240da
--- /dev/null
+++ b/python-airflow-code-editor.spec
@@ -0,0 +1,657 @@
+%global _empty_manifest_terminate_build 0
+Name: python-airflow-code-editor
+Version: 7.2.1
+Release: 1
+Summary: Apache Airflow code editor and file manager
+License: Apache License 2.0
+URL: https://github.com/andreax79/airflow-code-editor
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b6/a4/5784b7b3b7b55009992aac196876d20f911c045452d839fa5a92cf77e4ae/airflow_code_editor-7.2.1.tar.gz
+BuildArch: noarch
+
+Requires: python3-apache-airflow
+Requires: python3-fs
+Requires: python3-pytest
+
+%description
+# Airflow Code Editor Plugin
+A plugin for [Apache Airflow](https://github.com/apache/airflow) that allows you to edit DAGs in browser.
+It provides a file managing interface within specified directories and it can be used to edit, upload, and download your files.
+If git support is enabled, the DAGs are stored in a Git repository. You may use it to view Git history, review local changes and commit.
+
+[![Build Status](https://github.com/andreax79/airflow-code-editor/workflows/Tests/badge.svg)](https://github.com/andreax79/airflow-code-editor/actions)
+[![PyPI version](https://badge.fury.io/py/airflow-code-editor.svg)](https://badge.fury.io/py/airflow-code-editor)
+[![PyPI](https://img.shields.io/pypi/pyversions/airflow-code-editor.svg)](https://pypi.org/project/airflow-code-editor)
+[![Downloads](https://pepy.tech/badge/airflow-code-editor/month)](https://pepy.tech/project/airflow-code-editor)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+### System Requirements
+
+* Airflow Versions
+ * 1.10.3 or newer
+* git Versions (git is not required if git support is disabled)
+ * 2.0 or newer
+
+### Screenshots
+
+#### File Manager
+
+![File Manager](https://user-images.githubusercontent.com/1288154/204994880-5a879cb4-e3f2-4939-a86b-81d9fe967500.png)
+
+#### Editor
+
+![Editor](https://user-images.githubusercontent.com/1288154/186698576-4fd8be33-169a-48a0-9c48-8ab942c5bc89.png)
+
+#### Git History
+
+![Git History - Tags](https://user-images.githubusercontent.com/1288154/186698589-f9342845-c819-4a7f-b1e0-92228016c1cd.png)
+
+#### Git Workspace
+
+![Git Workspace](https://user-images.githubusercontent.com/1288154/186698602-bf82b405-5df0-4a9d-ad49-03e3b22e20e6.png)
+
+### Install Instructions
+
+1. Install the plugin
+
+ ```bash
+ pip install airflow-code-editor
+ ```
+
+2. Install optional dependencies
+
+* black - Black Python code formatter
+* fs-s3fs - S3FS Amazon S3 Filesystem
+* fs-gcsfs - Google Cloud Storage Filesystem
+* ... other filesystems supported by PyFilesystem - see https://www.pyfilesystem.org/page/index-of-filesystems/
+
+ ```bash
+ pip install black fs-s3fs fs-gcsfs
+ ```
+
+3. Restart the Airflow Web Server
+
+4. Open Admin - DAGs Code Editor
+
+
+### Config Options
+
+You can set options editing the Airflow's configuration file or setting environment variables.
+You can edit your *airflow.cfg* adding any of the following settings in the \[code_editor\] section.
+All the settings are optional.
+
+* **enabled** enable this plugin (default: True).
+* **git_enabled** enable git support (default: True). If git is not installed, disable this option.
+* **git_cmd** git command (path)
+* **git_default_args** git arguments added to each call (default: -c color.ui=true)
+* **git_author_name** human-readable name in the author/committer (default logged user first and last names)
+* **git_author_email** email for the author/committer (default: logged user email)
+* **git_init_repo** initialize a git repo in DAGs folder (default: True)
+* **root_directory** root folder (default: Airflow DAGs folder)
+* **line_length** Python code formatter - max line length (default: 88)
+* **string_normalization** Python code formatter - if true normalize string quotes and prefixes (default: False)
+* **mount**, **mount1**, ... configure additional folder (mount point) - format: name=xxx,path=yyy
+* **ignored_entries** comma-separated list of entries to be excluded from file/directory list (default: .\*,\_\_pycache\_\_)
+
+```
+ [code_editor]
+ enabled = True
+ git_enabled = True
+ git_cmd = /usr/bin/git
+ git_default_args = -c color.ui=true
+ git_init_repo = False
+ root_directory = /home/airflow/dags
+ line_length = 88
+ string_normalization = False
+ mount = name=data,path=/home/airflow/data
+ mount1 = name=logs,path=/home/airflow/logs
+ mount2 = name=data,path=s3://example
+```
+
+Mount Options:
+
+* **name**: mount name (destination)
+* **path**: local path or PyFilesystem FS URLs - see https://docs.pyfilesystem.org/en/latest/openers.html
+
+Example:
+* name=ftp_server,path=ftp://user:pass@ftp.example.org/private
+* name=data,path=s3://example
+* name=tmp,path=/tmp
+
+You can also set options with the following environment variables:
+
+* AIRFLOW__CODE_EDITOR__ENABLED
+* AIRFLOW__CODE_EDITOR__GIT_ENABLED
+* AIRFLOW__CODE_EDITOR__GIT_CMD
+* AIRFLOW__CODE_EDITOR__GIT_DEFAULT_ARGS
+* AIRFLOW__CODE_EDITOR__GIT_AUTHOR_NAME
+* AIRFLOW__CODE_EDITOR__GIT_AUTHOR_EMAIL
+* AIRFLOW__CODE_EDITOR__GIT_INIT_REPO
+* AIRFLOW__CODE_EDITOR__ROOT_DIRECTORY
+* AIRFLOW__CODE_EDITOR__LINE_LENGTH
+* AIRFLOW__CODE_EDITOR__STRING_NORMALIZATION
+* AIRFLOW__CODE_EDITOR__MOUNT, AIRFLOW__CODE_EDITOR__MOUNT1, AIRFLOW__CODE_EDITOR__MOUNT2, ...
+* AIRFLOW__CODE_EDITOR__IGNORED_ENTRIES
+
+Example:
+```
+ export AIRFLOW__CODE_EDITOR__STRING_NORMALIZATION=True
+ export AIRFLOW__CODE_EDITOR__MOUNT='name=data,path=/home/airflow/data'
+ export AIRFLOW__CODE_EDITOR__MOUNT1='name=logs,path=/home/airflow/logs'
+ export AIRFLOW__CODE_EDITOR__MOUNT2='name=tmp,path=/tmp'
+```
+
+### Development Instructions
+
+1. Fork the repo
+
+2. Clone it on the local machine
+
+ ```bash
+ git clone https://github.com/andreax79/airflow-code-editor.git
+ cd airflow-code-editor
+ ```
+
+3. Create and activate virtualenv
+
+ ```bash
+ source ./scripts/activate.sh
+ ```
+
+4. Switch node version
+
+ ```bash
+ nvm use
+ ```
+
+5. Make changes you need. Build npm package with:
+
+ ```bash
+ make npm-build
+ ```
+
+6. You can start Airflow webserver or scheduler with these commands:
+
+ ```bash
+ make standalone
+ ```
+
+7. Run tests
+
+ ```bash
+ make test
+ ```
+
+8. Commit and push changes
+
+ ```bash
+ git add .
+ git commit
+ git push
+ ```
+
+9. Create [pull request](https://github.com/andreax79/airflow-code-editor/compare) to the original repo
+
+### Links
+
+* [Apache Airflow](https://github.com/apache/airflow)
+* [Codemirror, In-browser code editor](https://github.com/codemirror/codemirror)
+* [Git WebUI, A standalone local web based user interface for git repositories](https://github.com/alberthier/git-webui)
+* [Black, The Uncompromising Code Formatter](https://github.com/psf/black)
+* [Vue.js](https://github.com/vuejs/vue)
+* [Vue-good-table, data table for VueJS](https://github.com/xaksis/vue-good-table)
+* [Vue-tree, TreeView control for VueJS](https://github.com/grapoza/vue-tree)
+* [Vue-universal-modal Universal modal plugin for Vue@3](https://github.com/hoiheart/vue-universal-modal)
+* [Vue-simple-context-menu](https://github.com/johndatserakis/vue-simple-context-menu)
+* [Splitpanes](https://github.com/antoniandre/splitpanes)
+* [Axios, Promise based HTTP client for the browser and node.js](https://github.com/axios/axios)
+* [PyFilesystem2, Python's Filesystem abstraction layer](https://github.com/PyFilesystem/pyfilesystem2)
+* [Amazon S3 PyFilesystem](https://github.com/PyFilesystem/s3fs)
+* [Google Cloud Storage PyFilesystem](https://github.com/Othoz/gcsfs)
+
+
+%package -n python3-airflow-code-editor
+Summary: Apache Airflow code editor and file manager
+Provides: python-airflow-code-editor
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-airflow-code-editor
+# Airflow Code Editor Plugin
+A plugin for [Apache Airflow](https://github.com/apache/airflow) that allows you to edit DAGs in browser.
+It provides a file managing interface within specified directories and it can be used to edit, upload, and download your files.
+If git support is enabled, the DAGs are stored in a Git repository. You may use it to view Git history, review local changes and commit.
+
+[![Build Status](https://github.com/andreax79/airflow-code-editor/workflows/Tests/badge.svg)](https://github.com/andreax79/airflow-code-editor/actions)
+[![PyPI version](https://badge.fury.io/py/airflow-code-editor.svg)](https://badge.fury.io/py/airflow-code-editor)
+[![PyPI](https://img.shields.io/pypi/pyversions/airflow-code-editor.svg)](https://pypi.org/project/airflow-code-editor)
+[![Downloads](https://pepy.tech/badge/airflow-code-editor/month)](https://pepy.tech/project/airflow-code-editor)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+### System Requirements
+
+* Airflow Versions
+ * 1.10.3 or newer
+* git Versions (git is not required if git support is disabled)
+ * 2.0 or newer
+
+### Screenshots
+
+#### File Manager
+
+![File Manager](https://user-images.githubusercontent.com/1288154/204994880-5a879cb4-e3f2-4939-a86b-81d9fe967500.png)
+
+#### Editor
+
+![Editor](https://user-images.githubusercontent.com/1288154/186698576-4fd8be33-169a-48a0-9c48-8ab942c5bc89.png)
+
+#### Git History
+
+![Git History - Tags](https://user-images.githubusercontent.com/1288154/186698589-f9342845-c819-4a7f-b1e0-92228016c1cd.png)
+
+#### Git Workspace
+
+![Git Workspace](https://user-images.githubusercontent.com/1288154/186698602-bf82b405-5df0-4a9d-ad49-03e3b22e20e6.png)
+
+### Install Instructions
+
+1. Install the plugin
+
+ ```bash
+ pip install airflow-code-editor
+ ```
+
+2. Install optional dependencies
+
+* black - Black Python code formatter
+* fs-s3fs - S3FS Amazon S3 Filesystem
+* fs-gcsfs - Google Cloud Storage Filesystem
+* ... other filesystems supported by PyFilesystem - see https://www.pyfilesystem.org/page/index-of-filesystems/
+
+ ```bash
+ pip install black fs-s3fs fs-gcsfs
+ ```
+
+3. Restart the Airflow Web Server
+
+4. Open Admin - DAGs Code Editor
+
+
+### Config Options
+
+You can set options editing the Airflow's configuration file or setting environment variables.
+You can edit your *airflow.cfg* adding any of the following settings in the \[code_editor\] section.
+All the settings are optional.
+
+* **enabled** enable this plugin (default: True).
+* **git_enabled** enable git support (default: True). If git is not installed, disable this option.
+* **git_cmd** git command (path)
+* **git_default_args** git arguments added to each call (default: -c color.ui=true)
+* **git_author_name** human-readable name in the author/committer (default logged user first and last names)
+* **git_author_email** email for the author/committer (default: logged user email)
+* **git_init_repo** initialize a git repo in DAGs folder (default: True)
+* **root_directory** root folder (default: Airflow DAGs folder)
+* **line_length** Python code formatter - max line length (default: 88)
+* **string_normalization** Python code formatter - if true normalize string quotes and prefixes (default: False)
+* **mount**, **mount1**, ... configure additional folder (mount point) - format: name=xxx,path=yyy
+* **ignored_entries** comma-separated list of entries to be excluded from file/directory list (default: .\*,\_\_pycache\_\_)
+
+```
+ [code_editor]
+ enabled = True
+ git_enabled = True
+ git_cmd = /usr/bin/git
+ git_default_args = -c color.ui=true
+ git_init_repo = False
+ root_directory = /home/airflow/dags
+ line_length = 88
+ string_normalization = False
+ mount = name=data,path=/home/airflow/data
+ mount1 = name=logs,path=/home/airflow/logs
+ mount2 = name=data,path=s3://example
+```
+
+Mount Options:
+
+* **name**: mount name (destination)
+* **path**: local path or PyFilesystem FS URLs - see https://docs.pyfilesystem.org/en/latest/openers.html
+
+Example:
+* name=ftp_server,path=ftp://user:pass@ftp.example.org/private
+* name=data,path=s3://example
+* name=tmp,path=/tmp
+
+You can also set options with the following environment variables:
+
+* AIRFLOW__CODE_EDITOR__ENABLED
+* AIRFLOW__CODE_EDITOR__GIT_ENABLED
+* AIRFLOW__CODE_EDITOR__GIT_CMD
+* AIRFLOW__CODE_EDITOR__GIT_DEFAULT_ARGS
+* AIRFLOW__CODE_EDITOR__GIT_AUTHOR_NAME
+* AIRFLOW__CODE_EDITOR__GIT_AUTHOR_EMAIL
+* AIRFLOW__CODE_EDITOR__GIT_INIT_REPO
+* AIRFLOW__CODE_EDITOR__ROOT_DIRECTORY
+* AIRFLOW__CODE_EDITOR__LINE_LENGTH
+* AIRFLOW__CODE_EDITOR__STRING_NORMALIZATION
+* AIRFLOW__CODE_EDITOR__MOUNT, AIRFLOW__CODE_EDITOR__MOUNT1, AIRFLOW__CODE_EDITOR__MOUNT2, ...
+* AIRFLOW__CODE_EDITOR__IGNORED_ENTRIES
+
+Example:
+```
+ export AIRFLOW__CODE_EDITOR__STRING_NORMALIZATION=True
+ export AIRFLOW__CODE_EDITOR__MOUNT='name=data,path=/home/airflow/data'
+ export AIRFLOW__CODE_EDITOR__MOUNT1='name=logs,path=/home/airflow/logs'
+ export AIRFLOW__CODE_EDITOR__MOUNT2='name=tmp,path=/tmp'
+```
+
+### Development Instructions
+
+1. Fork the repo
+
+2. Clone it on the local machine
+
+ ```bash
+ git clone https://github.com/andreax79/airflow-code-editor.git
+ cd airflow-code-editor
+ ```
+
+3. Create and activate virtualenv
+
+ ```bash
+ source ./scripts/activate.sh
+ ```
+
+4. Switch node version
+
+ ```bash
+ nvm use
+ ```
+
+5. Make changes you need. Build npm package with:
+
+ ```bash
+ make npm-build
+ ```
+
+6. You can start Airflow webserver or scheduler with these commands:
+
+ ```bash
+ make standalone
+ ```
+
+7. Run tests
+
+ ```bash
+ make test
+ ```
+
+8. Commit and push changes
+
+ ```bash
+ git add .
+ git commit
+ git push
+ ```
+
+9. Create [pull request](https://github.com/andreax79/airflow-code-editor/compare) to the original repo
+
+### Links
+
+* [Apache Airflow](https://github.com/apache/airflow)
+* [Codemirror, In-browser code editor](https://github.com/codemirror/codemirror)
+* [Git WebUI, A standalone local web based user interface for git repositories](https://github.com/alberthier/git-webui)
+* [Black, The Uncompromising Code Formatter](https://github.com/psf/black)
+* [Vue.js](https://github.com/vuejs/vue)
+* [Vue-good-table, data table for VueJS](https://github.com/xaksis/vue-good-table)
+* [Vue-tree, TreeView control for VueJS](https://github.com/grapoza/vue-tree)
+* [Vue-universal-modal Universal modal plugin for Vue@3](https://github.com/hoiheart/vue-universal-modal)
+* [Vue-simple-context-menu](https://github.com/johndatserakis/vue-simple-context-menu)
+* [Splitpanes](https://github.com/antoniandre/splitpanes)
+* [Axios, Promise based HTTP client for the browser and node.js](https://github.com/axios/axios)
+* [PyFilesystem2, Python's Filesystem abstraction layer](https://github.com/PyFilesystem/pyfilesystem2)
+* [Amazon S3 PyFilesystem](https://github.com/PyFilesystem/s3fs)
+* [Google Cloud Storage PyFilesystem](https://github.com/Othoz/gcsfs)
+
+
+%package help
+Summary: Development documents and examples for airflow-code-editor
+Provides: python3-airflow-code-editor-doc
+%description help
+# Airflow Code Editor Plugin
+A plugin for [Apache Airflow](https://github.com/apache/airflow) that allows you to edit DAGs in browser.
+It provides a file managing interface within specified directories and it can be used to edit, upload, and download your files.
+If git support is enabled, the DAGs are stored in a Git repository. You may use it to view Git history, review local changes and commit.
+
+[![Build Status](https://github.com/andreax79/airflow-code-editor/workflows/Tests/badge.svg)](https://github.com/andreax79/airflow-code-editor/actions)
+[![PyPI version](https://badge.fury.io/py/airflow-code-editor.svg)](https://badge.fury.io/py/airflow-code-editor)
+[![PyPI](https://img.shields.io/pypi/pyversions/airflow-code-editor.svg)](https://pypi.org/project/airflow-code-editor)
+[![Downloads](https://pepy.tech/badge/airflow-code-editor/month)](https://pepy.tech/project/airflow-code-editor)
+[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
+
+### System Requirements
+
+* Airflow Versions
+ * 1.10.3 or newer
+* git Versions (git is not required if git support is disabled)
+ * 2.0 or newer
+
+### Screenshots
+
+#### File Manager
+
+![File Manager](https://user-images.githubusercontent.com/1288154/204994880-5a879cb4-e3f2-4939-a86b-81d9fe967500.png)
+
+#### Editor
+
+![Editor](https://user-images.githubusercontent.com/1288154/186698576-4fd8be33-169a-48a0-9c48-8ab942c5bc89.png)
+
+#### Git History
+
+![Git History - Tags](https://user-images.githubusercontent.com/1288154/186698589-f9342845-c819-4a7f-b1e0-92228016c1cd.png)
+
+#### Git Workspace
+
+![Git Workspace](https://user-images.githubusercontent.com/1288154/186698602-bf82b405-5df0-4a9d-ad49-03e3b22e20e6.png)
+
+### Install Instructions
+
+1. Install the plugin
+
+ ```bash
+ pip install airflow-code-editor
+ ```
+
+2. Install optional dependencies
+
+* black - Black Python code formatter
+* fs-s3fs - S3FS Amazon S3 Filesystem
+* fs-gcsfs - Google Cloud Storage Filesystem
+* ... other filesystems supported by PyFilesystem - see https://www.pyfilesystem.org/page/index-of-filesystems/
+
+ ```bash
+ pip install black fs-s3fs fs-gcsfs
+ ```
+
+3. Restart the Airflow Web Server
+
+4. Open Admin - DAGs Code Editor
+
+
+### Config Options
+
+You can set options editing the Airflow's configuration file or setting environment variables.
+You can edit your *airflow.cfg* adding any of the following settings in the \[code_editor\] section.
+All the settings are optional.
+
+* **enabled** enable this plugin (default: True).
+* **git_enabled** enable git support (default: True). If git is not installed, disable this option.
+* **git_cmd** git command (path)
+* **git_default_args** git arguments added to each call (default: -c color.ui=true)
+* **git_author_name** human-readable name in the author/committer (default logged user first and last names)
+* **git_author_email** email for the author/committer (default: logged user email)
+* **git_init_repo** initialize a git repo in DAGs folder (default: True)
+* **root_directory** root folder (default: Airflow DAGs folder)
+* **line_length** Python code formatter - max line length (default: 88)
+* **string_normalization** Python code formatter - if true normalize string quotes and prefixes (default: False)
+* **mount**, **mount1**, ... configure additional folder (mount point) - format: name=xxx,path=yyy
+* **ignored_entries** comma-separated list of entries to be excluded from file/directory list (default: .\*,\_\_pycache\_\_)
+
+```
+ [code_editor]
+ enabled = True
+ git_enabled = True
+ git_cmd = /usr/bin/git
+ git_default_args = -c color.ui=true
+ git_init_repo = False
+ root_directory = /home/airflow/dags
+ line_length = 88
+ string_normalization = False
+ mount = name=data,path=/home/airflow/data
+ mount1 = name=logs,path=/home/airflow/logs
+ mount2 = name=data,path=s3://example
+```
+
+Mount Options:
+
+* **name**: mount name (destination)
+* **path**: local path or PyFilesystem FS URLs - see https://docs.pyfilesystem.org/en/latest/openers.html
+
+Example:
+* name=ftp_server,path=ftp://user:pass@ftp.example.org/private
+* name=data,path=s3://example
+* name=tmp,path=/tmp
+
+You can also set options with the following environment variables:
+
+* AIRFLOW__CODE_EDITOR__ENABLED
+* AIRFLOW__CODE_EDITOR__GIT_ENABLED
+* AIRFLOW__CODE_EDITOR__GIT_CMD
+* AIRFLOW__CODE_EDITOR__GIT_DEFAULT_ARGS
+* AIRFLOW__CODE_EDITOR__GIT_AUTHOR_NAME
+* AIRFLOW__CODE_EDITOR__GIT_AUTHOR_EMAIL
+* AIRFLOW__CODE_EDITOR__GIT_INIT_REPO
+* AIRFLOW__CODE_EDITOR__ROOT_DIRECTORY
+* AIRFLOW__CODE_EDITOR__LINE_LENGTH
+* AIRFLOW__CODE_EDITOR__STRING_NORMALIZATION
+* AIRFLOW__CODE_EDITOR__MOUNT, AIRFLOW__CODE_EDITOR__MOUNT1, AIRFLOW__CODE_EDITOR__MOUNT2, ...
+* AIRFLOW__CODE_EDITOR__IGNORED_ENTRIES
+
+Example:
+```
+ export AIRFLOW__CODE_EDITOR__STRING_NORMALIZATION=True
+ export AIRFLOW__CODE_EDITOR__MOUNT='name=data,path=/home/airflow/data'
+ export AIRFLOW__CODE_EDITOR__MOUNT1='name=logs,path=/home/airflow/logs'
+ export AIRFLOW__CODE_EDITOR__MOUNT2='name=tmp,path=/tmp'
+```
+
+### Development Instructions
+
+1. Fork the repo
+
+2. Clone it on the local machine
+
+ ```bash
+ git clone https://github.com/andreax79/airflow-code-editor.git
+ cd airflow-code-editor
+ ```
+
+3. Create and activate virtualenv
+
+ ```bash
+ source ./scripts/activate.sh
+ ```
+
+4. Switch node version
+
+ ```bash
+ nvm use
+ ```
+
+5. Make changes you need. Build npm package with:
+
+ ```bash
+ make npm-build
+ ```
+
+6. You can start Airflow webserver or scheduler with these commands:
+
+ ```bash
+ make standalone
+ ```
+
+7. Run tests
+
+ ```bash
+ make test
+ ```
+
+8. Commit and push changes
+
+ ```bash
+ git add .
+ git commit
+ git push
+ ```
+
+9. Create [pull request](https://github.com/andreax79/airflow-code-editor/compare) to the original repo
+
+### Links
+
+* [Apache Airflow](https://github.com/apache/airflow)
+* [Codemirror, In-browser code editor](https://github.com/codemirror/codemirror)
+* [Git WebUI, A standalone local web based user interface for git repositories](https://github.com/alberthier/git-webui)
+* [Black, The Uncompromising Code Formatter](https://github.com/psf/black)
+* [Vue.js](https://github.com/vuejs/vue)
+* [Vue-good-table, data table for VueJS](https://github.com/xaksis/vue-good-table)
+* [Vue-tree, TreeView control for VueJS](https://github.com/grapoza/vue-tree)
+* [Vue-universal-modal Universal modal plugin for Vue@3](https://github.com/hoiheart/vue-universal-modal)
+* [Vue-simple-context-menu](https://github.com/johndatserakis/vue-simple-context-menu)
+* [Splitpanes](https://github.com/antoniandre/splitpanes)
+* [Axios, Promise based HTTP client for the browser and node.js](https://github.com/axios/axios)
+* [PyFilesystem2, Python's Filesystem abstraction layer](https://github.com/PyFilesystem/pyfilesystem2)
+* [Amazon S3 PyFilesystem](https://github.com/PyFilesystem/s3fs)
+* [Google Cloud Storage PyFilesystem](https://github.com/Othoz/gcsfs)
+
+
+%prep
+%autosetup -n airflow-code-editor-7.2.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-airflow-code-editor -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 7.2.1-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..e247b35
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b3389a43b16a9da90d56c321b10ffd21 airflow_code_editor-7.2.1.tar.gz