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

rubric.jsonevals/scenario-1/

{
  "context": "This criteria evaluates how well the engineer uses Invoke's hierarchical configuration system with multiple file formats. It focuses on proper usage of configuration loading, accessing config values using both dictionary and attribute notation, and utilizing the --config flag for environment-specific overrides.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Task decorator usage",
      "description": "Uses the @task decorator from invoke to define both show_config and deploy functions, with proper Context parameter (c)",
      "max_score": 15
    },
    {
      "name": "YAML config files",
      "description": "Creates invoke.yaml with the specified structure (app.name, app.port, app.debug, deploy.timeout, deploy.backup) and production.yaml with proper overrides",
      "max_score": 15
    },
    {
      "name": "Config access methods",
      "description": "Accesses configuration values using both dictionary-style (c.config['app']['port']) and attribute-style (c.config.app.port) notation within tasks",
      "max_score": 25
    },
    {
      "name": "Config override mechanism",
      "description": "Demonstrates that the --config flag (e.g., invoke --config production.yaml show-config) successfully loads and overrides default configuration values",
      "max_score": 20
    },
    {
      "name": "Hierarchical config display",
      "description": "The show_config task properly retrieves and displays nested configuration values (app.name, app.port, app.debug) from the hierarchical config structure",
      "max_score": 15
    },
    {
      "name": "Config in task logic",
      "description": "The deploy task uses configuration values (app.name, app.port) in its implementation to demonstrate practical usage of config within task execution",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-invoke

tile.json