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.pyyutils.pyson 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.pyes 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 importarhttpx/requestsdirectamente 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, layoutsrc) y los módulosdomain/ystandards/, 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
domain/permissions.pyystandards/permissions/types.pydefinen dos enumsPermissiondistintos y no compatibles entre sí (AGENT_READ/AGENT_EXECUTE/DOMAIN_ADMIN/PROXY_USEvs.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.cryptography/encoding.py,cryptography/utils.pyydomain/policies.pyson placeholders vacíos o triviales (Policy.evaluatesiempre retornaTrue). No implementan lógica real.- El SDK (
api/manager/v1/) no reexpone los helpers de alto nivelfull_connect/open_and_linkque 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 sobreOSAMClient.
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| openshell_shared-5.0.0.tar.gz | 165.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openshell_shared-5.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 397.5 kB
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.