jetstan_ev_software
The vehicle software payload for Jetstan electric vehicles — the code
that actually runs on the vehicle's Raspberry Pi and defines its
behavior. Published independently of jetstan-agent (the OTA delivery
mechanism) and jetstan-cli (the engineer-facing deploy tool): this
package is versioned, released, and deployed on its own schedule,
never tied to either.
jetstan-agent = OTA/runtime agent (MQTT, self-update, process supervision)
jetstan-cli = engineer-facing deployment CLI
jetstan_ev_software = this package - what the vehicle actually runs
Import name: software. Distribution name on PyPI: jetstan_ev_software.
What's inside
- Arduino firmware + OTA flashing (
software.arduino_updates) — compiles the shipped motor-controller sketch witharduino-cli, flashes it over USB serial withavrdude, and verifies the board's contents against what was just written before trusting it. - Sensors & telemetry (
software.sensors) — reads live pack voltage/temperature back from the Arduino, and forwards motor speed commands to it over the same serial connection. - State-of-charge prediction (
software.soc) — an ONNX-exported model + FastAPI service for estimating battery state of charge from telemetry. - Deployment DAG (
software.deployment) — the task graph that compiles, flashes, and starts telemetry in the correct order every time the vehicle software activates, with real skip logic (not a blind cache) so nothing gets reflashed unnecessarily. - MQTT command extension point (
software.handlers) — this package's own custom MQTT commands, merged automatically intojetstan-agent's router withoutjetstan-agentever needing to know this package exists.
How it gets onto a vehicle
jetstan deploy --release X --batch <batch>
-> cloud-logics validates jetstan_ev_software==X on PyPI
-> MQTT: {"type": "software.available", "version": "X"}
-> jetstan-agent on the Pi -> software.handlers
-> pip install --upgrade jetstan_ev_software==X
-> restart -> deployment DAG compiles, flashes, and verifies
Not installed by hand in production — see jetstan-agent's own
jetstan-agent-install for how a fresh Pi gets this package onto it in
the first place.
Local development
cd software
pip install -e ".[dev]"
pytest
ARDUINO_ENABLED=false by default — Arduino compile/flash/telemetry
are opt-in via environment variable (see .env.example), so running
the test suite or importing this package never requires real hardware
to be attached.
Release files for jetstan-ev-software 0.1.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jetstan_ev_software-0.1.9.tar.gz | 650.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jetstan_ev_software-0.1.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / jetstan_ev_software-0.1.9.tar.gz
| Download URL | jetstan_ev_software-0.1.9.tar.gz |
|---|---|
| Size | 650.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ac12c3875ada01ce339028d6eb68e2436664a3215780e87a5946139bf0f0cad
|
|
BLAKE2b-256 checksum How to use checksums |
aeba1060ec513be6add6244a72ea6b3f514997a66c152aa48dd2c25f39c4c6df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / jetstan_ev_software-0.1.9-py3-none-any.whl
| Download URL | jetstan_ev_software-0.1.9-py3-none-any.whl |
|---|---|
| Size | 654.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
19d7aa9d08c229808aaed99225abfbd165e2022dc688ca29b9876779e7aa2d05
|
|
BLAKE2b-256 checksum How to use checksums |
7f1c9c743c4ccf496549300927770c18dfee18ad8160b4cf521a0e66dbdd4281
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|