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

Uploaded Python 3

File details

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

File metadata

  • Download URL: fluxion_engine-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 eeaac5774458090133b0cbc48cf301ace4760d9012147fc5a4d51c368b778eb0
MD5 42f3e235dd2d88756730ce275393aefc
BLAKE2b-256 45bc8c949c32a973d714d5f628b506d27470c8975a80c2727e87eff75002c8dc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fluxion_engine-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ea871bea152883d009e909154b7b165be8ed5b61bdd24621fcb7aba02496ede
MD5 1c1803514c70fe0c38b1ca4e9ac99731
BLAKE2b-256 08387de625f35ac3ef5ac6819ecf5e2bee55e0f051113c131db8fcc127d422dd

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