Skip to main content

Beatoven — painting a portrait

Beatoven

PyPI Python

Compose hierarchical animation & simulation plans, generate full library-backed code, play it back, and inline-edit with .edit.

Beatoven turns a prompt into a playable AnimationObject:

  • Imports full capability surfaces for GSAP, Anime.js, Motion, Theatre.js, Typed.js, Three.js, Lottie, Manim, MoviePy, Textual, Bevy, Unity, libGDX, and more
  • SLM / cloud guided compose binds real library APIs (not a tiny subset) via heuristic, local Qwen, or OpenAI/Claude/Grok
  • Builds a hierarchy plan: scene → acts → shots → layers → tracks → keyframes
  • Supports draft → finalize and Deep Mode cinematic enhancement
  • Returns runnable code (not stubs) plus a built-in web player
  • anim.edit(...) / anim.deep(...) for inline revisions and capability-max enhancements
  • Optional Hugging Face SLM (hardware-sized Qwen) or cloud providers when API keys are set

Install

From PyPI (recommended)

pip install beatoven pulls the full dependency stack — play (Pillow), video (MoviePy / imageio-ffmpeg), cloud clients (OpenAI + Anthropic), and local SLM (torch / transformers / accelerate / huggingface_hub):

pip install beatoven
pip install -U beatoven
beatoven --help
python -c "from beatoven import compose; print(compose('Type Hi', provider='heuristic').summary())"
pip install "beatoven[dev]"   # pytest, ruff, build, twine

Package: https://pypi.org/project/beatoven/

From source (development)

git clone https://github.com/ehallford11714/beatoven.git
cd beatoven
python -m venv .venv
.\.venv\Scripts\pip install -e ".[dev]"
python -m pytest -q

Quick start

from beatoven import compose

anim = compose(
    "Type 'Beatoven' letter-by-letter, then drop a rubber ball in a Three.js room",
    languages=["javascript", "python"],
    provider="heuristic",  # or auto / local / openai / claude / grok
)

print(anim.plan.summary())
print(anim.code["javascript"][:400])

anim.play()  # opens browser player

anim.edit("make the title blue and stagger faster")
anim.edit(path="scene/act1/shot1/title", props={"text": "Beatoven Live"})
anim.export("out/index.html")

Draft + edit

anim = compose("Type 'Draft Scene' + bouncing ball", draft=True)
anim.edit("use Typed.js style typing; title color cyan")
anim.finalize()
anim.play()

Deep Mode

Deep Mode expands capability usage across the full library surfaces, then enhances the hierarchy (lights, particles, camera dolly, bloom/grade, richer easings) via the active provider (heuristic offline, or SLM/cloud when configured):

anim = compose(
    "Type 'Beatoven' then drop a rubber ball in a Three.js room",
    provider="auto",   # uses cloud/local when keys/models available
    deep=True,
)
print(len(anim.plan.capability_usage), "capabilities bound")
anim.play()

# or enhance an existing animation
anim.deep("more cinematic camera and bloom")

CLI

python -m beatoven compose --prompt "Type 'Hello' then bounce a ball" --lang javascript,python --play
python -m beatoven compose --prompt "..." --deep --play
python -m beatoven compose --prompt "..." --draft --out out
python -m beatoven edit out/beat.json --instruction "make the title blue and stagger faster"
python -m beatoven deep out/beat.json --instruction "cinematic bloom + dolly" --play
python -m beatoven play out/beat.json --runtime web
python -m beatoven export out/beat.json --out out/clip.html
python -m beatoven catalog --domain text_ui
python -m beatoven probe

Providers

Value Behavior
auto Cloud if API key present → else local Qwen when configured → else heuristic
openai / claude / grok Cloud APIs
openai_compatible BEATOVEN_LLM_BASE_URL + key + model
local On-device Qwen/HF sized via hardware probe
heuristic Offline catalog + hierarchy planner

Environment: OPENAI_API_KEY, ANTHROPIC_API_KEY, XAI_API_KEY / GROK_API_KEY, BEATOVEN_LLM_API_KEY, BEATOVEN_LLM_BASE_URL, BEATOVEN_LLM_MODEL, BEATOVEN_PROVIDER, BEATOVEN_LOCAL_MODEL.

Documentation

Doc Description
docs/INDEX.md Docs home
docs/TUTORIAL.md Step-by-step tutorial
docs/API.md Public API reference
docs/COMPONENTS.md Every module explained
docs/CLI.md CLI reference
docs/LIBRARIES.md Capability pack catalog
docs/ARCHITECTURE.md Pipeline & Deep Mode

Example prompts

See examples/prompts.md. Runnable scripts:

  • examples/text_typing_web.py
  • examples/draft_and_edit.py
  • examples/threejs_physics_scene.py
  • examples/deep_mode_demo.py

Layout

src/beatoven/     # library
  capabilities/   # full API surfaces per library
  generators/     # JS / Python / Rust / C# / Java
  runtime/        # play + export
  providers/      # heuristic / local / cloud
tests/
examples/
docs/             # tutorial, API, components, CLI, libraries

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beatoven-0.3.0.tar.gz (51.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

beatoven-0.3.0-py3-none-any.whl (60.3 kB view details)

Uploaded Python 3

File details

Details for the file beatoven-0.3.0.tar.gz.

File metadata

  • Download URL: beatoven-0.3.0.tar.gz
  • Upload date:
  • Size: 51.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.3

File hashes

Hashes for beatoven-0.3.0.tar.gz
Algorithm Hash digest
SHA256 357d27b380210b077b8fbb4482ea09c8dc78ebc6aa291204844e731485d13798
MD5 ecf7f4c3cb935860801fd5a7b0e46096
BLAKE2b-256 f3e30e4f1e623bd542b45b841a57c0bae26e89a6b1edea4f95036396118f43e1

See more details on using hashes here.

File details

Details for the file beatoven-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: beatoven-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 60.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.3

File hashes

Hashes for beatoven-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 481bbc22e4bdf1e72fa9c451d3428aca9fb96fee0815d06b65a0756a1ef7c1e8
MD5 fd4b7b5680d22e0d2c2f704d93404d60
BLAKE2b-256 8f4bdc45c4900be031becf2a339e59b63c0d5dd4d7bfb64921dd090cbb04a436

See more details on using hashes here.

Release history Release notifications | RSS feed

0.12.1

2 files

0.12.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

This release

0.3.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page