CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-invoke

Pythonic task execution library for managing shell-oriented subprocesses and organizing executable Python code into CLI-invokable tasks

Overall
score

96%

Overview
Eval results
Files

task.mdevals/scenario-6/

Build Automation Task Manager

A command-line task automation tool for managing build and deployment workflows. The tool should organize tasks into logical namespaces for different stages of the software development lifecycle.

Requirements

Task Organization

The tool must support organizing tasks into a hierarchical namespace structure with the following categories:

  • build namespace: Contains tasks for building the application

    • compile: Compiles the source code (prints "Compiling source code...")
    • bundle: Creates production bundle (prints "Creating production bundle...")
  • test namespace: Contains tasks for testing

    • unit: Runs unit tests (prints "Running unit tests...")
    • integration: Runs integration tests (prints "Running integration tests...")
  • deploy namespace: Contains tasks for deployment

    • staging: Deploys to staging environment (prints "Deploying to staging...")
    • production: Deploys to production environment (prints "Deploying to production...")

Command-Line Interface

Users should be able to:

  1. List all available tasks showing the namespace hierarchy
  2. Execute tasks using dotted notation (e.g., build.compile, test.unit, deploy.production)
  3. See help information for the tool

Implementation Details

  • Each task should accept a context parameter
  • Tasks should print their status message when executed
  • The tool should be executable from the command line
  • Support standard CLI arguments like --list to show all tasks

Test Cases

  • Listing tasks shows all namespaces and their tasks in a hierarchical structure @test
  • Executing build.compile prints "Compiling source code..." @test
  • Executing test.unit prints "Running unit tests..." @test
  • Executing deploy.staging prints "Deploying to staging..." @test

@generates

API

# Task definitions should be organized into namespaces
# The tool should be invokable from the command line with:
#   python task_manager.py --list
#   python task_manager.py build.compile
#   python task_manager.py test.unit
#   python task_manager.py deploy.production

Dependencies { .dependencies }

invoke { .dependency }

Provides task automation and CLI capabilities.

Install with Tessl CLI

npx tessl i tessl/pypi-invoke

tile.json