Skip to main content

Una librería Python para crear diagramas de arquitectura y flujo con iconos profesionales

Project description

Flujograma

Pillow Lark

Una librería Python para generar diagramas automáticamente a partir de texto en lenguaje controlado.

Características

  • 100% Offline: No requiere conexión a internet ni servicios de IA
  • Ligero: Sin dependencias pesadas como GraphViz o herramientas externas
  • Multiidioma: Soporte para español, inglés y fácil extensión a otros idiomas
  • Lenguaje controlado: Basado en gramáticas simples, no IA completa
  • Diagramas de arquitectura: Soporte experimental para diagramas de infraestructura

Instalación

pip install flujograma

Uso básico

Diagramas de flujo tradicionales

from flujograma import generate_diagram

# Generar diagrama en español
generate_diagram(
    text="Si la variable es mayor a 5, entonces imprimir mensaje sino incrementar contador",
    language="es",
    filename="mi_diagrama.png"
)

# Generar diagrama en inglés
generate_diagram(
    text="If variable is greater than 5, then print message else increment counter",
    language="en", 
    filename="my_diagram.png"
)

Diagramas de arquitectura web (Web Services) - EXPERIMENTAL

from src.flujograma.diagrams_api import Diagram, ELB, EC2, RDS, S3

# Crear arquitectura básica
with Diagram("Mi Arquitectura", filename="arquitectura.png"):
    ELB("load-balancer") >> EC2("web-server") >> RDS("database") >> S3("storage")

# Arquitectura con múltiples filas y flechas direccionales
with Diagram("Sistema Complejo", filename="sistema.png"):
    # Fila 1: Flujo principal
    ELB("lb") >> EC2("frontend") >> RDS("main-db") >> S3("files")
    # Fila 2: Con feedback (flecha izquierda ←)
    ELB("lb") >> EC2("cache") >> RDS("main-db") << EC2("analytics")
    # Fila 3: Servicios auxiliares
    ELB("lb") >> EC2("api") >> RDS("logs-db")

Operadores disponibles:

  • >> : Flecha hacia la derecha →
  • << : Flecha hacia la izquierda ←

Componentes AWS:

  • ELB("nombre") : Load Balancer (púrpura)
  • EC2("nombre") : Servidor/Aplicación (naranja)
  • RDS("nombre") : Base de datos (azul)
  • S3("nombre") : Almacenamiento (verde)

Sintaxis soportada

Español

  • Si [condición], entonces [acción]
  • Si [condición], entonces [acción] sino [acción]
  • Mientras [condición], [acción]
  • Para cada [elemento] en [lista], [acción]
  • Inicio / Fin

Inglés

  • If [condition], then [action]
  • If [condition], then [action] else [action]
  • While [condition], [action]
  • For each [element] in [list], [action]
  • Start / End

Estructura del proyecto

flujograma/
├── src/
│   └── flujograma/
│       ├── core/           # Lógica principal
│       ├── languages/      # Soporte multiidioma
│       └── renderers/      # Generadores de salida
├── tests/                  # Pruebas unitarias
├── examples/              # Ejemplos de uso
└── docs/                  # Documentación

Desarrollo

# Clonar repositorio
git clone https://github.com/CubeFreaKLab/flujograma.git
cd flujograma

# Instalar dependencias de desarrollo
pip install -e ".[dev]"

# Ejecutar pruebas
pytest

## Licencia

MIT License

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

flujograma-1.0.3.tar.gz (397.9 kB view details)

Uploaded Source

Built Distribution

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

flujograma-1.0.3-py3-none-any.whl (397.0 kB view details)

Uploaded Python 3

File details

Details for the file flujograma-1.0.3.tar.gz.

File metadata

  • Download URL: flujograma-1.0.3.tar.gz
  • Upload date:
  • Size: 397.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for flujograma-1.0.3.tar.gz
Algorithm Hash digest
SHA256 e53a0468e940b2072c15e295365943e089b7b745c016bfe7146fdb9ec4fc58d9
MD5 c008ab6a966bd0fa8df7e1896a315d2d
BLAKE2b-256 d604c9eecfa02c6afab2de85fad84655990ee167d384220d4b5eba92f00345dd

See more details on using hashes here.

File details

Details for the file flujograma-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: flujograma-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 397.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for flujograma-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4ecedabd5f2dcddec671af359a3930cb62a6c75c973007817d67bf59e63d334b
MD5 7479b4bfc2bea47e9aebf65d92e263fe
BLAKE2b-256 3e38930aa2623fcc4330ba841746ae9a836726f9eb13e4630a897068e33ca882

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