Algan
Full-featured 2D/3D programmatic animation engine for explanatory mathematics and technical videos.
Algan is designed to be a successor to Manim with full-featured 3-D raytracing capabilities.
As seen on AlgorithmicSimplicity.
Key Features
- Manim Feature Parity: Everything you know and love from Manim.
- GPU Ray Tracing: High-fidelity optical effects including depth of field, area lights, glossy reflections, refractive glass, and soft shadows.
- Declarative Timeline Contexts: Intuitive animation staging with
Seq(),Sync(),Lag(),Off(), andSpeech()blocks makes animation code modular and re-usable. - Unified 2D/3D Geometry: Seamless morphing and interpolation between 2D Bézier circuits and 3D meshes with
become(). - Audio & Speech Alignment: Automatic word-level forced alignment to synchronize on-screen animations with narration.
Installation
pip install algan
For installing optional extra features (GPU acceleration, LaTeX for formulas, speech), see the Installation Guide.
Quickstart
Save this script as scene.py:
from algan import *
# 1. Make 3-D objects with physical materials
sphere = Sphere(color=BLUE, radius=1.2)
sphere.set_material(
MeshPhysicalMaterial(
roughness=0.15,
metalness=0.1,
clearcoat=1.0,
clearcoat_roughness=0.08,
)
)
# 2. Define animation timeline with contexts
sphere.spawn()
with Sync(runtime=2):
sphere.move(RIGHT * 2)
sphere.rotate(180, OUT, about=ORIGIN)
sphere.color = RED
# 3. Render video
Scene.save_video("quickstart.mp4")
Run with Python or the Algan CLI:
# Using python
python scene.py
# Using the algan CLI
algan render scene.py
The output video will be written to algan_outputs/quickstart.mp4.
Documentation
- Documentation: https://algorithmicsimplicity.github.io/algan
- Tutorials: New User Tutorials
- Discord Community: Join our Discord
- Issue Tracker: GitHub Issues
License
Algan is licensed under the MIT License (see LICENSE). Copyright © Algorithmic Simplicity.
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 algan-0.0.2.tar.gz.
File metadata
- Download URL: algan-0.0.2.tar.gz
- Upload date:
- Size: 5.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9adb944a6e75814163d0fe2ad2e12e7e75726adbd5793025b6e00a57b1fd50cc
|
|
| MD5 |
5fbe68de24b042cd97b122d5ecd7dd79
|
|
| BLAKE2b-256 |
269e020d3ba54e39555085e25ed7581f9a225eabae3a271400e4496f4acbd3cc
|
Provenance
The following attestation bundles were made for algan-0.0.2.tar.gz:
Publisher:
release.yaml on algorithmicsimplicity/algan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
algan-0.0.2.tar.gz -
Subject digest:
9adb944a6e75814163d0fe2ad2e12e7e75726adbd5793025b6e00a57b1fd50cc - Sigstore transparency entry: 2789011353
- Sigstore integration time:
-
Permalink:
algorithmicsimplicity/algan@f2073d718364617b35ed86028efefcd0ccda5606 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/algorithmicsimplicity
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@f2073d718364617b35ed86028efefcd0ccda5606 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file algan-0.0.2-py3-none-any.whl.
File metadata
- Download URL: algan-0.0.2-py3-none-any.whl
- Upload date:
- Size: 2.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b3f71a2ed2b5f81062f38ab99150e388d2c2bbb08e1493c3edb0382d20e89b9
|
|
| MD5 |
8db1b84b8d9f423ba840ab3242b44a0a
|
|
| BLAKE2b-256 |
f9548707073641326ebb70bb1937d25a1b71d396468af582ebbe5829b65272e4
|
Provenance
The following attestation bundles were made for algan-0.0.2-py3-none-any.whl:
Publisher:
release.yaml on algorithmicsimplicity/algan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
algan-0.0.2-py3-none-any.whl -
Subject digest:
6b3f71a2ed2b5f81062f38ab99150e388d2c2bbb08e1493c3edb0382d20e89b9 - Sigstore transparency entry: 2789011392
- Sigstore integration time:
-
Permalink:
algorithmicsimplicity/algan@f2073d718364617b35ed86028efefcd0ccda5606 -
Branch / Tag:
refs/heads/master - Owner: https://github.com/algorithmicsimplicity
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@f2073d718364617b35ed86028efefcd0ccda5606 -
Trigger Event:
workflow_dispatch
-
Statement type: