Metadata-Version: 2.4
Name: alloy-embedded
Version: 0.3.0
Summary: Alloy embedded framework CLI: one portable C++23 app, any supported MCU (STM32, SAM, RP2040, ESP32) — scaffold, generate, build, flash, monitor, debug
Project-URL: Homepage, https://github.com/Alloy-Embedded/alloy
Project-URL: Repository, https://github.com/Alloy-Embedded/alloy
Author: Luiz Carlos Gili
License-Expression: MIT
License-File: LICENSE
Keywords: embedded,esp32,firmware,hal,mcu,rp2040,sam,stm32
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: C++
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Embedded Systems
Requires-Python: >=3.11
Requires-Dist: alloy-devices==0.3.0
Requires-Dist: certifi>=2024.2
Requires-Dist: cryptography>=42
Requires-Dist: esptool>=4.7
Requires-Dist: jsonschema>=4.21
Requires-Dist: pyserial>=3.5
Requires-Dist: pyyaml>=6.0
Description-Content-Type: text/markdown

# alloy-embedded

The CLI for the [Alloy framework](https://github.com/Alloy-Embedded/alloy):
one portable C++23 app source, any supported microcontroller — STM32 (G0/F7),
SAM E70, RP2040, ESP32 — with zero `#ifdef`s.

```
uv tool install alloy-embedded      # installs the `alloy` command
alloy setup                          # verify/install toolchains (PATH-first)
alloy new blinky --board nucleo_g071rb
cd blinky && alloy run               # build + flash + serial monitor
```

The wheel embeds the framework (C++ runtime, board data) and depends on
`alloy-devices` (the curated register/chip database).

Verbs, by task:

- **start** — `new`, `boards`, `chips`, `set-board`, `setup`
- **build & run** — `build`, `flash`, `monitor`, `run`, `gen`, `clean`, `test`
- **inspect** — `size`, `matrix`, `frame-audit`, `svd`, `debug-info`
- **configure** — `board-info`, `board-validate`, `board-clone`, `chip-info`, `clock`
- **emulate** — `emulate` (headless Renode on a data-generated platform)
- **field update** — `keygen`, `image`, `ports`, `update` (A/B slots, trial boot with
  rollback, optional Ed25519-signed images)
- **libraries** — `lib list | search | info | add`

Most take `--json` for editor integration (versioned envelopes).

Docs: <https://alloy-embedded.github.io/alloy/> ·
VS Code extension: [alloy-vscode](https://github.com/Alloy-Embedded/alloy-vscode).
