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.5
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.5.tar.gz | 635.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jetstan_ev_software-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / jetstan_ev_software-0.1.5.tar.gz
| Download URL | jetstan_ev_software-0.1.5.tar.gz |
|---|---|
| Size | 635.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea5dae16c8b75b7475a6a1261d73192709ae48a8ffb03b7edb533dcbbc8c29aa
|
|
BLAKE2b-256 checksum How to use checksums |
b7bb5176358c249f7e175536398dab1dc8a54d8ce26b180b2d4703e0da6fe073
|
| 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.5-py3-none-any.whl
| Download URL | jetstan_ev_software-0.1.5-py3-none-any.whl |
|---|---|
| Size | 644.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ae1e05d559a118bcc2be9c0ef64681740a548be1aaaac81b843353b4baaa5327
|
|
BLAKE2b-256 checksum How to use checksums |
e7b9b17f83ed0ce92519045270390d35ce97f8131ce418220a9e331d80a7bf11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|