(Created page with "= Task for volunteers = '''Complexity''': approx. 20h '''Contact person:''' Honza Horak <hhorak AT redhat.com> '''Description:''' Get familiar with [http://devassistant.org...") |
No edit summary |
||
Line 8: | Line 8: | ||
'''Description:''' | '''Description:''' | ||
Get familiar with [http://devassistant.org/ DevAssistant] project and implement a new assistant for Python CLI. This assistant would be used when somebody wants to implement a new CLI tool written in Python 3. | Get familiar with [http://devassistant.org/ DevAssistant] project, it's language for writing assistant plug-ins and implement a new assistant plug-in for ''Python CLI application''. This assistant would be used when somebody wants to implement a new ''CLI tool written in Python 3''. | ||
This assistant should work similar to Python lib assistant, but result should be a mockup application in Python, not library. This simple application should: | This assistant should work similar to ''Python lib assistant'', but the result should be a mockup application in Python, not only a library. This simple application should: | ||
* | * generate proper setup.py and other usual Python project files (README.md, LICENSE and at least one Python script that would be installed into standard Python 3 directory with an entry script in /usr/bin -- all handled by setup.py) | ||
* parse example arguments from the command-line (it should use some library for that; example arguments have longer and shorter variant) | * parse few example arguments from the command-line (it should use some library for that; example arguments should have longer and shorter variant; one argument pair accepts additional argument, one would be used without additional argument) | ||
* read from `stdin` or file if the last argument is | * read input from `stdin` or file if the last argument is a path | ||
* | * print some output into `stdout`, unless -o [file] option is specified -- in this case it writes output to the given file | ||
* optionally the mockup application could include dynamically loaded modules, so it would be easily extensible | * optionally the mockup application could include dynamically loaded modules, so it would be easily extensible | ||
The bigger part of this task is preparing the mockup application, implementing the DevAssistant plugin should be very similar to existing Python lib plugin. |
Latest revision as of 07:54, 19 September 2014
Task for volunteers
Complexity: approx. 20h
Contact person: Honza Horak <hhorak AT redhat.com>
Description: Get familiar with DevAssistant project, it's language for writing assistant plug-ins and implement a new assistant plug-in for Python CLI application. This assistant would be used when somebody wants to implement a new CLI tool written in Python 3.
This assistant should work similar to Python lib assistant, but the result should be a mockup application in Python, not only a library. This simple application should:
- generate proper setup.py and other usual Python project files (README.md, LICENSE and at least one Python script that would be installed into standard Python 3 directory with an entry script in /usr/bin -- all handled by setup.py)
- parse few example arguments from the command-line (it should use some library for that; example arguments should have longer and shorter variant; one argument pair accepts additional argument, one would be used without additional argument)
- read input from
stdin
or file if the last argument is a path - print some output into
stdout
, unless -o [file] option is specified -- in this case it writes output to the given file - optionally the mockup application could include dynamically loaded modules, so it would be easily extensible
The bigger part of this task is preparing the mockup application, implementing the DevAssistant plugin should be very similar to existing Python lib plugin.