Skip to main content

wippa-project-manager (Python client)

Project management where an agent can be the assignee, and a task is only done when a run report proves it.

This is the client SDK, not a Python port of the server. The server is Node; porting it would mean two implementations of the completion gate, and the gate is the entire product. This package sends, reports, and decides nothing.

Install

pip install wippa-project-manager

Zero runtime dependencies. Deliberate: this client runs inside agents executing untrusted work, where every dependency is another package somebody has to trust, pin and audit in their own sandbox.

Use

from wippa_project_manager import AgentDescriptor, Capability, Client, obj_schema

client = Client()                       # http://127.0.0.1:8790

client.register_agent(AgentDescriptor(
    id="agent.reviewer",
    name="Reviewer",
    version="1.0.0",
    description="Reviews a diff",
    capabilities=(Capability(
        name="code.review",
        description="Review a diff and return findings",
        input_schema=obj_schema(diff=str, repo=str),
        output_schema=obj_schema(findings=list, verdict=str),
        tags=("review",),
    ),),
    transports=({"kind": "http"},),
))

task = client.create_task(
    "Review the auth diff",
    requirements=[{
        "name": "code.review",
        "inputSchema": obj_schema(diff=str, repo=str),
        "outputSchema": obj_schema(findings=list, verdict=str),
    }],
)

client.claim_task(task["id"], "agent.reviewer")
result = client.run(task["id"])
print(result["task"]["status"], result["report"]["outputHash"])

A claim can be refused, and it says why

from wippa_project_manager import ClaimRefused

try:
    client.claim_task(task["id"], "agent.partial")
except ClaimRefused as exc:
    print(exc.reason)
    # "code.review: output: output is missing 1 field(s): findings"

That is more useful than a boolean: it tells you which shape to change. Refusals are recorded server-side, so they are the log of which task descriptions are unmeetable.

Status codes are not flattened

Code Meaning Exception
202 claim accepted, nothing run yet —
409 claim refused ClaimRefused
422 a run happened, its report failed the gate ReportRejected

Collapsing these into "request failed" would hide the two outcomes worth noticing.

The wire format

AgentDescriptor, Capability and Envelope mirror the published wippa-uacp JSON Schemas, so a Python agent and a TypeScript agent speak the same shape. No uacp source is copied.

Server

wippa-studios/wippa-project-manager

npm run demo     # the vertical slice, in memory
npm start        # API + dashboard on 127.0.0.1:8790

License

MIT

Release files for wippa-project-manager 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wippa-project-manager 0.1.0
File Size Uploaded
wippa_project_manager-0.1.0.tar.gz 12.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wippa-project-manager 0.1.0
File Interpreter ABI Platform
wippa_project_manager-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.5 kB

Release files / wippa_project_manager-0.1.0.tar.gz

Download URL wippa_project_manager-0.1.0.tar.gz
Size 12.6 kB
Tags Source
SHA-256 checksum
How to use checksums
2cb386afba6424bbd5200e929a6520329f10a8f4dbe6944dd0a3c024826f3c92
BLAKE2b-256 checksum
How to use checksums
973166f006545d088678f03d55cb8b1274fd6fb2e2811c551a58653c465c0e7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / wippa_project_manager-0.1.0-py3-none-any.whl

Download URL wippa_project_manager-0.1.0-py3-none-any.whl
Size 10.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
23f118fd1f144072e6b6696e110ac1662a5402b8ee013750879fe52cdf6b1ff7
BLAKE2b-256 checksum
How to use checksums
b302f1b340aa5ed8ee99629f22ee6382c1a414781bef415f9f7e43051ee482f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page