Metadata-Version: 2.4
Name: openconstruct
Version: 0.1.0
Summary: Python thin client for OpenConstruct - SuperInstance ecosystem onboarding
Author-email: SuperInstance <contact@superinstance.dev>
Project-URL: Homepage, https://github.com/SuperInstance/openconstruct-python
Project-URL: Repository, https://github.com/SuperInstance/openconstruct-python
Project-URL: Issues, https://github.com/SuperInstance/openconstruct-python/issues
Keywords: openconstruct,agent,onboarding,superinstance
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Dynamic: license-file

# OpenConstruct Python — Thin Client for Agent Onboarding

Python client for [OpenConstruct](https://github.com/SuperInstance/OpenConstruct). Onboard agents into the SuperInstance ecosystem in under 10 lines.

## What This Gives You

- **5-phase onboarding** — `start()` → `declare_agent()` → `select_modules()` → `choose_interface()` → `generate_config()`
- **Module registry** — domain-filtered catalog of available modules
- **Pip-installable** — `pip install openconstruct`
- **Zero runtime dependencies** — pure Python, no native extensions

## Quick Start

```python
from openconstruct import OpenConstructClient, AgentIdentity

client = OpenConstructClient()
client.start()

identity = AgentIdentity(
    name="my-agent",
    model="claude-4",
    capabilities=["code_generation", "web_search", "file_ops"],
    tools=["exec", "read", "write"]
)
client.declare_agent(identity)

modules = client.list_modules(domain="math")
client.select_modules(["spectral-graph-core", "plato-room"])
client.choose_interface(["cli", "api"])

config = client.generate_config()
print(config)
```

## Installation

```bash
pip install openconstruct
```

## Testing

```bash
pip install -e ".[dev]"
pytest
```

## How It Fits

One of the [polyglot OpenConstruct bindings](https://github.com/SuperInstance/OpenConstruct). Used by [openconstruct-jupyter](https://github.com/SuperInstance/openconstruct-jupyter) for notebook integration. See [openconstruct-examples](https://github.com/SuperInstance/openconstruct-examples) for a Python onboarding walkthrough.

## License

MIT
