Manage edge devices for use with the CHI@Edge IoT/Edge testbed.
Project description
python-chi-edge
CLI for enrolling and managing your own edge devices in the Chameleon testbed.
What this is for
You have a single-board computer (Like a Raspberry Pi 4/5, Nvidia Jetson, ...) and you want to add it to CHI@Edge so that it can be used for Computer Science related Research and Education, by yourself, classmates or coworkers, or the larger Chameleon user community. This tool handles device registration, OS image configuration, and ongoing device management.
You do NOT need this tool to use devices that are already enrolled. If you just want to reserve and run containers on existing CHI@Edge hardware, use the web dashboard or the python-chi SDK.
Prerequisites
- A Chameleon account with an active allocation
- A clouds.yaml or openrc file from the CHI@Edge dashboard
- Python 3.9+
- Physical access to the device you're enrolling
Install
pip install python-chi-edge
Enrollment workflow
1. Register your device
chi-edge device register \
--contact-email you@example.com \
--machine-name raspberrypi5 \
my-device
After this stage, the device will appear with (2/4 checks) passing.
2. Bake the OS image
Download the appropriate balenaOS image for your device, then configure it for the testbed:
chi-edge device bake --image balena.img <device-uuid>
3. Flash and boot
Write the baked image to your device's storage (microSD or eMMC) using balenaEtcher or dd, then power on. The device should appear healthy (4/4 checks) within a few minutes.
Device management
| Command | Description |
|---|---|
chi-edge device list |
List your registered devices |
chi-edge device show <name> |
Show device details and health |
chi-edge device set |
Update device configuration |
chi-edge device delete <name> |
Remove a device |
chi-edge device sync <name> |
Force device re-sync |
Configuration
Uses OpenStack clouds.yaml or environment variables for authentication. Specify the cloud with --os-cloud or set OS_CLOUD.
Documentation
- CHI@Edge enrollment guide — full walkthrough with screenshots
- CHI@Edge user docs — reservations, containers, peripherals
- Chameleon docs — broader platform documentation
License
Apache 2.0
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_chi_edge-0.3.1.tar.gz.
File metadata
- Download URL: python_chi_edge-0.3.1.tar.gz
- Upload date:
- Size: 112.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.5 {"installer":{"name":"uv","version":"0.11.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae24175873005ef0fb559a3e2d972d5807cf76cba485b5a263fe7ecefd71758c
|
|
| MD5 |
1929075cbaabff105b086588e373c1e8
|
|
| BLAKE2b-256 |
5933badb8107d4e5981e2caec70c9b6df57022a9d4293f6538c38411777de1b3
|
File details
Details for the file python_chi_edge-0.3.1-py3-none-any.whl.
File metadata
- Download URL: python_chi_edge-0.3.1-py3-none-any.whl
- Upload date:
- Size: 127.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.5 {"installer":{"name":"uv","version":"0.11.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a83e9b22875f964505181aa6cea81ac59ddba5718ca1a146233c16256859c43
|
|
| MD5 |
77cc892c8ab4671087b5d02007132e7f
|
|
| BLAKE2b-256 |
f8dbf7cd601af4662330790478cd8530d8d63d999ad6e026cb1ed420a4c625ec
|