Tool to call tasks by arguments defined easily
Project description
ArgumentTasks
This library helps you to call easily defined tasks for your project, all you need to do is create a file
for your tasks and a yml
with their description.
Example
- Let's say you want to create a task for your project that welcomes people to your app, in this case, 'ArgumentTasks lib'. To do that you need to import
Interface
class from the library and instantiate it as follows:
from argument_tasks import Interface
from example_data import methods
SOURCE_YML_FILE = open("example_data/tasks.yml", "r")
Interface(SOURCE_YML_FILE, methods).run()
As you can see, we have defined a folder example_data
that contains a yml
file where the tasks are defined, and a methods
file where the task's code is defined. Finally, the output for the code above is the text the hello_arg
method from the methods file is printing.
Hello from ArgumentTasks lib!
Now, the methods defined are normal functions that must contain the parameter **kwargs
. Bellow is the methods
file code imported in the example.
def hello_arg(**kwargs):
print("Hello from ArgumentTasks lib!")
There's also a necessary yml
file in the example called tasks.yml where the tasks are defined. Below is the file code used in the example.
hello:
action: hello_arg
values: []
As you can see the file has a certain structure, here is an example of it.
<command_name: str>:
action: <method_name: str>
values:
-
name: <arg_name: str>
type: <arg_type: python_class>
required: <whether_arg_is_required: bool>
description: <arg_description: str>
Cheers 👍
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for argument_tasks-0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db7fefa7e220a3870186ffb5722cc550b912f924fa4e6a94a69642463303c3e4 |
|
MD5 | 595ba51644bea7b77bf455340bf10ef2 |
|
BLAKE2b-256 | 77df8dd60cc4594b453364ecd1ef70016cd20884e0364bf6d7465ef24b8558b1 |