Skip to main content

Host-side Python bindings for capOS, the capability operating system: a remote-session client over the CapSet forwarding protocol (https://cap-os.dev).

Project description

capos (Python)

Host-side Python bindings for capOS, a research capability operating system where every resource is a typed Cap'n Proto capability.

This package is the working base for the host-side capOS SDK: it binds capOS's in-repo host remote-session client, which speaks the CapSet forwarding protocol that a running capOS exposes. That protocol is the concrete shape of the capos Rust crate's reserved remote transport, surfaced here in Python. Today it covers connecting, authenticating, listing the forwarded CapSet, and reading session metadata; more of the typed capability surface follows.

Install

pip install capos

Prebuilt wheels target Linux x86_64, CPython 3.9+ (abi3). On other platforms pip falls back to the source distribution, which builds the Cap'n Proto schema and therefore needs the pinned Cap'n Proto compiler on the build host.

Hello world

Needs no capOS instance:

import capos

print(capos.hello())
print("capos", capos.__version__)

Connect to a running capOS

Start a capOS instance from the repo (make run) so it forwards the remote CapSet on 127.0.0.1:2327, then:

import capos

with capos.Client(host="127.0.0.1", port=2327) as client:
    client.login_anonymous(profile="operator")
    print(client.system_motd())
    for cap in client.list_capset():
        print(cap)

See examples/ for runnable scripts.

Links

Licensed under either of MIT or Apache-2.0 at your option.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

capos-0.1.3.tar.gz (5.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

capos-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (395.6 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

File details

Details for the file capos-0.1.3.tar.gz.

File metadata

  • Download URL: capos-0.1.3.tar.gz
  • Upload date:
  • Size: 5.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for capos-0.1.3.tar.gz
Algorithm Hash digest
SHA256 6cfcd2c5d57edfd98534e71759ea3a80a25811d577f9a3f777cdaca4ee3a0b62
MD5 69d59c74f0492d5cb0910d589e7434ce
BLAKE2b-256 29045632ac1250a53805f3f7daa58862f8bc715d1932e3883964d03a6f160248

See more details on using hashes here.

Provenance

The following attestation bundles were made for capos-0.1.3.tar.gz:

Publisher: python-release.yml on ei-grad/capos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file capos-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for capos-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 217f77110ca769bf98d6e00b8c23e89567ce1f30063a72d478162a91120a88c4
MD5 bce445ab4f80e967d09a2eb558bee255
BLAKE2b-256 e7ea78f76512614d171e20b775637394230761efad1e5c8f4ad3ee7e7aad87ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for capos-0.1.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python-release.yml on ei-grad/capos

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page