A collection of add-ons and utilities for Manim Community Edition
Project description
Robo Manim Add-ons
A collection of geometry utilities for Manim Community Edition.
Installation
For Users
Install from PyPI (once published):
pip install robo-manim-add-ons
For Development
- Clone the repository:
git clone https://github.com/provility/robo-manim-add-ons.git
cd robo-manim-add-ons
- Create and activate a virtual environment:
# Create venv
python -m venv venv
# Activate on macOS/Linux
source venv/bin/activate
# Activate on Windows
# venv\Scripts\activate
- Install manim and development dependencies:
pip install -e .
pip install -e ".[dev]"
Or install from requirements files:
pip install -r requirements.txt
pip install -r requirements-dev.txt
Documentation
Full documentation with examples, images, and demo videos:
Quick Start
from manim import *
from robo_manim_add_ons import perp, parallel
class GeometryDemo(Scene):
def construct(self):
# Create reference line
line = Line(LEFT * 2, RIGHT * 2)
dot = Dot(ORIGIN)
# Create perpendicular line
perp_line = perp(line, dot, length=3.0)
# Create parallel line at different position
dot2 = Dot(UP)
parallel_line = parallel(line, dot2, length=2.0)
self.add(line, dot, dot2, perp_line, parallel_line)
self.wait()
Get help in Python:
import robo_manim_add_ons
robo_manim_add_ons.show_usage()
Running Examples
# Make sure your venv is activated
source venv/bin/activate
# Run geometry demos
manim -pql examples/geometry_demo.py PerpDemo
manim -pql examples/geometry_demo.py ParallelDemo
manim -pql examples/geometry_demo.py PlacementDemo
Running Tests
# Make sure your venv is activated
source venv/bin/activate
# Run all tests
pytest
# Run with coverage
pytest --cov=robo_manim_add_ons
Project Structure
robo-manim-add-ons/
├── pyproject.toml # Package configuration
├── setup.py # Setup file
├── README.md # This file
├── LICENSE # MIT License
├── requirements.txt # Production dependencies
├── requirements-dev.txt # Development dependencies
├── robo_manim_add_ons/ # Main package
│ ├── __init__.py
│ └── ...
├── tests/ # Test suite
│ └── test_*.py
└── examples/ # Usage examples
└── demo.py
Development Workflow
- Create and activate venv (see above)
- Install in editable mode:
pip install -e ".[dev]" - Make your changes
- Run tests:
pytest - Run examples to verify:
python examples/demo.py
Building and Publishing
Build the package:
pip install build twine
python -m build
Publish to PyPI:
twine upload dist/*
Publish to TestPyPI (for testing):
twine upload --repository testpypi dist/*
License
MIT License - see LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file robo_manim_add_ons-0.2.4.tar.gz.
File metadata
- Download URL: robo_manim_add_ons-0.2.4.tar.gz
- Upload date:
- Size: 62.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b74841b93f9bda7fa920f7c4301fa0e42ee82a6a5f7cb3eded11729c1aa616d5
|
|
| MD5 |
aa2fd436256f3595a1c976fee16f0af8
|
|
| BLAKE2b-256 |
4c7b9829c39d768c4030bdbe1e7e330fc8ce3edd67bbc75d6074da4f88f3d578
|
File details
Details for the file robo_manim_add_ons-0.2.4-py3-none-any.whl.
File metadata
- Download URL: robo_manim_add_ons-0.2.4-py3-none-any.whl
- Upload date:
- Size: 57.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2f19a0d65e25fc9258cbbff16b9fa089f7e17f0ba9208bfc001d5520f4a5c0b
|
|
| MD5 |
4e9c82b6315cc4022534349223d164dc
|
|
| BLAKE2b-256 |
c9ee6c2a14852014fdc1257a3de3660749cfb229b824f2a01e257aeee2cebb65
|