Una librería Python para crear diagramas de arquitectura y flujo con iconos profesionales
Project description
Flujograma
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: Compatible con diagrams.mingrammer.com para crear diagramas de infraestructura cloud (AWS) con sintaxis sencilla
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)
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.2.tar.gz
(397.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
flujograma-1.0.2-py3-none-any.whl
(397.0 kB
view details)
File details
Details for the file flujograma-1.0.2.tar.gz.
File metadata
- Download URL: flujograma-1.0.2.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e1795d938ea7ab46710c5dfd713ea12baaa6c878e9f4845e1787242090498f83
|
|
| MD5 |
29e386284d5bd0f03415dfc40758c011
|
|
| BLAKE2b-256 |
7da24a57bb736b98c6287c868449ce48a2f5be708b2bfbcf8bc135058b0909e3
|
File details
Details for the file flujograma-1.0.2-py3-none-any.whl.
File metadata
- Download URL: flujograma-1.0.2-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af7e90467b07c8bbf4319112a22ecde0b481c6977042057d9a0b99fb6777892a
|
|
| MD5 |
bb683eecc320d1fb5f297d84faa88fb0
|
|
| BLAKE2b-256 |
7e76efe54f157de1d345055302f2a5503b2ce066a82a1e7543343386626f6661
|