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.
Metadata
Release files for holonet-py 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| holonet_py-1.0.0.tar.gz | 74.1 kB | Without provenance | Details for holonet_py-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| holonet_py-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for holonet_py-1.0.0-py3-none-any.whl |
Total release size: 144.9 kB
Release files / holonet_py-1.0.0.tar.gz
| Download URL | holonet_py-1.0.0.tar.gz |
|---|---|
| Size | 74.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
71f24faf56c2e53152e04a3370c97e82ea899671d8587992dd97d69db4441013
|
|
BLAKE2b-256 checksum How to use checksums |
93406da3d972a9af1168ee2834c41b50601ec9f5ee35190da21cce1ae1a6f4a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / holonet_py-1.0.0-py3-none-any.whl
| Download URL | holonet_py-1.0.0-py3-none-any.whl |
|---|---|
| Size | 70.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7f23c9b2d2b6c33c496ba38639758aa43e317dbff42e78d9703e9db28da8081e
|
|
BLAKE2b-256 checksum How to use checksums |
68b6fecb68a4517651273d3cd3b654bd71fb56b556ce92251e7cb862cf4d3690
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for holonet-py 1.0.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.