Skip to main content

OpenShell Shared

Librería compartida usada por los componentes de OpenShell (OSAM, OSA, OSAC).

Contiene:

  • identity/ — Identidad lógica de las entidades (EntityIdentity, Identification) y su persistencia (store.py).
  • cryptography/ — Primitivas Ed25519 (keys.py, signatures.py), identidad criptográfica (identity.py) y certificados (certificate.py). encoding.py y utils.py son módulos reservados para trabajo futuro (actualmente sin implementación).
  • protocols/negotiation/ — Protocolo de challenge-response (challenge.py) y sus modelos.
  • domain/ — Modelo de dominio (Domain, Membership, Permission) y políticas de autorización. policies.py es un stub pendiente de implementación real.
  • standards/ — Enumeraciones y contratos compartidos entre componentes: tipos de entidad, certificados, eventos, roles, permisos, passports y transportes.
  • modules/shell/ — Implementación del subsistema de shell remoto (cliente, servidor, sesión y protocolo de framing) usado por OSA y OSAC.
  • api/manager/v1/ — SDK oficial async para consumir la API HTTP de OSAM (OSAMClient). Todo el sistema (OSAC, OSA, herramientas internas) debe consumir OSAM exclusivamente a través de este paquete; ningún otro componente debe importar httpx/requests directamente para hablar con OSAM.

Notas de la fusión (v2.1.0)

Esta versión unifica dos ramas que habían divergido:

  • Se conserva la estructura de empaquetado (pyproject.toml, layout src) y los módulos domain/ y standards/, introducidos en la rama de refactor v2.
  • Se restaura modules/shell/ y se sustituye el cliente HTTP monolítico (api/manager/1/osam_client.py) por el SDK modular (api/manager/v1/), que es la versión vigente y más completa (excepciones tipadas, dataclasses, suite de tests con mock transport).

Deuda técnica pendiente identificada durante la fusión

  1. domain/permissions.py y standards/permissions/types.py definen dos enums Permission distintos y no compatibles entre sí (AGENT_READ/AGENT_EXECUTE/DOMAIN_ADMIN/PROXY_USE vs. DOMAIN_READ/DOMAIN_WRITE/ENTITY_REGISTER/ENTITY_REVOKE/PROXY_USE). No se han unificado automáticamente porque implica una decisión de diseño (cuál es la fuente de verdad de permisos). Requiere consolidación manual.
  2. cryptography/encoding.py, cryptography/utils.py y domain/policies.py son placeholders vacíos o triviales (Policy.evaluate siempre retorna True). No implementan lógica real.
  3. El SDK (api/manager/v1/) no reexpone los helpers de alto nivel full_connect / open_and_link que existían en el cliente monolítico anterior (composición de autenticación + túnel + sesión en una sola llamada). Si se siguen usando, conviene reimplementarlos como métodos de conveniencia sobre OSAMClient.

Metadata

Release files for openshell-shared 5.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openshell-shared 5.0.0
File Size Uploaded Provenance
openshell_shared-5.0.0.tar.gz 165.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for openshell-shared 5.0.0
File Interpreter ABI Platform
openshell_shared-5.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 397.5 kB

Release files / openshell_shared-5.0.0.tar.gz

Download URL openshell_shared-5.0.0.tar.gz
Size 165.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9cc8938d9a0a55416d99a341467ece617ba5b6d2efb813149de712d333e991e0
BLAKE2b-256 checksum
How to use checksums
c97fa56c5045d2a732c0410c934db5f91f7b056c10e024325d6b6ee2bbf78163
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / openshell_shared-5.0.0-py3-none-any.whl

Download URL openshell_shared-5.0.0-py3-none-any.whl
Size 231.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2c668b51ed8fb68e090b40a8dbdd63a2af8c21992b1322b8dfb185053a6d0fb
BLAKE2b-256 checksum
How to use checksums
ac36836e30ef797db3c53a17f26960de71be347e8f8f336e217898ccb6b12d1f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for openshell-shared 5.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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page