Small Python scripts that run inside the server and keep pricing, lifecycle, and part details in step with your suppliers.
Every supplier has a different API, a different rate limit, and a different idea of what a part number looks like. Plugins keep all of that out of the core. Each plugin is a folder with one Python file and, if the supplier needs it, a credentials file. The server discovers them, runs them on a schedule, and writes what they return into your inventory.
Given your parts, by manufacturer and manufacturer part number, the plugin finds the supplier's own part number for each one. From then on warecache knows how to ask that supplier about that part.
Price breaks at each quantity tier are fetched and stored per supplier, which is what feeds the unit-cost curves in the clients and the build-cost rollup on the server.
Lifecycle status (production, not recommended for new designs, last time buy, obsolete) is kept current, and supplier fields are mapped onto your custom fields. Values you have already entered are never overwritten.
A plugin needs three functions: one that describes itself and which features it supports, one that initializes with its credentials, and one that resolves your part numbers to the supplier's. Pricing and part-detail functions are added only if the plugin says it supports them. An example template ships with the server.
Nine suppliers today, across electronics, industrial supply, lab, and materials.
| Supplier | Covers | Credentials | Pricing | Lifecycle | Part Info | Search |
|---|---|---|---|---|---|---|
| DigiKey | Electronic components | API account | ✓ | ✓ | ✓ | ✓ |
| Mouser | Electronic components | API key | ✓ | ✓ | ✓ | ✓ |
| McMaster-Carr | Industrial supply | Approved API account | ✓ | ✓ | ✓ | — |
| Fastenal | Industrial and construction supply | None | ✓ | — | ✓ | — |
| Fisher Scientific | Lab equipment and chemicals | None | ✓ | — | ✓ | ✓ |
| Sigma-Aldrich | Chemicals | None | ✓ | — | ✓ | ✓ |
| MatterHackers | 3D printing materials | None | ✓ | — | ✓ | ✓ |
| Metals Depot | Raw metals | None | ✓ | — | ✓ | ✓ |
| Rio Grande | Jewelry parts, tools, and metals | None | ✓ | — | ✓ | ✓ |
Suppliers marked "None" are read from public product pages and need no account. Setup steps and credential formats for each are in the plugin documentation.