[
https://issues.apache.org/jira/browse/COMDEV-462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jiajie Zhong updated COMDEV-462:
--------------------------------
Description:
Up to now, Apache DolphinScheduler Python API has CLI only with limited command
supported and our community wishes it to become a more powerful tool and
support as much command as possible(unless command has security issue).
It only supports `version` and `config` for now, which you could see more
detail in [1]
Basically, we think the following command is helpful for CLI and you could add
other command if it should be added(but may sure after discuss in community):
* `run <DAG name> [--example]`: Run local workflow DAG file or examples
build-in
* `users`: User's operation, CURD
* `projects`: Project's operation, CURD, grant to other users
* `tenants`: Tenant's operation, CURD
* `workflow`: Workflow's operation, CURD, name change, should also change the
local Python file name
* `visualize`: Show task graph in the terminal.
* etc...
Besides the functional addition, we should also consider the output part of CLI
which makes our output more clear and cool. We *{*}may{*}* consider using (we
should also find other interesting packages to do it):
* rich: For highlight, our output, or using some existing rich plugin like
`click-rich`
* tabulate: For the tables visualization in terminal
If you want to take this ticket, you should
* (Must) Python skill, especially packages click, pytest and etc.
* Have a little knowledge of task scheduling systems.
* (Optional) Basic Java knowledge is better because Apache DolphinScheduler
core is written with Java and you may add some functional code to it.
[1]: [https://dolphinscheduler.apache.org/python/cli.html]
[2]: [https://github.com/Textualize/rich]
[3]: [https://github.com/astanin/python-tabulate]
was:
Up to now, Apache DolphinScheduler Python API has CLI only with limited command
supported and our community wishes it to become a more powerful tool and
support as much command as possible(unless command has security issue).
It only supports `version` and `config` for now, which you could see more
detail in [https://dolphinscheduler.apache.org/python/cli.html]
Basicly, we think the following comand is helpful for CLI:
* `run <DAG name> [--example]`: Run local workflow DAG file or examples
build-in
* `users`: User's operation, CURD
* `projects`: Project's operation, CURD, gant to other user
* `tenants`: Tenant's operation, CURD
* `workflow`: Workflow's operation, CURD, name change, should also change the
local Python file name
* `visualize`: Show task graph in the terminal.
* etc...
Beside the functional addtion, we should also consider the output part of CLI
which make our output more clear and cool. We **may** consider using (we should
also find other interested package to do it):
* [rich|[https://github.com/Textualize/rich]:] For highlight our output, or
using some exists rich plugin like `click-rich`
* [tabulate|[https://github.com/astanin/python-tabulate]:] For the tables
visualization in terminal
If you want to take this ticket, you should better be comfortable with Python,
have a little knowledge of task scheduling systems. And because Apache
DolphinScheduler core written with Java, basic java knowledge is better.
> [DolphinScheduler] Python API CLI enhancement
> ---------------------------------------------
>
> Key: COMDEV-462
> URL: https://issues.apache.org/jira/browse/COMDEV-462
> Project: Community Development
> Issue Type: Task
> Components: GSoC/Mentoring ideas
> Reporter: Jiajie Zhong
> Priority: Major
> Labels: DolphinScheduler, full-time, gsoc2022
>
> Up to now, Apache DolphinScheduler Python API has CLI only with limited
> command supported and our community wishes it to become a more powerful tool
> and support as much command as possible(unless command has security issue).
> It only supports `version` and `config` for now, which you could see more
> detail in [1]
> Basically, we think the following command is helpful for CLI and you could
> add other command if it should be added(but may sure after discuss in
> community):
> * `run <DAG name> [--example]`: Run local workflow DAG file or examples
> build-in
> * `users`: User's operation, CURD
> * `projects`: Project's operation, CURD, grant to other users
> * `tenants`: Tenant's operation, CURD
> * `workflow`: Workflow's operation, CURD, name change, should also change
> the local Python file name
> * `visualize`: Show task graph in the terminal.
> * etc...
> Besides the functional addition, we should also consider the output part of
> CLI which makes our output more clear and cool. We *{*}may{*}* consider using
> (we should also find other interesting packages to do it):
> * rich: For highlight, our output, or using some existing rich plugin like
> `click-rich`
> * tabulate: For the tables visualization in terminal
> If you want to take this ticket, you should
> * (Must) Python skill, especially packages click, pytest and etc.
> * Have a little knowledge of task scheduling systems.
> * (Optional) Basic Java knowledge is better because Apache DolphinScheduler
> core is written with Java and you may add some functional code to it.
>
> [1]: [https://dolphinscheduler.apache.org/python/cli.html]
> [2]: [https://github.com/Textualize/rich]
> [3]: [https://github.com/astanin/python-tabulate]
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]