A powerful Python framework for creating mathematical animations programmatically
🌌 Fluxion
Fluxion is designed to be the next evolution of programmatic animation systems — built for speed, simplicity, and powerful visual storytelling.
Fluxion is:
- ⚡ Fast - Optimized rendering pipeline for quick iterations
- 🎨 Beautiful - High-quality vector graphics and smooth animations
- 📐 Mathematically expressive - Intuitive API for complex mathematical visualizations
- 🧠 Built for creators, educators, and engineers - Perfect for educational content, presentations, and technical demonstrations
- 🧩 Fully scriptable with Python - Leverage the full power of Python for your animations
- 📦 Easily extensible - Plugin system for custom functionality
📚 Table of Contents
🚀 Features
🎨 High-Quality Vector Rendering
Create crisp, scalable animations with Cairo and OpenGL rendering backends.
🧩 Modular Scene System
Build complex animations by composing simple, reusable components.
⚡ GPU-Ready Architecture
Leverage modern graphics capabilities for real-time rendering and previews.
📊 Math-First API
Intuitive interfaces for mathematical objects, transformations, and animations.
📝 Jupyter Notebook Magic
Seamlessly integrate animations into your Jupyter workflows with %%fluxion magic commands.
🖥️ Command Line Renderer
Powerful CLI for batch rendering and automation.
🧱 Plugin System
Extend Fluxion with custom functionality through a flexible plugin architecture.
🖼 Export Formats
Export to MP4, GIF, PNG sequences, and more.
🧰 Installation
Install via pip
pip install fluxion-engine
Developer Installation
git clone https://github.com/Fluxion-engine/fluxion.git
cd fluxion
pip install -e .
⚡ Quick Start
Create a file named example.py:
from fluxion import *
class SquareToCircle(Scene):
def construct(self):
square = Square()
circle = Circle().set_fill("#EF6BBB", 0.5)
self.play(Create(square))
self.play(Transform(square, circle))
self.play(FadeOut(square))
Render:
fluxion -p -ql example.py SquareToCircle
You should see your native video player pop up and play a simple scene where a square transforms into a circle!
🔧 CLI Usage
General syntax:
fluxion [flags] file.py SceneName
Common Flags
-p- Preview the animation after rendering-ql- Quick render at low quality (faster)-qh- High quality render-s- Skip to the end and show the final frame-n <number>- Skip ahead to the n'th animation-f- Show the file in the file browser
For a complete list of options:
fluxion --help
📓 Jupyter Support
Fluxion ships with a %%fluxion IPython magic for use in JupyterLab and Jupyter notebooks:
%%fluxion -v WARNING -ql
from fluxion import *
class MyScene(Scene):
def construct(self):
circle = Circle()
self.play(Create(circle))
🔠 API Overview
Shapes
Circle(), Square(), Triangle(), Rectangle(), Line(), Arrow(), Dot()
Colors
RED, BLUE, GREEN, YELLOW, PURPLE, ORANGE, PINK, WHITE, BLACK
# Or use hex colors
obj.set_color("#FF5733")
Animations
Create(), FadeIn(), FadeOut(), Transform(), Write(), DrawBorderThenFill()
Camera Controls
self.camera.frame.move_to(point)
self.camera.frame.scale(2)
🛣️ Roadmap
✔ v0.1.0 (Current)
- Core animation engine
- CLI renderer
- Jupyter integration
- Basic shapes and animations
- Cairo and OpenGL backends
🚧 v0.2.0 (Planned)
- Enhanced 3D support
- Real-time preview improvements
- Performance optimizations
- Extended plugin API
🧪 Future
- Web-based editor
- Cloud rendering
- Collaborative features
- AI-assisted animation generation
❓ FAQ
Q: What Python versions are supported?
A: Fluxion requires Python 3.11 or higher.
Q: Can I use Fluxion for commercial projects?
A: Yes! Fluxion is MIT licensed and free for commercial use.
Q: How do I contribute?
A: Check out our Contributing Guide to get started!
🤝 Contributing
Contributions are welcome! Please see our Contributing Guide for details on how to get started.
📜 License
Fluxion is licensed under the MIT License. See LICENSE for more information.
Made with ❤️ by The Fluxion Community
Metadata
Release files for fluxion-engine 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fluxion_engine-0.1.1.tar.gz | 554.3 kB | Without provenance | Details for fluxion_engine-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| fluxion_engine-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for fluxion_engine-0.1.1-py3-none-any.whl |
Total release size: 1.2 MB
Release files / fluxion_engine-0.1.1.tar.gz
| Download URL | fluxion_engine-0.1.1.tar.gz |
|---|---|
| Size | 554.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e1d2a4be3d2b404177230ab80bface1704427ed78db9c01050e1b06a8be81fee
|
|
BLAKE2b-256 checksum How to use checksums |
2a4e1d35d22490e30c7af1fe23b8c13389c476e3e0aae3360d28b81aa1a6e2b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / fluxion_engine-0.1.1-py3-none-any.whl
| Download URL | fluxion_engine-0.1.1-py3-none-any.whl |
|---|---|
| Size | 655.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
75e92a0df4eac70ae3545fac39f78d310489c5d9b1fb5232b49eee95be7b6ac6
|
|
BLAKE2b-256 checksum How to use checksums |
037ce5b308e3af6b9d75af7566bdfaab6c6fd85c3ed32902b365583906833417
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Security for fluxion-engine 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.