Diagramas e fluxogramas de arquitetura declarativos, animados e programáveis em Python
Modele fluxos uma vez e exporte para HTML/SVG interativo ou animações com Manim
Galeria & Exemplos
| Streaming Contínuo — fluxo em tempo real de partículas | Multi-Agent Swarm — DAG de orquestração em camadas | RAG Pipeline — arquitetura de busca e LLM |
Por que o animaflow?
Criar diagramas de arquitetura de software para redes profissionais (LinkedIn, X/Twitter), vídeos técnicos (YouTube, Reels) e apresentações corporativas geralmente exige:
- Escrever centenas de linhas manuais de geometria, coordenadas absolutas e updaters no Manim ou After Effects, ou
- Usar geradores estáticos (Graphviz, PlantUML, Diagrams) sem qualquer suporte a movimento, ritmo narrativo ou pulso de dados.
O animaflow resolve isso separando a definição semântica do fluxo dos motores de renderização:
- Declare Nós e Conexões: especifique nós, serviços, banco de dados, labels e metadados via DSL simples em Python.
- Auto-Layout Inteligente: organize automaticamente nós em camadas (DAGs), colunas ou sequências horizontais/verticais com alinhamento e margens dinâmicas anti-sobreposição.
- Timeline Narrativa: anime pacotes individuais, streams contínuos de partículas, transições de estado e realces de nós de forma declarativa.
- Múltiplos Backends: exporte diretamente para Manim CE (vídeos MP4 e GIFs em alta definição) e HTML/Web Canvas interativo.
Como funciona a arquitetura
O núcleo do animaflow é modular e extensível:
| Módulo / Subsistema | O que faz | Tecnologia / Detalhes |
|---|---|---|
Flow Core (core.flow) |
Armazena a topologia do grafo, metadados dos nós, conectores e parâmetros visuais | Python Puro / Dataclasses |
Layout Engine (core.layout) |
Algoritmos de arranjo automático (horizontal, vertical, empilhamento em camadas DAG) calculando larguras mínimas e espaçamento | Algoritmos de layout de grafos |
Timeline Engine (core.timeline) |
Orquestra as ações temporais: sequências de aparição (reveal), envio de pacotes (send_packet), streams contínuos (stream_packets), realces (highlight_node) e esperas (wait) |
Motor declarativo de eventos |
Manim Backend (backends.manim) |
Converte nós e conexões em Mobjects vetoriais modernos com tipografia refinada, sombras sutis, badges de subtítulo e renderiza a cena | Manim Community Edition (CE) |
Web Canvas Backend (backends.web) |
Gera código HTML/SVG independente e interativo com simulação física de partículas em JavaScript puro | SVG nativo + ES6 Vanilla JS |
Instalação
pip install animaflow
Para renderizar animações com Manim:
pip install "animaflow[manim]"
A renderização de vídeo com Manim também requer FFmpeg instalado no sistema.
Exemplo rápido
import animaflow as af
flow = af.Flow(title="Pipeline de pedidos")
api = flow.add_node("API", subtitle="Recebe pedidos")
worker = flow.add_node("Worker", subtitle="Processa eventos")
database = flow.add_node("Database", subtitle="Armazena resultados")
flow.connect(api, worker, label="evento")
flow.connect(worker, database, label="persistência")
flow.auto_layout(mode="horizontal")
flow.timeline.reveal_sequence(delay_per_item=0.3)
flow.export_html("pipeline.html")
O arquivo pipeline.html pode ser aberto diretamente em um navegador.
Exemplos Prontos
Os scripts de demonstração e seus comandos de execução estão na pasta de exemplos do GitHub.
| Exemplo | Descrição | Como Executar |
|---|---|---|
event_driven_pipeline.py |
Pipeline de eventos com animação contínua | manim -qm examples/event_driven_pipeline.py EventDrivenPipelineAnimation |
multi_agent_swarm.py |
Orquestração multiagente em camadas | manim -qm examples/multi_agent_swarm.py AgentSwarmAnimation |
rag_pipeline_manim.py |
Pipeline RAG renderizado com Manim | manim -qm examples/rag_pipeline_manim.py RAGFlowAnimation |
rag_pipeline_web.py |
Exportação para HTML/SVG interativo | python examples/rag_pipeline_web.py |
Licença
Distribuído sob a licença MIT. Consulte o arquivo de licença.
Release files for animaflow 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 | |
|---|---|---|---|
| animaflow-0.1.1.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| animaflow-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / animaflow-0.1.1.tar.gz
| Download URL | animaflow-0.1.1.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
01c8f2ac1b82eaef1572ab201c4d0dbe3975e2186e95de9ce55bd8371ef60b3d
|
|
BLAKE2b-256 checksum How to use checksums |
2a084e3d86167dd9b7069e1f0a0027270061e42f47e8683cbbe43586b4c4fb24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency logRelease files / animaflow-0.1.1-py3-none-any.whl
| Download URL | animaflow-0.1.1-py3-none-any.whl |
|---|---|
| Size | 18.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df502cf7ab73d8cf0fbc602e2de17df387fb23ae144d03a86f90083705813ed3
|
|
BLAKE2b-256 checksum How to use checksums |
ae3cf295040f66076fcefc590e156be7dea17a5fa5b95d9e6edc1d20ec0bd695
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log