Production-ready AWS IoT infrastructure from a declarative YAML manifest.
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file thingflash-0.0.1.tar.gz.
File metadata
- Download URL: thingflash-0.0.1.tar.gz
- Upload date:
- Size: 854.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52d665c5edb018391e087fcdd875bc29de6ed0bb636b1bb96562e697a344b252
|
|
| MD5 |
75c483bb3f646712c81487d7a4a586a8
|
|
| BLAKE2b-256 |
e8fb9ab26325e8f6a8880a5743d4ec986e4d4601f09d1cabd191c6d0967d7ff0
|
File details
Details for the file thingflash-0.0.1-py3-none-any.whl.
File metadata
- Download URL: thingflash-0.0.1-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
adc651621e30d0b60fea539a46e8de786a15e341fe444ea6e74e4f49612e8a00
|
|
| MD5 |
61f84d6906f652a1ab82fdc0ddb60339
|
|
| BLAKE2b-256 |
ed547cebbe20b2b1e5f03760a4ca16e5a3e9a60574b7c2ceb9f6ef7654f1774a
|