A functional interface for creating doit tasks
Project description
This package provides a functional interface for reducing boilerplate in dodo.py
of the pydoit build system. In short, all tasks are created and managed using a doit_interface.Manager
. Most functionality is exposed using python context manager, e.g., grouping tasks.
Example
>>> import doit_interface as di
>>> manager = di.Manager.get_instance()
>>> # Create a single task.
>>> manager(basename="create_foo", actions=["touch foo"], targets=["foo"])
{'basename': 'create_foo', 'actions': ['touch foo'], 'targets': ['foo'], ...}
>>> # Group multiple tasks.
>>> with di.group_tasks("my_group") as my_group:
... manager(basename="member")
{'basename': 'member', ...}
>>> my_group
group `my_group` with 1 task
>>> # Show the task we implicitly constructed using `group_tasks`.
>>> dict(my_group)
{'basename': 'my_group', 'actions': [], 'task_dep': ['member'], ...}
Interface
doit_interface
:members:
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
doit_interface-0.1.2.tar.gz
(8.5 kB
view hashes)