Metadata-Version: 2.4
Name: pyplines
Version: 2026.9.13a2
Summary: core pyplines library and sdk
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: packaging>=25.0
Requires-Dist: pydantic>=2.12.5
Provides-Extra: dataframe
Requires-Dist: polars<2,>=1.38; extra == "dataframe"

# Pyplines Python Library

The Pyplines Python library provides the Action author SDK and invocation shim.
The separate `pyplines-builder` application builds images and Distributions.

```python
from pyplines import Context, Input, Output


class GreetingInput(Input):
    name: str


class GreetingOutput(Output):
    message: str


def handler(i: GreetingInput, ctx: Context) -> GreetingOutput:
    ctx.log.info("Building greeting", name=i.name)
    return GreetingOutput(message=f"Hello, {i.name}!")
```

Action projects use a standard Python build backend such as setuptools and
declare exactly one `handler` entry point in `[project.entry-points."pyplines.action"]`.
`pyplines-builder` installs the package and this SDK inside the target image,
validates the handler, and embeds its input/output schemas. The former Action
Package build backend has been retired to `legacy/action-builder/sdk-package`.
See `examples/v1alpha1/distributions/hello-world` for the current authoring shape.

The public author API is:

```python
from pyplines import ArtifactRef, Context, Error, Input, Output
```
