Skip to main content

No project description provided

Project description

Py-Automator - Declarative CLI Automation Framework

Python Version License

Supported Platforms

Windows macOS Linux

Overview | What is Py-Automator? | Features | Installation | Build | Defining Commands | License

[!IMPORTANT] 📣 As of March 2025 Py-Automator is still in early development. 📣

Py-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 Py-Automator?

Py-Automator is a modern Python framework for building declarative command-line interfaces
with nested subcommands, designed for automation workflows and build systems.

Py-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 Py-Automator

pip install py-automator

Build

Py-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

task_automator-0.1.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

task_automator-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file task_automator-0.1.0.tar.gz.

File metadata

  • Download URL: task_automator-0.1.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.11.9 Windows/10

File hashes

Hashes for task_automator-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d31f66956f5a785c8808ffa984d783d546af3f92dc0ab2ce707ed68a9930e198
MD5 a79e7fe9088616075751f084db68de23
BLAKE2b-256 139f24296b77354abf5f88f94aa17769f7dd7e1a645f07b850f2518e1da50ed3

See more details on using hashes here.

File details

Details for the file task_automator-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: task_automator-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.11.9 Windows/10

File hashes

Hashes for task_automator-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4a484cc53d3dcf766594227fc14ceb164483de6f5785baf02ae9a7b031e7a71b
MD5 ff6fae0d1462593687e3c056e57fa6ec
BLAKE2b-256 20a4aad5490008406e561982d6e068e277649d0760e767347f8e3168f56c2152

See more details on using hashes here.

Supported by

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