Metadata-Version: 2.4
Name: sysmlv2copilot
Version: 0.2.5
Summary: Internal Python client SDK and CLI for the SysML refinement API used by the Visual Design and Engineering Lab at Carnegie Mellon University
Author: Chance LaVoie
License-Expression: MIT
Project-URL: Homepage, https://github.com/cmuchancel/sysmlv2copilot
Project-URL: Repository, https://github.com/cmuchancel/sysmlv2copilot
Project-URL: Issues, https://github.com/cmuchancel/sysmlv2copilot/issues
Project-URL: Documentation, https://github.com/cmuchancel/sysmlv2copilot/tree/main/docs
Keywords: sysml,sysmlv2,api-client,sdk,llm
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx<1,>=0.28
Requires-Dist: pydantic<3,>=2.7
Provides-Extra: server
Requires-Dist: alembic<2,>=1.14; extra == "server"
Requires-Dist: anthropic<1,>=0.84; extra == "server"
Requires-Dist: fastapi<1,>=0.116; extra == "server"
Requires-Dist: openai<2,>=1.0; extra == "server"
Requires-Dist: psycopg[binary]<4,>=3.2; extra == "server"
Requires-Dist: pydantic-settings<3,>=2.7; extra == "server"
Requires-Dist: python-dotenv<2,>=1.0; extra == "server"
Requires-Dist: sqlalchemy<3,>=2.0; extra == "server"
Requires-Dist: uvicorn<1,>=0.35; extra == "server"
Provides-Extra: admin
Requires-Dist: pandas<3,>=2.2; extra == "admin"
Requires-Dist: streamlit<2,>=1.45; extra == "admin"
Provides-Extra: dev
Requires-Dist: build<2,>=1.2; extra == "dev"
Requires-Dist: pytest<9,>=8.3; extra == "dev"
Requires-Dist: twine<7,>=5; extra == "dev"
Dynamic: license-file

# sysmlv2copilot

`sysmlv2copilot` is the Python SDK and CLI for the SysML Copilot service used by the Visual Design and Engineering Lab at Carnegie Mellon University.

This package is for authorized internal users. Installing it does not by itself grant service access.

## What Users Can Do

- Generate SysML from text requirements
- Repair existing SysML
- Use either Python or the command line

## Install

```bash
python -m pip install sysmlv2copilot
```

## Authentication

Set your API key once:

```bash
export SYSMLV2COPILOT_API_KEY=sysml_live_...
```

Or pass it directly in code.

## Python

Generate SysML:

```python
from sysmlv2copilot import generate

sysml = generate("Design a compact warehouse inspection drone that can hover for 15 minutes.")
print(sysml)
```

Repair SysML:

```python
from pathlib import Path

from sysmlv2copilot import repair

repaired = repair(Path("broken.sysml"))
print(repaired)
```

You can pass:
- raw strings
- `Path` objects
- path strings like `"broken.sysml"` or `"requirements.html"`
- open text files

## CLI

Generate SysML from inline text:

```bash
sysmlv2copilot --api-key sysml_live_... \
  generate \
  --input "Design a compact warehouse inspection drone that can hover for 15 minutes."
```

Repair SysML from a file:

```bash
sysmlv2copilot --api-key sysml_live_... \
  repair \
  --input-file ./broken.sysml
```

The CLI accepts `.txt`, `.sysml`, and `.html` files for `--input-file`.
HTML files are converted to plain text before being sent to the API.
