Skip to main content

A powerful Python framework for creating mathematical animations programmatically.

Project description



PyPI Latest Release MIT License GitHub Stars

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

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

fluxion_engine-0.1.1.tar.gz (554.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fluxion_engine-0.1.1-py3-none-any.whl (655.4 kB view details)

Uploaded Python 3

File details

Details for the file fluxion_engine-0.1.1.tar.gz.

File metadata

  • Download URL: fluxion_engine-0.1.1.tar.gz
  • Upload date:
  • Size: 554.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for fluxion_engine-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e1d2a4be3d2b404177230ab80bface1704427ed78db9c01050e1b06a8be81fee
MD5 3c9bb2402b2a1ff8c364817d4498ad41
BLAKE2b-256 2a4e1d35d22490e30c7af1fe23b8c13389c476e3e0aae3360d28b81aa1a6e2b3

See more details on using hashes here.

File details

Details for the file fluxion_engine-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: fluxion_engine-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 655.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for fluxion_engine-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 75e92a0df4eac70ae3545fac39f78d310489c5d9b1fb5232b49eee95be7b6ac6
MD5 305e3349530bfc388e53a9bddc175cc7
BLAKE2b-256 037ce5b308e3af6b9d75af7566bdfaab6c6fd85c3ed32902b365583906833417

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