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.0.tar.gz (61.3 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.0-py3-none-any.whl (55.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: robo_manim_add_ons-0.2.0.tar.gz
  • Upload date:
  • Size: 61.3 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.0.tar.gz
Algorithm Hash digest
SHA256 917f724ac76550acbd509efb041c93b3516b0f4cf4a89a5a7649b6959a568433
MD5 9ded615aeb6ee114452f60a7bd67aa6c
BLAKE2b-256 c04e93bb24c620a688580a223867dec7659cd701264cdb44840657461dd8f333

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for robo_manim_add_ons-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bad18b25690523ef2bb1c23fd3e52c191165627f1849fce8f4f35a989fa722d5
MD5 dae3d523db8fff3098681bc7543a2b54
BLAKE2b-256 ac4eaae8c5d34cbac30b9d3d54d56233f3a3c2048e7e670a63027e7fda50ca3e

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