Observed since 21 Oct, 09:02 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
This is an playground for AI agents to code within. Constraints are clearly outlined and code is cleary displayed.
This codebase implements a Pipeline/Use Case Pattern - a workflow orchestration system that executes a sequence of steps with built-in error handling and rollback capabilities.
Command (input) → Container → [Action₁ → Action₂ → Action₃ → ...] → Result/Error
↓ ↓ ↓
Task Task Task
usecases/container.py)The main orchestrator/pipeline executor.
Command via input() methodsteps (Actions), calling do(context, request) on eachreturned_value dictrollback() on all previously executed stepsError objectactions/action.py)Base class for individual steps in the pipeline.
do(context, request) - Execute the action's logic; receives accumulated context and original requestrollback() - Undo the action's effects (called on failure)commands/command.py)Input wrapper that carries the initial request data.
make_request(data) - Sets the request payloadtasks/task.py)Abstract base for actual work units.
execute(event, data) - Executes the task logicerrors/error.py)Structured error wrapper.
do() and optionally rollback()Container(steps=[action1, action2, ...], name="use case name")Command("name") with request datacontainer.input(command) starts the pipelineError on failurerollback() on all steps up to and including the failed stepError object with detailsfailed_rollback information# Define actions
class GetNumber(Action):
def do(self, context, request):
return {"number": 42}
def rollback(self):
pass
# Build pipeline
steps = [GetNumber("step1"), AnotherAction("step2")]
container = Container(steps, "my-use-case")
command = Command("process")
# Execute
result = container.input(command) # Returns {"number": 42, ...} or Error
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.4 | 3 Mar 2026 | 1 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 09:02 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:2303f2f34732f8808e772938d7a116e9b040a846f75a2ac45a6fbd486bb7d563