Skip to main content

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

  1. Clone the repository:
git clone https://github.com/provility/robo-manim-add-ons.git
cd robo-manim-add-ons
  1. 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
  1. 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

  1. Create and activate venv (see above)
  2. Install in editable mode: pip install -e ".[dev]"
  3. Make your changes
  4. Run tests: pytest
  5. 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

robo_manim_add_ons-0.2.3.tar.gz (62.9 kB view details)

Uploaded Source

Built Distribution

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

robo_manim_add_ons-0.2.3-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

File details

Details for the file robo_manim_add_ons-0.2.3.tar.gz.

File metadata

  • Download URL: robo_manim_add_ons-0.2.3.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

Hashes for robo_manim_add_ons-0.2.3.tar.gz
Algorithm Hash digest
SHA256 d5573bd969b78ffd99d35b97e77e5e72b4b7ef042ef890de8db02c33647357db
MD5 83d50c1cff85d160fe388fc708b99d0c
BLAKE2b-256 58fd362a19c75169db23cd1d895dc5f14fb4e87d4e9fd693592fd94cef20d089

See more details on using hashes here.

File details

Details for the file robo_manim_add_ons-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for robo_manim_add_ons-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 04b3450c3d8f0d04178535b302b50dcaffbf62cbde654afd8de590f18b88c08e
MD5 364d27bcd8311e410be04251d259ef2e
BLAKE2b-256 d1b6609ce22464c77d153d5e73db4b44694528823c5295fabe8911f39fbc64fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page