| Crates.io | suma_ulsa |
| lib.rs | suma_ulsa |
| version | 0.1.0 |
| created_at | 2025-11-14 19:29:01.03404+00 |
| updated_at | 2025-11-14 19:29:01.03404+00 |
| description | Sistema Universitario de Métodos Académicos (SUMA) - librería Rust con bindings Python |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1933332 |
| size | 442,145 |
Librería académica para el aprendizaje y resolución rigurosa de métodos universitarios, con un enfoque práctico y accesible.
El módulo de álgebra booleana proporciona herramientas completas para trabajar con expresiones lógicas, tablas de verdad, simplificación y análisis de circuitos digitales.
pip install suma_ulsa
Nota: Si usas este repositorio desde fuentes, sigue las instrucciones de "Instalación para desarrollo" más abajo.
from suma_ulsa.boolean_algebra import BooleanExpr
# Crear y evaluar expresiones booleanas
expr = BooleanExpr("(A and B) or (not C)")
resultado = expr.evaluate({'A': True, 'B': False, 'C': True})
print(f"Resultado: {resultado}")
# Generar tabla de verdad completa
tabla = expr.truth_table()
print(tabla)
# Verificar propiedades
print(f"¿Es tautología? {expr.is_tautology()}")
print(f"¿Es contradicción? {expr.is_contradiction()}")
from suma_ulsa.boolean_algebra import BooleanExpr
# Expresión simple
expr1 = BooleanExpr("A and B")
print(expr1.evaluate({'A': True, 'B': True})) # True
# Expresión con múltiples operadores
expr2 = BooleanExpr("(A or B) and not C")
valores = {'A': True, 'B': False, 'C': True}
print(expr2.evaluate(valores)) # False
# Generar tabla de verdad
expr = BooleanExpr("A xor B")
tabla = expr.truth_table()
# La tabla muestra todas las combinaciones y resultados
print(tabla)
# Salida aproximada:
# | A | B | Result |
# |---|---|--------|
# | 0 | 0 | 0 |
# | 0 | 1 | 1 |
# | 1 | 0 | 1 |
# | 1 | 1 | 0 |
print("CSV:\n", tabla.to_csv())
print("JSON:", tabla.to_json())
print("Lazyframe:", tabla.to_lazyframe())
print("Polars Dataframe:", tabla.to_polars())
print("Dictionary:", tabla.to_column_dict())
print("List: ", tabla.to_list())
print("Named rows:", tabla.to_named_rows())
Clase Expression — métodos principales:
__init__(expr: str): Crea expresión desde stringevaluar(**variables): Evalúa con valores específicostabla_verdad(): Genera tabla de verdad completaes_tautologia(): Verifica si siempre es verdaderaes_tautologia(): Verifica si siempre es falsaes_contingencia(): Verifica si depende de variablessimplificar(): Retorna expresión simplificadaequivalentes(otra_expr): Compara equivalencia lógicaand, &, ∧or, |, ∨not, ~, ¬xor, ^, ⊕implies, =>, →iff, <=>, ↔| Módulo | Estado | Funcionalidades |
|---|---|---|
| Álgebra Booleana | ✅ Implementado | Expresiones, tablas de verdad, simplificación |
| Estructuras de Datos | 🔄 En desarrollo | Grafos, árboles, algoritmos de búsqueda |
| Finanzas Computacionales | 📅 Planeado | TVM, análisis de inversiones, préstamos |
| Métodos Numéricos | 📅 Planeado | Ecuaciones, derivación, integración |
# Clonar repositorio
git clone https://github.com/Void-CA/suma.git
cd suma
# Instalar en modo desarrollo
pip install -e .
# Ejecutar tests
cargo test
python -m pytest tests/
Las contribuciones son bienvenidas. Áreas prioritarias:
suma/
├── src/
│ ├── lib.rs
│ ├── core/ # Módulo core codificado en Rust
│ | ├── boolean_algebra/ # Módulo de álgebra booleana
│ | ├── ...
│ └── bindings/ # Bindings Python
├── suma_ulsa/ # Paquete Python
│ ├── __init__.py
│ └── boolean_algebra/
---
## 📄 Licencia
MIT License — ver `LICENSE` para detalles.
---
_Desarrollado por estudiantes, para estudiantes, con dedicación y rigor académico._