ThingFlash
Production-ready AWS IoT infrastructure in three commands.
Building an IoT backend on AWS means wiring together 15+ services — IoT Core, X.509 certificates, IoT policies, Device Shadows, Rules, Lambda, S3, DynamoDB, CloudWatch — and getting the security right on every one of them.
ThingFlash compresses that into a declarative workflow:
pipx install thingflash
thingflash init
thingflash plan
thingflash apply
From an empty AWS account to a secure MQTT-connected device with telemetry flowing into a database — in under 15 minutes.
What is ThingFlash?
ThingFlash is an open-source, opinionated CLI for provisioning and operating AWS IoT infrastructure. You describe your device fleet in a single version-controlled YAML manifest — ThingFlash safely creates and manages everything else.
It is not a Terraform replacement. It's a specialized layer for connected products that knows how IoT should be built:
- Secure by default — one certificate per device, least-privilege IoT policies, topic access scoped by Thing name
- Plan before apply — every change is previewed with security warnings; nothing touches your infrastructure silently
- Batteries included — device registry, certificate lifecycle, MQTT topics, telemetry pipelines, image upload, monitoring
- Automation-first — every command is idempotent, non-interactive, and supports
--output jsonfor CI/CD and AI agents
Who is it for?
Developers and teams building connected products — from ESP32 microcontrollers to Raspberry Pi gateways, sensors, cameras, and robot fleets — who need a real cloud backend without becoming AWS IoT experts first.
# thingflash.yaml — your entire IoT backend in one file
fleet:
thingType: camera
policies:
mode: least-privilege
telemetry:
rules:
- name: telemetry-to-dynamodb
source: devices/+/telemetry
destination:
type: dynamodb
Get involved
- ⭐ Star the main repository to follow progress
- 💬 Open an issue — feedback from real IoT teams shapes the roadmap
- 📖 Read the documentation
License
Apache 2.0 — open source.
Metadata
Release files for thingflash 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| thingflash-0.0.1.tar.gz | 854.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| thingflash-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 865.4 kB
Release files / thingflash-0.0.1.tar.gz
| Download URL | thingflash-0.0.1.tar.gz |
|---|---|
| Size | 854.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
52d665c5edb018391e087fcdd875bc29de6ed0bb636b1bb96562e697a344b252
|
|
BLAKE2b-256 checksum How to use checksums |
e8fb9ab26325e8f6a8880a5743d4ec986e4d4601f09d1cabd191c6d0967d7ff0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / thingflash-0.0.1-py3-none-any.whl
| Download URL | thingflash-0.0.1-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
adc651621e30d0b60fea539a46e8de786a15e341fe444ea6e74e4f49612e8a00
|
|
BLAKE2b-256 checksum How to use checksums |
ed547cebbe20b2b1e5f03760a4ca16e5a3e9a60574b7c2ceb9f6ef7654f1774a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|