Pular para conteúdo
Design Declarativo · Python · Animação

animaflow (animaflow.io)

Crie diagramas e fluxogramas de arquitetura modernos uma única vez em Python e renderize animações fluidas para vídeos técnicos (Manim) ou web interativa (HTML/SVG).

Demonstração em Tempo Real

Veja abaixo exemplos de diagramas construídos declarativamente e renderizados em vídeo e SVG interativo:

Streaming Contínuo de Partículas Orquestração Multi-Agente (DAGs) Pipeline de Busca & RAG
"Stream Contínuo" "Swarm Multi-Agente" "RAG Pipeline"
Pipeline de Eventos
Fluxo de dados em tempo real
Orquestração Paralela
Camadas automáticas de nós
Arquitetura de IA
Busca vetorial e geração

Por que usar o animaflow?

Desenvolver animações de arquitetura de software para LinkedIn, YouTube, talks técnicas e documentação corporativa historicamente exigia uma escolha dolorosa:

  1. Escrever centenas de linhas de geometria manual em After Effects ou Manim com coordenadas absolutas frágeis a qualquer refatoração; ou
  2. Usar ferramentas estáticas (Graphviz, PlantUML, Diagrams) que não contam história, não pulsam e não representam o fluxo de dados em movimento.

O animaflow introduz uma separação clara entre semântica de dados e renderizadores:

flowchart LR
    A[DSL Declarativa em Python\nNós, Conexões, Timeline] --> B[Engine de Auto-Layout\nCamadas DAGs & Margens]
    B --> C[Manim Backend\nMP4, GIF 60fps]
    B --> D[Web Canvas Backend\nHTML5, SVG Interativo]
    B --> E[Remotion / JSON\nExportação de Vídeo Web]

Exemplo Rápido: Declarando um Pipeline com Stream

from manim import Scene
import animaflow as af

class EventFlowScene(Scene):
    def construct(self):
        # 1. Criação do fluxo com título
        flow = af.Flow(title="Event-Driven Microservices")

        # 2. Definição semântica dos componentes
        client = flow.add_node("IoT Devices", subtitle="MQTT")
        broker = flow.add_node("Kafka Broker", subtitle="Event Bus")
        worker = flow.add_node("Stream Worker", subtitle="Flink / Python")
        lake   = flow.add_node("Data Lake", subtitle="ClickHouse")

        # 3. Posicionamento automático em camadas
        flow.auto_layout_layers([[client], [broker], [worker], [lake]], h_gap=1.6)

        # 4. Conexão lógica com rótulos
        flow.connect(client, broker, label="telemetry")
        flow.connect(broker, worker, label="ingest")
        flow.connect(worker, lake, label="write")

        # 5. Narrativa de animação declarativa
        flow.timeline.reveal_sequence(delay=0.3)
        flow.timeline.stream_packets(count=6, speed=0.8, duration=3.0)
        flow.timeline.wait(1.0)

        # 6. Renderização na cena Manim
        flow.render_manim(self)

  • Primeiros Passos


    Aprenda como instalar e criar seu primeiro fluxo em minutos.

    Começando

  • Auto-Layout em Camadas


    Descubra como o algoritmo organiza DAGs e calcula margens anti-sobreposição.

    Guia de Layout

  • Animações e Streams


    Sequências de entrada, pacotes pontuais e fluxo contínuo de partículas.

    Guia de Animações

  • Referência de API


    Documentação detalhada de classes, métodos e parâmetros tipados.

    API Reference