Metadata-Version: 2.4
Name: mover
Version: 0.1.2
Summary: Official implementation of MoVer: Motion Verification for Motion Graphics Animations
Author-email: Jiaju Ma <jiajuma@stanford.edu>
License: Apache-2.0
Project-URL: Homepage, https://mover-dsl.github.io/
Project-URL: Repository, https://github.com/mover-dsl/MoVer
Project-URL: Bug Tracker, https://github.com/mover-dsl/MoVer/issues
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Multimedia :: Graphics
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: cairosvg
Requires-Dist: fastapi==0.115.14
Requires-Dist: groq
Requires-Dist: Jinja2
Requires-Dist: numpy
Requires-Dist: openai
Requires-Dist: opencv-contrib-python==4.11.0.86
Requires-Dist: Pillow
Requires-Dist: playwright
Requires-Dist: protobuf
Requires-Dist: PyYAML
Requires-Dist: treelib
Requires-Dist: uvicorn==0.35.0
Requires-Dist: torch>=2.7.1
Requires-Dist: torchvision>=0.22.1
Requires-Dist: ipykernel>=6.29.5
Provides-Extra: local
Requires-Dist: ollama-python; extra == "local"
Requires-Dist: vllm; extra == "local"
Dynamic: license-file

# MoVer: Motion Verification for Motion Graphics Animations

[Jiaju Ma](https://majiaju.io) and
[Maneesh Agrawala](https://graphics.stanford.edu/~maneesh/)
<br />
In ACM Transactions on Graphics (SIGGRAPH), 44(4), August 2025. To Appear.
<br />

[[arXiv](https://arxiv.org/abs/2502.13372)]  [[project page](https://mover-dsl.github.io/)]


## Dataset
The test prompt dataset used in the paper can be found in `mover_dataset`


## Setup

### MoVer
1. Set up a virtual environment with your favorite tool. It is recommended to use `uv` because it is very fast.
2. Make sure you have `pytorch` installed
3. Install MoVer with `pip`
```bash
  uv pip install jacinle @ git+https://github.com/vacancy/Jacinle.git && \
  uv pip install concepts @ git+https://github.com/jama1017/Concepts.git@main && \
  uv pip install mover
```
4. Store your API keys as environment variables (e.g., `OPENAI_API_KEY`, `GEMINI_API_KEY`, `GROQ_API_KEY`).
    - MoVer includes APIs to interface with OpenAI, Gemini (via OpenAI), and Groq by default.

5. (Optional) If you plan to run locally-hosted models, install the following dependencies:
    - Install `ollama` if you plan to use ollama with `ollama-python`
    - Install `vLLM` if you plan to use vLLM

6. (Optional) We support rendering to video with OpenCV, but the video produced might have limited compatibility. If you optionally install `ffmpeg`, our converter will automatically use it to convert rendered videos.


## Usage
Check out the `tutorial.ipynb` for a tutorial of the motion graphics animation generation with MoVer verification pipeline.


## Release Checklist
- [x] MoVer DSL and verifier
- [x] JavaScript animation to MoVer data format converter
- [x] LLM-based animation synthesizer
- [x] LLM-based MoVer synthesizer
- [x] Scripts to run the full pipeline
- [ ] Web app for creating animations with MoVer
- [ ] Scripts for generating animation prompts
