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.0.7
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.0.7.tar.gz | 615.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jetstan_ev_software-0.0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / jetstan_ev_software-0.0.7.tar.gz
| Download URL | jetstan_ev_software-0.0.7.tar.gz |
|---|---|
| Size | 615.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
25dbc14f6dd2f8968bc967847876cc724a042f6b20cf8e1c97d86e2c55a10022
|
|
BLAKE2b-256 checksum How to use checksums |
af8ee5ae47439cd9b0057cb4e156473ea191b30d29248898734aacb078335326
|
| 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.0.7-py3-none-any.whl
| Download URL | jetstan_ev_software-0.0.7-py3-none-any.whl |
|---|---|
| Size | 630.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
efd8caddaaf8e8a4182db06b58c4b64f9a78ee0d63fdb92248a6bb2519523136
|
|
BLAKE2b-256 checksum How to use checksums |
9d5e2e2e0c50b8a8a47bbba8af3012624cfb0082193c36d2bea9a85daab52a89
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|