Metadata-Version: 2.4
Name: k8s-agent-sandbox-base
Version: 0.5.3.post16
Summary: A client library to interact with the Agentic Sandbox on Kubernetes (seamed republish).
Project-URL: Homepage, https://github.com/kubernetes-sigs/agent-sandbox
Project-URL: Bug Tracker, https://github.com/kubernetes-sigs/agent-sandbox/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: kubernetes
Requires-Dist: requests
Requires-Dist: pydantic
Requires-Dist: prometheus-client
Provides-Extra: async
Requires-Dist: httpx; extra == "async"
Requires-Dist: kubernetes_asyncio<34.0.0; extra == "async"
Provides-Extra: tracing
Requires-Dist: opentelemetry-api~=1.39.0; extra == "tracing"
Requires-Dist: opentelemetry-sdk~=1.39.0; extra == "tracing"
Requires-Dist: opentelemetry-exporter-otlp~=1.39.0; extra == "tracing"
Requires-Dist: opentelemetry-instrumentation-requests~=0.60b0; extra == "tracing"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-xdist; extra == "test"
Requires-Dist: pytest-asyncio; extra == "test"
Requires-Dist: httpx; extra == "test"
Requires-Dist: kubernetes_asyncio<34.0.0; extra == "test"
Dynamic: license-file

# k8s-agent-sandbox-base

A faithful re-publish of the upstream [`k8s-agent-sandbox`][upstream] Python
client, pinned to base commit `d0a2213` (`v0.5.3-16-gd0a2213`), plus **two small
extension seams** that make the client subclass-friendly without editing any other
upstream file.

The distribution name is `k8s-agent-sandbox-base`, but the **import package name
is unchanged**:

```python
pip install k8s-agent-sandbox-base
import k8s_agent_sandbox  # same as upstream
```

## Why this exists

It lets a downstream overlay extend the client without forking or editing upstream
sources — so upstream upgrades never merge-conflict with the overlay. See the
companion package [`k8s-agent-sandbox-awx`](https://pypi.org/project/k8s-agent-sandbox-awx/),
which uses these seams to provide a broker-backed, kubeconfig-free control plane.

## What differs from upstream

Only `k8s_agent_sandbox/sandbox_client.py` is modified, with two changes that are
no-ops for the default Kubernetes path:

1. A `_build_k8s_helper()` factory (default returns `K8sHelper()`), called from
   `__init__`, so subclasses can supply their own helper.
2. `_create_claim()` returns the helper's created-claim name, and
   `create_sandbox()` adopts that return value.

Everything else is a verbatim re-vendor of the base commit. See `NOTICE` for full
attribution.

## License

Apache-2.0 — see `LICENSE` and `NOTICE`.

[upstream]: https://github.com/kubernetes-sigs/agent-sandbox
