Skip to main content

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

  1. 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

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

argument-tasks-0.1.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

argument_tasks-0.1-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page