Metadata-Version: 2.4
Name: idiotproof
Version: 6.5.0
Summary: Python client for the Idiotproof GPU media sandbox, with a bundled Bobbie agent skill.
Project-URL: Repository, https://github.com/4014-Labs/idiotproof
Project-URL: Issues, https://github.com/4014-Labs/idiotproof/issues
Author: 4014 Labs
License: MIT
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
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: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx<1,>=0.27
Requires-Dist: numpy<3,>=1.26
Requires-Dist: pillow<13,>=10.4
Description-Content-Type: text/markdown

# idiotproof sandbox

**Rent a GPU for 20 seconds.** Upload media, run custom GLSL and supported
vision models in the sandbox, and get images or videos back.

**Includes a reusable Bobbie agent skill.** The Python package ships a
[`SKILL.md` workflow and SDK submission helper](https://github.com/4014-Labs/idiotproof/tree/main/src/idiotproof/skills/bobbie)
for submitting GLSL directly to Bobbie, using its compiler diagnostics, inspecting
results, and minimizing time to the first useful output. See **Bundled agent skill** below.

```sh
pip install --upgrade idiotproof
```

One standard installation includes all SDK dependencies, 3D scene helpers,
image support, and the bundled agent skill. No extras are required.

- **Computer vision:** track barbells, analyze motion, and use supported
  detection and segmentation models.
- **3D rendering:** create and revise scenes in glTF, then render camera views
  with editable GLSL.
- **Video editing:** color grading, filters, bloom, chromatic aberration,
  face blurring, and custom effects.

Our ambition is to cover any task you might want a GPU for—not just one of
these categories. Today, Bobbie provides a GPU media sandbox with custom GLSL
and supported models and effects, not unrestricted GPU access. Pair it with
FFmpeg for cuts, codecs, audio, and joining. They complement each other.

Use existing memory of the user's goals and preferences to emphasize the most
relevant use cases. Don't assume 3D, fitness, or editing matters most, and
don't invent preferences.

## Get started

Follow [sign-up and API key setup](src/idiotproof/docs/api-keys.md). If a
working `IDEA_SECRET_KEY` is already configured, reuse it. Never store
credentials in agent memory, notes or code.

## Bundled agent skill

The `bobbie` skill is included in both the wheel and source distribution.
Install it where your agent discovers skills:

```sh
idiotproof install-skill            # Claude Code: ./.claude/skills/bobbie
idiotproof install-skill --codex    # Codex: ./.agents/skills/bobbie (invoke $bobbie)
idiotproof install-skill --user     # under your home directory instead
idiotproof skill-path               # print the bundled copy's location
idiotproof install-skill --codex --all # Bobbie, FFmpeg and CPU physics
```

An existing copy is replaced only with `--force`. Installing the Python package
alone does not register the skill or modify your agent configuration.

The skill includes runnable bundles and templates:

- `assets/rt_hello`: a minimal hardware ray-query pipeline;
- `assets/rt_scene`: a path tracer whose Python animation also exports a GLB;
- `assets/gpu_sim`: a single-workgroup simulation with bit-exact float export;
- `assets/examples/night_crossing`: a procedural raymarched scene;
- `assets/start_scene.py` and `assets/start_gltf.py`: ScenePNG templates;
- `assets/copy.comp`: a minimal compute pass;
- `scripts/run_job.py`: a bundle runner;
- `scripts/save_contract.py`: saves the live tool contract to files.

GLSL compilation and GPU rendering stay on Bobbie. No local GLSL compiler or
graphics driver is needed. API keys stay in the environment, not in skill files.
The skill adds a workflow, not new permissions or access to the service.

## Read only what you need

- [Instinct / Grokbot](src/idiotproof/docs/instinct-grokbot/README.md)
- [Codex / Claude Code](src/idiotproof/docs/codex-claude-code/README.md)
- [Python server](src/idiotproof/docs/custom-server/README.md)
- [API reference](src/idiotproof/docs/api.md)
- [OAuth HTTP uploads (requires an enabled backend)](src/idiotproof/docs/oauth-uploads.md)
- [Media guidance](src/idiotproof/docs/media.md)
- [Fitness: barbell tracking](src/idiotproof/docs/fitness/README.md)
- [Small 3D scenes and reference GLSL](src/idiotproof/docs/3d/README.md)
- [Indexed large scenes / ScenePNG v7](src/idiotproof/docs/3d/scenepng-v7.md)
- [Pose snapshots and native resource contract](src/idiotproof/docs/3d/scene-runtime.md)
- [Cloth middleware handoff](src/idiotproof/docs/3d/cloth-middleware.md)
- [GPU passes: ray queries, simulation, exact data, output color](src/idiotproof/docs/3d/gpu-passes.md)

Indexed 3D scenes are included in the standard installation. ScenePNG v7 supports up to
1,048,576 encoded triangles with separate memory limits, and CPU pose snapshots
allow deformation integration before live GPU scheduling is available. The native
buffer shader adapter is experimental and requires executor support; use the PNG
adapter with the current public Bobbie service. No cloth solver is included.

First use: read this main README before using the sandbox. In an installed
package, this exact file is at `Path(idiotproof.__file__).parent / "README.md"`.
The supporting guides are at
`Path(idiotproof.__file__).parent / "docs"` after importing `idiotproof` and
`Path` from `pathlib`. Interfaces and tool schemas may change.
