Task-Automator is a modern Python framework for building declarative command-line interfaces with nested subcommands, designed for automation workflows and build systems.
Project description
Task-Automator - Declarative CLI Automation Framework
Supported Platforms
Overview | What is Task-Automator? | Features | Installation | Build | Defining Commands | License
[!IMPORTANT] 📣 As of March 2025 Task-Automator is still in early development. 📣
Task-Automator is a best-effort open project library. This means that support is not guaranteed and how long the project will be maintained is unknown.
What is Task-Automator?
Task-Automator is a modern Python framework for building declarative command-line interfaces
with nested subcommands, designed for automation workflows and build systems.
Task-Automator is implemented in pure Python that enables scripting of more complicated tasks.
Features
- 🚀 Declarative Command Tree - Define CLI structure through simple nested dictionaries
- 🛠 Zero Boilerplate - Focus on business logic, not argument parsing
- 📚 Automatic Help Generation - Built-in help system with hierarchical documentation
- 🌳 Hierarchical Commands - Support for unlimited nested subcommands
- 🖥 Cross-Platform - Works on Windows, Linux, and macOS
Installation
You can use pip to install Task-Automator
pip install task-automator
Build
Task-Automator uses Poetry for its build process. To build the wheel file and source distribution run:
poetry build
Defining Commands
Create your command structure in a Python module:
...
def setup_dev_env():
"""Initialize development environment"""
print("Installing dependencies...")
AUTOMATION_TREE = {
"setup-dev-env": {
"help": "Initialize development environment",
"func": setup_dev_env
},
"build": {
"help": "Build artifacts",
"subcommands": {
"win-package": {
"help": "Create Windows deployment package",
"func": build_windows_package
},
"setup-exe": {
"help": "Generate installer executable",
"func": create_installer
}
}
}
}
if __name__ == "__main__":
from task_automator import automator
automator.Automator(AUTOMATION_TREE).run()
License
This project is licensed under the BSD-3 License - see the LICENSE file for details.
Project details
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file task_automator-0.1.1.tar.gz.
File metadata
- Download URL: task_automator-0.1.1.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.11.9 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5819c71b73df407af718bdc1950ee129103c4323c38356fd40c9f2f1838821b5
|
|
| MD5 |
a0a19946be5ef876d9eb91003e18fda2
|
|
| BLAKE2b-256 |
a1594284f3c812fe2a39582f1b3af2d7f9189a01ea9e09f2e137cd6801c09b67
|
File details
Details for the file task_automator-0.1.1-py3-none-any.whl.
File metadata
- Download URL: task_automator-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.1 CPython/3.11.9 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6064f453724f7003ffedc7813aa945bbf5456a9aa544ba3a276e819a7572228
|
|
| MD5 |
7997b6e3b1c7d0b60e7067d40778bcd3
|
|
| BLAKE2b-256 |
aae3dbde3e727c92e1d54a1c2e6ef026563aaf1cd33d4be0faa07bd4520622c7
|