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.4.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.4-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

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

Hashes for robo_manim_add_ons-0.2.4.tar.gz
Algorithm Hash digest
SHA256 b74841b93f9bda7fa920f7c4301fa0e42ee82a6a5f7cb3eded11729c1aa616d5
MD5 aa2fd436256f3595a1c976fee16f0af8
BLAKE2b-256 4c7b9829c39d768c4030bdbe1e7e330fc8ce3edd67bbc75d6074da4f88f3d578

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robo_manim_add_ons-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f2f19a0d65e25fc9258cbbff16b9fa089f7e17f0ba9208bfc001d5520f4a5c0b
MD5 4e9c82b6315cc4022534349223d164dc
BLAKE2b-256 c9ee6c2a14852014fdc1257a3de3660749cfb229b824f2a01e257aeee2cebb65

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