Skip to main content

Ephapsys helps you empower and govern AI agents.

Project description

Ephapsys SDK

Lightweight SDK for EC-ANN modulation, trusted agent provisioning, and runtime security.


📦 Installation

pip install ephapsys

Optional feature groups:

pip install "ephapsys[modulation]"
pip install "ephapsys[audio]"
pip install "ephapsys[eval]"
pip install "ephapsys[vision]"      # alias: [video]
pip install "ephapsys[all]"

Choose the profile by workload:

Workload Install command
Lightweight orchestrator/proxy only pip install ephapsys
Agent runtime (HelloWorld language) pip install "ephapsys[modulation]"
Agent runtime (Robot multimodal) pip install "ephapsys[modulation,audio,vision,embedding]" + pip install webrtcvad sounddevice pyaudio
Modulators/training scripts pip install "ephapsys[modulation]"
Modulators with full evaluation/report stack pip install "ephapsys[all]"

🚀 Quickstart

from ephapsys import TrustedAgent

agent = TrustedAgent.from_env()

ok, report = agent.verify()
if not ok:
    raise RuntimeError(f"Agent blocked: {report}")

agent.prepare_runtime()
print(agent.run("Hello world", model_kind="language"))

⚙️ Environment Variables

Variable Description
EPHAPSYS_AGENT_ID Agent ID/label assigned by AOC
AOC_BASE_URL API endpoint, e.g. http://localhost:8000
AOC_ORG_ID Org identifier (non-secret tenant scope)
AOC_PROVISIONING_TOKEN Provisioning credential exchanged for short-lived device token
EPHAPSYS_STORAGE_DIR Optional, defaults to .ephapsys_state

For edge production, use hardware anchors (tpm, tee, dsim, hsm) and avoid PERSONALIZE_ANCHOR=none.


🎛️ ModulatorClient

Start / iterate / complete modulation on model templates:

from ephapsys.modulation import ModulatorClient

mod = ModulatorClient(api_base="http://localhost:7001", api_key="dev")
resp = mod.start_job(
    model_template_id="google/gemma-2b",
    variant="ec-ann",
    search_space={"lr": [1e-3, 1e-4]},
    kpi={"accuracy": "max"},
    mode="auto"
)
print(resp)

🖥️ CLI

The SDK includes a CLI (ephapsys) for working with agents, models, modulation, and certificates.
Authentication is required before most commands.

🔑 Login

ephapsys login --username izzo
Password: ****
✅ Logged in.

This stores a JWT in ~/.ephapsys_state/session.json.


📦 Models

Register, list, and remove models tied to your org.

# Register
ephapsys model register --provider huggingface --ids google/gemma-2b
ephapsys model register --provider huggingface --ids google/embeddinggemma-300m  google/flan-t5-base
ephapsys model register --provider huggingface --ids microsoft/speecht5_tts
ephapsys model register --provider huggingface --ids google/gemma-2b google/embeddinggemma-300m  microsoft/speecht5_tts

# List (pretty table)
ephapsys model list
name                 provider     status
-----------------------------------------
google/gemma-2b      huggingface  registered
google/embedding...  huggingface  registered

# List (JSON)
ephapsys model list --json

# Remove
ephapsys model remove --provider huggingface --id google/gemma-2b

🤖 Agents

# List (pretty table)
ephapsys agent list
agent_id     label        status
--------------------------------
agent-123    Sales Bot    registered
agent-456    SupportBot   enabled

# List (JSON)
ephapsys agent list --json

Other agent commands (verify, enable, disable, revoke, export-manifest) are also available.


📊 Modulation

# Start job
ephapsys mod start --model-template-id google/gemma-2b --variant ec-ann   --search-space '{"lr":[1e-3,1e-4]}' --kpi '{"accuracy":"max"}'

# Report metrics
ephapsys mod metrics --job-id JOB123 --metrics '[{"step":1,"val":0.84}]'

# Request next step
ephapsys mod next --job-id JOB123 --last-metrics '[{"step":1,"val":0.84}]'

# Complete job
ephapsys mod complete --job-id JOB123 --artifacts '{"weights":"s3://..."}'

🧪 Samples

Access the samples at: https://github.com/ephapsys

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

ephapsys-0.2.19.tar.gz (71.7 kB view details)

Uploaded Source

Built Distribution

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

ephapsys-0.2.19-py3-none-any.whl (74.6 kB view details)

Uploaded Python 3

File details

Details for the file ephapsys-0.2.19.tar.gz.

File metadata

  • Download URL: ephapsys-0.2.19.tar.gz
  • Upload date:
  • Size: 71.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for ephapsys-0.2.19.tar.gz
Algorithm Hash digest
SHA256 7ac037cc38c973c5c61ce122e54b4bb300b6e574dd865a0d8007391d5471795f
MD5 6933175eabe8caf102554bbfbdcd59ff
BLAKE2b-256 04d84d767528b89f70acea0b9a91d632778ef57db81fec86b32402f137b6a407

See more details on using hashes here.

File details

Details for the file ephapsys-0.2.19-py3-none-any.whl.

File metadata

  • Download URL: ephapsys-0.2.19-py3-none-any.whl
  • Upload date:
  • Size: 74.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.13

File hashes

Hashes for ephapsys-0.2.19-py3-none-any.whl
Algorithm Hash digest
SHA256 f182449c6846f2fbca165510c195a033a8f28dcd5019c7edd90216b2f2ac62b7
MD5 81b283ef8c790ad30e47078e1ee4e23b
BLAKE2b-256 a2eda8192f982628c83bce9f0b3201499e64e46b9dc42cf038a0264a48d0f099

See more details on using hashes here.

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