[ 
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: dev-unsubscr...@community.apache.org
For additional commands, e-mail: dev-h...@community.apache.org

Reply via email to