Metadata-Version: 2.4
Name: browserbase-stagehand
Version: 0.1.0
Summary: Theater stage manager — manage cues, lighting, props, scenes, and show flow
Project-URL: Homepage, https://github.com/brnv/browserbase-stagehand
Author-email: Artem <brnv@canva.com>
License-Expression: MIT
License-File: LICENSE
Keywords: cues,lighting,props,show,stage,stagehand,theater
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Artistic Software
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# browserbase-stagehand

Theater stage manager — manage cues, lighting, props, scenes, and show flow.

## Installation

```bash
pip install browserbase-stagehand
```

## Usage

```python
from browserbase_stagehand import Show, Scene, Cue, CueType, Prop, LightingState, Color

show = Show(title="Hamlet", venue="Globe Theatre", stage_manager="You")

# Build a scene with cues
scene = Scene(name="The Battlements", act=1, number=1, cast=["Horatio", "Ghost"])
scene.add_cue(Cue("1", CueType.LIGHTING, "Blue wash — night", fade_in=3.0))
scene.add_cue(Cue("2", CueType.SOUND, "Wind SFX", trigger="Lights settle"))
scene.add_cue(Cue("3", CueType.LIGHTING, "Ghost spotlight", trigger="Ghost enters SR"))
show.add_scene(scene)

# Track props
show.props.add(Prop("Skull", "Yorick's skull", scene="Act 5 Scene 1"))
show.props.add(Prop("Goblet", "Poisoned wine", consumable=True))

# Run the show
show.fire()  # fires cue 1
show.fire()  # fires cue 2

# Lighting presets
warm = LightingState.preset_warm_wash(channels=[1, 2, 3, 4])
spot = LightingState.preset_spotlight(channel=5, color=Color.moonlight())

print(show.call_sheet())
print(show.props.checklist())
```

## CLI

```bash
stagehand demo          # run a Hamlet demo
stagehand cue-types     # list cue types
stagehand colors        # list light color presets
stagehand locations     # list prop locations
```

## License

MIT
