**Cumulative operators** let you accumulate values on an attribute. For example, if you add a parameter `current_budget` to a `Power` interface, you can have all your devices `-=` their required current ranges from it, and the supply `+=` current to it. Add an assertion `current_budget >= 0mA` and boom :exploding_head: you make sure you aren't overdrawing your supply
**Link propagation** means that when you connect those devices to the bus, all their attributes will be merged, and the currents will be counted up.
It also means that devices can ensure the bus' voltage is within range of their requirements, or backpropagate their required voltage to CONFIGURE your PSU :gear:
The programmatic **API** means you can `build` a model in a Jupyter Notebook or Python script and query it however you like! This means you can extend atopile's built-in targets to write reports or perform tests however you like :chart_with_upwards_trend::snake:
What's Changed
* Dump inspection output to a CSV by mawildoer in https://github.com/atopile/atopile/pull/428
* Add string as acceptable pin name type by mawildoer in https://github.com/atopile/atopile/pull/432
* Add how-to on installing footprints by mawildoer in https://github.com/atopile/atopile/pull/431
* Cumulative operators and link passthrough by mawildoer in https://github.com/atopile/atopile/pull/434
* Add API for custom processing and report writing by mawildoer in https://github.com/atopile/atopile/pull/435
**Full Changelog**: https://github.com/atopile/atopile/compare/v0.2.57...v0.2.58