# pllm.plan Python API

Public objects, practical usage, and research context for pllm.plan.

[View canonical HTML](https://pllm.run/sdk/reference/python/pllm/plan/)

Document ID: `pllm.docs.reference.python.pllm.plan`  
Release: `0.1.0`

Plan records and locks bind semantic, numeric, privacy, and deployment decisions into immutable digest-addressed documents. Presence documents API availability, not complete model, security, or deployment coverage; check [implementation status](/sdk/reference/status/) before relying on a path.

## Research context

This API is project infrastructure rather than an implementation of one specific paper. Relevant method pages link their primary sources separately.

## Python SDK example

The example performs a bounded offline task and checks an observable result. It does not download a checkpoint or contact a provider.

```python
import pllm.plan as plan

try:
    plan.CompiledPlan(object())
except TypeError as error:
    rejected = "handle must come from pllm.compile" in str(error)
else:
    rejected = False
assert rejected
```

API: [`pllm.plan`](/sdk/reference/python/pllm/plan/#objects-and-signatures)

## Objects and signatures

### `CompiledPlan`

Opaque compiled plan exposing records but no execution methods.

- Canonical object: `pllm.plan.CompiledPlan`
- Kind: `class`
- Signature/type: `not publicly constructible`
- Public exports: `pllm.CompiledPlan`, `pllm.plan.CompiledPlan`
- Public members: `__new__(cls) -> Never`; `property logical_plan: bytes`; `property execution_plan: bytes`; `property plan_lock: bytes`; `property region_program: bytes`; `property configuration_digest: str`; `property logical_plan_digest: str`; `property execution_plan_digest: str`; `property plan_lock_digest: str`; `property input_shape: tuple[int, ...]`; `property output_shape: tuple[int, ...]`
