Kaithem Automation
Amidst the mists and fiercest frosts,
with stoutest wrists and loudest boasts,
He thrusts his fists against the posts,
And still insists he sees the ghosts.
Kaithem is Linux home/commercial automation server written in pure Python(3.10 and up). Resource usage is low enough to run well on the Raspberry Pi from an SD card
You automate things by directly writing python and HTML via a web IDE, or by using the built-in Chandler module, which is a full web-based lighting aud audio control board with a visual programming language.
Screenshots 🏕️
See the barrel.css demo for more themes
Try it out in a Docker sandbox
With Docker's sandboxing, you won't be able to access any hardware, but you can check out the UI, and if you want to set it up for real, see the kaithem-scripts repo and the docker instructions.
You might see some warnings on the command line about the hardware it can't access, but it should eventually load.
--set-admin-password is NOT meant for normal use, and will always set the password to test-admin-password, it only exists for demos.
mkdir -p kaithem-test && docker run --rm -v ./kaithem-test:/app-home/ -p 8002:8002 -u "$(id -u):$(id -g)" -e USER=$(id -un) -e LOGNAME=$(id -un) cooperskeep/kaithem:0.97.0 --set-admin-password test-admin-password
Installation 🌲
The careful text-books measure
(Let all who build beware!)
The load, the shock, the pressure
Material can bear.
Assuming you're on Debian or similar and have uv installed, you can run it directly from UV tool.
See Install dependencies and Runtime dependencies
# See links for the list of apt packages you'll need
sudo apt install ......
uv tool install --force kaithem
# Start it
kaithem
System Configuration 🛠️
So, when the buckled girder
Lets down the grinding span,
The blame of loss, or murder,
Is laid upon the man.
Not on the Stuff — the Man!
Coming soon: Everything is in the process of being moved to docker. Old scripts are broken on new Debian/Raspios, breaking changes are taking an unsustainable amount of time and this project does not have the resources for an interim solution.
Dev Install 🖐️
Info for devs here on the wiki (https://github.com/EternityForest/KaithemAutomation/wiki/Development)
Build dependencies
Dashbeard(https://github.com/EternityForest/Dashbeard) must be cloned into the same folder you cloned this repo into.
Setup
First get all system dependencies as per the main install section.
uv sync
# Need to set up Rust if you don't already have everything
# All Rust code currently compiles to .wasm
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add wasm32-unknown-unknown
# Need install deps to build the frontend with npm
npm install
make build
Docker Building
Clone this repo and dashbeard, do
cd docker
docker compose build
This will buid three images, a builder that creates the kaithem Wheel, the runtime app image that would be used for production, and a dev image that can be used to debug.
The dev image contains /workspaces/KaithemAutomation as the default working directory, so you can
KAITHEM_UID=$UID KAITHEM_GROUP=$GID KAITHEM_USER=$USR docker compose run kaithem-d
ev testing_server.py
Recent Changes 🕗
Good men, the last wave by, crying how bright
Their frail deeds might have danced in a green bay,
Rage, rage against the dying of the light.
(See Full Changelog)
Metadata
Release files for kaithem 0.97.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 | |
|---|---|---|---|
| kaithem-0.97.0.tar.gz | 13.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kaithem-0.97.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.4 MB
Release files / kaithem-0.97.0.tar.gz
| Download URL | kaithem-0.97.0.tar.gz |
|---|---|
| Size | 13.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e95534c5093622760158c9db30dd7883f72d1364b7923b47f8a34e9b3c5701c5
|
|
BLAKE2b-256 checksum How to use checksums |
3de8ebdd46c895e57cdb4094791104ee3bb9eeefd397630fa2aa970c9d09558c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / kaithem-0.97.0-py3-none-any.whl
| Download URL | kaithem-0.97.0-py3-none-any.whl |
|---|---|
| Size | 9.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
043adf12d47fc6b0ce859a6c1c0aacea6654393108cc6087162d3355a034efa6
|
|
BLAKE2b-256 checksum How to use checksums |
8349221092aa6b27f7c24a8f965837f21d87b1f287209c40fe9a4597a058d446
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|