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.1.tar.gz (62.2 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.1-py3-none-any.whl (57.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: robo_manim_add_ons-0.2.1.tar.gz
  • Upload date:
  • Size: 62.2 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.1.tar.gz
Algorithm Hash digest
SHA256 f0f27e278fd2416dfdf1c2c5ef1184f1b21d65fd4ee37ddec4d20672747aad28
MD5 257d549bf0cbfba781783f5ccb98b732
BLAKE2b-256 d7245480bf7567c7234a8687c418cad78fb270ae390cfb2e71bc72fbaee946d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robo_manim_add_ons-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9b1b66a988fef7f53343d379c5132ab6dd31487569403742bb697eefbb19493b
MD5 fe0ba4628afde98951db80e1b2fbe33a
BLAKE2b-256 383fc1cd46fe412b913258c8f4dd5a832a51f17d05d4f327aad2adfc25f1b6d6

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