diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-10 15:36:07 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 15:36:07 +0000 |
commit | 29039405e7acf518c521701474bbf8263f1169a4 (patch) | |
tree | baad0d8f12e282fa62342a6df6eaea90d9a483e5 | |
parent | 0675b4d32bf7b3c90a39cb96d0c2d67bddaa3085 (diff) |
automatic import of python-airflow-code-editor
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-airflow-code-editor.spec | 657 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 659 insertions, 0 deletions
@@ -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. + +[](https://github.com/andreax79/airflow-code-editor/actions) +[](https://badge.fury.io/py/airflow-code-editor) +[](https://pypi.org/project/airflow-code-editor) +[](https://pepy.tech/project/airflow-code-editor) +[](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 + + + +#### Editor + + + +#### Git History + + + +#### Git Workspace + + + +### 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. + +[](https://github.com/andreax79/airflow-code-editor/actions) +[](https://badge.fury.io/py/airflow-code-editor) +[](https://pypi.org/project/airflow-code-editor) +[](https://pepy.tech/project/airflow-code-editor) +[](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 + + + +#### Editor + + + +#### Git History + + + +#### Git Workspace + + + +### 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. + +[](https://github.com/andreax79/airflow-code-editor/actions) +[](https://badge.fury.io/py/airflow-code-editor) +[](https://pypi.org/project/airflow-code-editor) +[](https://pepy.tech/project/airflow-code-editor) +[](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 + + + +#### Editor + + + +#### Git History + + + +#### Git Workspace + + + +### 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 @@ -0,0 +1 @@ +b3389a43b16a9da90d56c321b10ffd21 airflow_code_editor-7.2.1.tar.gz |