Infraestructura experimental para la simulación de redes muónicas holográficas
Project description
Holonet Muónica
Proyecto experimental basado en la hoja de ruta muónica. Este repositorio implementa la infraestructura necesaria para simular la red holográfica y preparar integraciones posteriores con hardware y servicios externos. La versión 1.0.0 marca el primer hito público disponible tanto en GitHub como en PyPI.
Instalación desde PyPI
pip install holonet-py
La distribución publica el paquete holonet y expone todas las abstracciones descritas en la documentación. Para verificar la versión instalada se puede ejecutar:
import holonet
print(holonet.__version__)
Si el comando imprime 1.0.0, la instalación coincide con la versión liberada.
Estructura inicial
src/holonet/
├── core/
├── modulation/
├── transmission/
├── decoding/
├── network/
├── interface/
├── simulation/
├── hardware/
└── security/
Plan de tareas
El desarrollo se organiza según las fases propuestas:
- Inicialización: configuración de empaquetado, documentación y estructura base.
- Abstracciones núcleo: definición de paquetes, señales y nodos.
- Simulación: motor muónico inicial, transporte y decodificación.
- Modulación: patrones leptónicos reutilizables.
- Red: topologías y coordinación de nodos.
- Interfaces: API web y puente WebSocket.
- Hardware simulado: drivers mock y seguridad básica.
- Inteligencia adaptativa: algoritmos de optimización y topología dinámica.
- Empaquetado y CI/CD: documentación extendida y flujos de despliegue.
Cada tarea se implementa con módulos y pruebas específicas para facilitar la colaboración futura.
Uso
- Instalar dependencias para desarrollo local (incluye pruebas y documentación):
pip install -e .[tests,docs]
Nota: el extra
testsinstalahttpx, necesario para ejecutar las pruebas que dependen defastapi.testclient. - Ejecutar pruebas con cobertura:
coverage run -m pytest
- Generar reportes de cobertura:
coverage xml coverage report
El archivocoverage.xmlse puede abrir con herramientas compatibles (por ejemplo, VS Code o Codecov) y el comandocoverage reportmostrará un resumen en la terminal. - Generar documentación:
mkdocs serve - Validar la documentación generada y los enlaces externos:
mkdocs build --strict HTMLPROOFER_VALIDATE_RENDERED=true mkdocs build --strict
El primer comando ejecuta una compilación estricta que activa el pluginmkdocs-htmlproofer-pluginsobre el contenido en Markdown. El segundo vuelve a ejecutar la verificación analizando el HTML final renderizado; así se detectan posibles problemas introducidos por plantillas o extensiones.
Despliegue automático de la documentación
El repositorio cuenta con un flujo de trabajo de GitHub Actions que instala las dependencias de documentación y ejecuta mkdocs gh-deploy cada vez que se hace push sobre la rama main. La acción utiliza el GITHUB_TOKEN integrado del repositorio con permisos de escritura sobre el historial para publicar el sitio en la rama gh-pages.
Para completar la configuración es necesario habilitar GitHub Pages desde Settings → Pages y seleccionar GitHub Actions como fuente de despliegue. Tras guardar los cambios, cada actualización en main generará y publicará automáticamente la última versión de la documentación.
Configuración de LeptonicGuard
- De forma predeterminada utiliza
InMemoryTokenStore, un almacén en memoria que no requiere configuración adicional. - Los tokens emitidos caducan automáticamente (TTL configurable, 5 minutos por
defecto) y se registran eventos de auditoría accesibles mediante
POST /audit/events. - Para reutilizar tokens entre procesos se puede instalar la dependencia opcional
redise inicializar el guardián conRedisTokenStore:from redis import Redis from holonet.security.leptonic_guard import LeptonicGuard from holonet.security.token_store import RedisTokenStore guard = LeptonicGuard(store=RedisTokenStore(Redis.from_url("redis://localhost:6379/0")))
- En entornos de pruebas se recomienda inyectar un stub que implemente
TokenStoreProtocolpara verificar la emisión y validación de tokens. - La API REST incorpora
POST /nodes/registerpara asociar un secreto compartido a cada nodo antes de solicitar tokens conPOST /token.
Repositorio de ejemplos
El directorio examples/ agrupa proyectos listos para clonar o copiar dentro de otros repositorios:
- Flask: microservicio que utiliza
MTQBridgepara exponer un endpoint REST con resultados de túneles cuánticos simulados. - FastAPI: API asíncrona con streaming de eventos MTQ y validación mediante
pydantic. - Sockets MTQ: servidor y cliente que intercambian marcos ópticos encapsulados a través de sockets TCP convencionales, demostrando la capa túnel clásica.
Cada ejemplo incluye instrucciones de ejecución y comandos de prueba rápidos. Se puede utilizar como base de un repositorio externo dedicado a demostraciones.
Contenedor Docker experimental
El directorio docker/ contiene un Dockerfile listo para construir un contenedor con la red tunelada simulada. La imagen instala holonet-py, expone scripts para activar una topología MTQ mínima y configura tmux para observar los túneles generados. Ejemplo rápido de construcción y ejecución:
docker build -t holonet-sandbox docker/
docker run --rm -it -p 8000:8000 holonet-sandbox
El contenedor inicia un uvicorn con el demo de FastAPI y mantiene disponible una sesión interactiva para ejecutar los demás ejemplos.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
File details
Details for the file holonet_py-1.0.0.tar.gz.
File metadata
- Download URL: holonet_py-1.0.0.tar.gz
- Upload date:
- Size: 74.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71f24faf56c2e53152e04a3370c97e82ea899671d8587992dd97d69db4441013
|
|
| MD5 |
fddf133d2b7fbf6f22886aad218efef3
|
|
| BLAKE2b-256 |
93406da3d972a9af1168ee2834c41b50601ec9f5ee35190da21cce1ae1a6f4a9
|
File details
Details for the file holonet_py-1.0.0-py3-none-any.whl.
File metadata
- Download URL: holonet_py-1.0.0-py3-none-any.whl
- Upload date:
- Size: 70.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f23c9b2d2b6c33c496ba38639758aa43e317dbff42e78d9703e9db28da8081e
|
|
| MD5 |
fbd510833e3dd62cc65a06f509d7d530
|
|
| BLAKE2b-256 |
68b6fecb68a4517651273d3cd3b654bd71fb56b556ce92251e7cb862cf4d3690
|