diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c9ebf2d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python-envs.defaultEnvManager": "ms-python.python:system" +} \ No newline at end of file diff --git a/bom_price_checker.py b/bom_price_checker.py index 01c98a1..7991143 100644 --- a/bom_price_checker.py +++ b/bom_price_checker.py @@ -42,6 +42,7 @@ from typing import Optional import requests import openpyxl +from openpyxl.cell.cell import MergedCell import pandas as pd from dotenv import load_dotenv @@ -595,6 +596,8 @@ def write_back( skipped = 0 for row_num, mfr, mpn in table.data: cell = ws.cell(row_num, cost_col) + if isinstance(cell, MergedCell): + continue existing = cell.value if existing is not None and str(existing).strip() != "": skipped += 1 @@ -620,6 +623,32 @@ def write_back( log.error(f" Save failed for {file_path.name}: {exc}") +# ── Summary output ──────────────────────────────────────────────────────────── + +OUTPUT_FILE = Path("bom_prices.xlsx") + + +def write_summary(parts: set[tuple[str, str]], price_lookup: dict[str, Optional[float]]) -> None: + rows = [] + for mfr, mpn in sorted(parts): + price = price_lookup.get(_part_key(mfr, mpn)) + rows.append({ + "Manufacturer": mfr, + "MPN": mpn, + f"Unit Cost EUR @{QUANTITY}": price, + }) + + df = pd.DataFrame(rows) + with pd.ExcelWriter(OUTPUT_FILE, engine="openpyxl") as writer: + df.to_excel(writer, index=False, sheet_name="Prices") + ws = writer.sheets["Prices"] + for col in ws.columns: + width = max(len(str(cell.value or "")) for cell in col) + ws.column_dimensions[col[0].column_letter].width = min(width + 3, 50) + + log.info(f"Summary written → {OUTPUT_FILE}") + + # ── Main ─────────────────────────────────────────────────────────────────────── def main() -> None: @@ -638,7 +667,7 @@ def main() -> None: else: log.warning("No API keys found. Copy .env.example → .env and fill in your keys.") - file_map, parts = extract_parts(BOM_DIR) + _, parts = extract_parts(BOM_DIR) if not parts: log.error("No valid (Manufacturer, MPN) pairs found in BoM files.") @@ -655,7 +684,7 @@ def main() -> None: log.info(f" avg {tag} ({r.sources_found()}/3 sources)") price_lookup[_part_key(mfr, mpn)] = r.average_eur - write_back(file_map, price_lookup) + write_summary(parts, price_lookup) found = sum(1 for v in price_lookup.values() if v is not None) missing = [mpn for (_, mpn), v in diff --git a/bom_prices.xlsx b/bom_prices.xlsx new file mode 100644 index 0000000..41e9e46 Binary files /dev/null and b/bom_prices.xlsx differ diff --git a/price_cache.json b/price_cache.json new file mode 100644 index 0000000..db6c856 --- /dev/null +++ b/price_cache.json @@ -0,0 +1,1340 @@ +{ + "||total": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:21.106193" + }, + "abracon corporation||abm8g-24.000mhz-18-d2y-t": { + "digikey_eur": null, + "mouser_eur": 0.283, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:24.529333" + }, + "abracon corporation||abmm2-8.000mhz-d1-t": { + "digikey_eur": null, + "mouser_eur": 0.526, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:27.326394" + }, + "analog devices||ds2484r+t": { + "digikey_eur": null, + "mouser_eur": 1.06, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:29.948522" + }, + "analog devices||ltc4041eufd#pbf": { + "digikey_eur": null, + "mouser_eur": 4.23, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:32.842720" + }, + "avx||04023c103kat2a": { + "digikey_eur": null, + "mouser_eur": 0.039, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:35.576321" + }, + "avx||04025a150jat2a": { + "digikey_eur": null, + "mouser_eur": 0.01, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:38.794870" + }, + "avx||04025a151jat2a": { + "digikey_eur": null, + "mouser_eur": 0.017, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:41.741718" + }, + "avx||04025a220jat2a": { + "digikey_eur": null, + "mouser_eur": 0.009, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:45.140940" + }, + "avx||04025a470jat2a": { + "digikey_eur": null, + "mouser_eur": 0.012, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:48.086072" + }, + "avx||04025c102kat2a": { + "digikey_eur": null, + "mouser_eur": 0.005, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:51.308494" + }, + "avx||0603yc104kat2a": { + "digikey_eur": null, + "mouser_eur": 0.012, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:54.092545" + }, + "avx||08051c104kat2a": { + "digikey_eur": null, + "mouser_eur": 0.035, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:56.851109" + }, + "bourns||mf-msmf020/60-2": { + "digikey_eur": null, + "mouser_eur": 0.182, + "farnell_eur": null, + "cached_at": "2026-04-29T20:38:59.768924" + }, + "bourns||smbj48ca": { + "digikey_eur": null, + "mouser_eur": 0.121, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:04.668839" + }, + "bourns||srr1260-4r7y": { + "digikey_eur": null, + "mouser_eur": 0.407, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:07.337310" + }, + "bourns||srr4028-101y": { + "digikey_eur": null, + "mouser_eur": 0.264, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:10.222421" + }, + "c&k||ccm03-3013lft r102": { + "digikey_eur": null, + "mouser_eur": 2.4, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:13.072278" + }, + "cal-chip||gmc04x7r105k10ntlf": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:15.400330" + }, + "coilcraft||0805cs-471xgrc": { + "digikey_eur": null, + "mouser_eur": 0.736, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:18.279238" + }, + "coilcraft||xal5030-222mec": { + "digikey_eur": null, + "mouser_eur": 1.14, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:21.043313" + }, + "cts||403i35e20m00000": { + "digikey_eur": null, + "mouser_eur": 0.202, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:23.936444" + }, + "digi international||cc-mx-eten-zn": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:26.575099" + }, + "diodes||b250-13-f": { + "digikey_eur": null, + "mouser_eur": 0.112, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:29.893668" + }, + "diodes||bat750-7-f": { + "digikey_eur": null, + "mouser_eur": 0.077, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:33.068021" + }, + "diodes||dfls1100-7": { + "digikey_eur": null, + "mouser_eur": 0.127, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:36.219572" + }, + "diodes||fzt851ta": { + "digikey_eur": null, + "mouser_eur": 0.295, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:38.922657" + }, + "diodes inc||dmn2041l": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:42.074530" + }, + "ecliptek||eb13e2h2h-50.000m tr": { + "digikey_eur": null, + "mouser_eur": 0.576, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:45.198387" + }, + "ecs||ecs-2520mv-240-bl-tr": { + "digikey_eur": null, + "mouser_eur": 0.52, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:47.864861" + }, + "erni electronics gmbh||284696.0": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:50.326182" + }, + "erni electronics gmbh||284699.0": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:53.029628" + }, + "fairchild||fdv301n": { + "digikey_eur": null, + "mouser_eur": 0.04, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:56.861093" + }, + "fairchild||fxma2102l8x": { + "digikey_eur": null, + "mouser_eur": 0.19, + "farnell_eur": null, + "cached_at": "2026-04-29T20:39:59.801267" + }, + "foresee||femdnn003-c9": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:02.138030" + }, + "foresee||flxc2002g-w6": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:04.598501" + }, + "fractus antennas||fr05-s1-no-1-004": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:07.361647" + }, + "infineon technologies||bsz0506nsatma1": { + "digikey_eur": null, + "mouser_eur": 0.273, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:10.125931" + }, + "infineon technologies||irf9310trpbf": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:13.117820" + }, + "jst||sm04b-ghs-tb(lf)(sn)": { + "digikey_eur": null, + "mouser_eur": 0.18, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:15.847746" + }, + "kemet||c0402c330j5gac": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:19.374559" + }, + "kemet||c0603c105k8pac": { + "digikey_eur": null, + "mouser_eur": 0.01, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:23.480465" + }, + "kemet||c0603c151j5gac": { + "digikey_eur": null, + "mouser_eur": 0.013, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:27.548332" + }, + "kemet||c0805c104k1ractu": { + "digikey_eur": null, + "mouser_eur": 0.04, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:30.480984" + }, + "kemet||c0805c225k4rac": { + "digikey_eur": null, + "mouser_eur": 0.061, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:34.595201" + }, + "kemet||c0805c475k9pac": { + "digikey_eur": null, + "mouser_eur": 0.037, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:38.197437" + }, + "kemet||c1210c476m4pactu": { + "digikey_eur": null, + "mouser_eur": 0.508, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:41.023729" + }, + "kemet||t491b476k010at": { + "digikey_eur": null, + "mouser_eur": 0.152, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:44.778493" + }, + "king bright||aphhs1005syck": { + "digikey_eur": null, + "mouser_eur": 0.074, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:47.687877" + }, + "king bright||aphhs1005zgc": { + "digikey_eur": null, + "mouser_eur": 0.181, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:50.974734" + }, + "littelfuse||smbj12ca": { + "digikey_eur": null, + "mouser_eur": 0.075, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:55.822538" + }, + "littelfuse||sp4020-01ftg-c": { + "digikey_eur": null, + "mouser_eur": 0.211, + "farnell_eur": null, + "cached_at": "2026-04-29T20:40:58.497830" + }, + "maxlinear||xr3160eiu-f": { + "digikey_eur": null, + "mouser_eur": 4.98, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:01.435171" + }, + "micro crystal||cc7v-t1a 32,768khz 9pf 20ppm": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:06.295077" + }, + "microchip||lan8720ai-cp-tr": { + "digikey_eur": null, + "mouser_eur": 0.801, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:09.718773" + }, + "microchip||sst25vf010a-33-4i-sae": { + "digikey_eur": null, + "mouser_eur": 0.535, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:12.926684" + }, + "microchip||usb2514bt-i/m2": { + "digikey_eur": null, + "mouser_eur": 2.08, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:15.636989" + }, + "molex||47352-1001": { + "digikey_eur": null, + "mouser_eur": 1.9, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:18.175440" + }, + "molex||5034801200.0": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:20.615764" + }, + "molex||53261-0271": { + "digikey_eur": null, + "mouser_eur": 0.243, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:23.314551" + }, + "molex||53261-0471": { + "digikey_eur": null, + "mouser_eur": 0.33, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:25.860336" + }, + "molex||53398-0371": { + "digikey_eur": null, + "mouser_eur": 0.311, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:28.619411" + }, + "molex||53398-0471": { + "digikey_eur": null, + "mouser_eur": 0.357, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:31.237371" + }, + "molex||53398-0571": { + "digikey_eur": null, + "mouser_eur": 0.361, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:34.083984" + }, + "molex||53398-0871": { + "digikey_eur": null, + "mouser_eur": 0.534, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:37.031387" + }, + "mps||mp232et": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:39.537399" + }, + "murata||blm15ex121sn1d": { + "digikey_eur": null, + "mouser_eur": 0.04, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:42.145009" + }, + "murata||blm15ex221sn1d": { + "digikey_eur": null, + "mouser_eur": 0.04, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:44.889914" + }, + "murata||blm18ag601sn1": { + "digikey_eur": null, + "mouser_eur": 0.02, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:47.593223" + }, + "murata||blm18pg121sn1d": { + "digikey_eur": null, + "mouser_eur": 0.023, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:50.439659" + }, + "murata||blm18sg121tn1d": { + "digikey_eur": null, + "mouser_eur": 0.033, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:53.057755" + }, + "murata||dlw21hn900sq2": { + "digikey_eur": null, + "mouser_eur": 0.149, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:55.877887" + }, + "murata||grm1555c1h101j": { + "digikey_eur": null, + "mouser_eur": 0.005, + "farnell_eur": null, + "cached_at": "2026-04-29T20:41:59.438751" + }, + "murata||grm1555c1h120ja01d": { + "digikey_eur": null, + "mouser_eur": 0.006, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:02.227693" + }, + "murata||grm1555c1h471ja01": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:05.411047" + }, + "murata||grm1555c1h560ja01d": { + "digikey_eur": null, + "mouser_eur": 0.006, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:08.402130" + }, + "murata||grm1555c1h680ja01d": { + "digikey_eur": null, + "mouser_eur": 0.006, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:11.306778" + }, + "murata||grm1885c1h272ja01": { + "digikey_eur": null, + "mouser_eur": 0.013, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:14.740765" + }, + "murata||grm188r61c106kaalj": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:17.277001" + }, + "murata||grm188r71h224kac4d": { + "digikey_eur": null, + "mouser_eur": 0.024, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:20.211405" + }, + "murata||grm31cr61a226me19": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:24.809573" + }, + "murata||gjm1555c1hr20bb01d": { + "digikey_eur": null, + "mouser_eur": 0.017, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:28.161827" + }, + "nexperia||74lvc1g14gw,125": { + "digikey_eur": null, + "mouser_eur": 0.025, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:31.888276" + }, + "nexperia||74lvc1g32gw,125": { + "digikey_eur": null, + "mouser_eur": 0.025, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:36.004897" + }, + "nexperia||74lvc1g74dc,125": { + "digikey_eur": null, + "mouser_eur": 0.132, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:40.328646" + }, + "nexperia||74lvc1t45gw,125": { + "digikey_eur": null, + "mouser_eur": 0.094, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:44.175306" + }, + "nexperia||bat54,215": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:49.152220" + }, + "nexperia||bav99": { + "digikey_eur": null, + "mouser_eur": 0.055, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:54.095377" + }, + "nexperia||bc817-25,215": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:42:58.391524" + }, + "nexperia||bcw71,215": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:01.989152" + }, + "nexperia||bzx84-c6v2": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:06.228385" + }, + "nexperia||clrc66303hny": { + "digikey_eur": null, + "mouser_eur": 4.21, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:08.914351" + }, + "nexperia||prtr5v0u2ax,215": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:12.523927" + }, + "nidec copal||cas-220tb": { + "digikey_eur": null, + "mouser_eur": 1.22, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:15.659455" + }, + "nidec copal||cjs-1200tb": { + "digikey_eur": null, + "mouser_eur": 0.396, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:19.088588" + }, + "nxp||mimx8mm6cvtkzaa": { + "digikey_eur": null, + "mouser_eur": 18.66, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:22.249677" + }, + "nxp||pcf85063atl/1,118": { + "digikey_eur": null, + "mouser_eur": 0.272, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:25.334010" + }, + "nxp||sgtl5000xnla3r2": { + "digikey_eur": null, + "mouser_eur": 2.87, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:28.119866" + }, + "nxp||tda8035hn/c1,118": { + "digikey_eur": null, + "mouser_eur": 0.481, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:31.719834" + }, + "omron||xf2m-4015-1a": { + "digikey_eur": null, + "mouser_eur": 1.33, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:35.121852" + }, + "onsemi||845b / vnj33": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:37.732394" + }, + "onsemi||bas16lt1g": { + "digikey_eur": null, + "mouser_eur": 0.018, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:41.031229" + }, + "onsemi||bat54a": { + "digikey_eur": null, + "mouser_eur": 0.066, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:45.811665" + }, + "onsemi||bcx56-16": { + "digikey_eur": null, + "mouser_eur": 0.044, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:49.607296" + }, + "onsemi||esd8006mutag": { + "digikey_eur": null, + "mouser_eur": 0.368, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:52.850106" + }, + "onsemi||esd9l3.3st5g": { + "digikey_eur": null, + "mouser_eur": 0.058, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:56.230912" + }, + "onsemi||ncp4306 / fdc6420c": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:43:59.068784" + }, + "onsemi||smbj5v0ca": { + "digikey_eur": null, + "mouser_eur": 0.121, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:01.773582" + }, + "ramxeed (fujitsu)||mb85rs1mtpnf-g-jnere1": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:04.909189" + }, + "rohm||bzx84c5v6lyt116": { + "digikey_eur": null, + "mouser_eur": 0.052, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:07.990513" + }, + "rohm semiconductor||tctal0j107m8r": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:11.524666" + }, + "samsung||cl05a475mo5nunc": { + "digikey_eur": null, + "mouser_eur": 0.088, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:14.316468" + }, + "samsung||cl05c101jb5nnnc": { + "digikey_eur": null, + "mouser_eur": 0.003, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:17.139496" + }, + "samtec||tsm-103-01-l-sv-p-tr": { + "digikey_eur": null, + "mouser_eur": 0.428, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:20.031599" + }, + "silan||sy8286frac": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:23.280781" + }, + "st microelectronics||lis2de12tr": { + "digikey_eur": null, + "mouser_eur": 0.746, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:26.413623" + }, + "st microelectronics||smcj5.0ca-tr": { + "digikey_eur": null, + "mouser_eur": 0.233, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:30.244917" + }, + "st microelectronics||stm32l072cbt6": { + "digikey_eur": null, + "mouser_eur": 1.74, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:33.721649" + }, + "stmicroelectronics||d125 / 221900a": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:36.467459" + }, + "taiyo yuden||lmk212bbj476mg-t": { + "digikey_eur": null, + "mouser_eur": 0.19, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:39.406196" + }, + "tayjo yuden||gmk212b7105kg": { + "digikey_eur": null, + "mouser_eur": 0.031, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:42.954875" + }, + "tayo yuden||fbmj1608hm180ntr": { + "digikey_eur": null, + "mouser_eur": 0.028, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:46.284174" + }, + "tdk||c1608x5r1a106k080ac": { + "digikey_eur": null, + "mouser_eur": 0.051, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:49.422995" + }, + "tdk||c2012x5r1e106m": { + "digikey_eur": null, + "mouser_eur": 0.063, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:52.800898" + }, + "tdk||c3216x5r1a107m160ac": { + "digikey_eur": null, + "mouser_eur": 0.293, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:55.808710" + }, + "te connectivity||1759546-1": { + "digikey_eur": null, + "mouser_eur": 0.788, + "farnell_eur": null, + "cached_at": "2026-04-29T20:44:59.179362" + }, + "te connectivity||2-84952-0": { + "digikey_eur": null, + "mouser_eur": 0.89, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:02.062689" + }, + "te connectivity||smd200f": { + "digikey_eur": null, + "mouser_eur": 0.244, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:06.106258" + }, + "texas||lm4861mx/nopb": { + "digikey_eur": null, + "mouser_eur": 0.553, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:09.584483" + }, + "texas||lmr36503rs3qrperq1": { + "digikey_eur": null, + "mouser_eur": 1.96, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:12.947143" + }, + "texas||max3232ipwr": { + "digikey_eur": null, + "mouser_eur": 0.796, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:16.762522" + }, + "texas||sn65dsi83zxhr": { + "digikey_eur": null, + "mouser_eur": 1.72, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:19.629514" + }, + "texas||sn74aup1g97dckr": { + "digikey_eur": null, + "mouser_eur": 0.1, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:23.273788" + }, + "texas||sn74lvc1g08dckr": { + "digikey_eur": null, + "mouser_eur": 0.03, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:27.267044" + }, + "texas||sn74lvc257apw": { + "digikey_eur": null, + "mouser_eur": 0.425, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:31.409526" + }, + "texas||sn74lvc2g14idckrq1": { + "digikey_eur": null, + "mouser_eur": 0.176, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:34.438271" + }, + "texas||tps2051bdbvr": { + "digikey_eur": null, + "mouser_eur": 0.265, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:37.513439" + }, + "texas||tps2054bdr": { + "digikey_eur": null, + "mouser_eur": 1.41, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:40.802597" + }, + "texas||tps22953dqcr": { + "digikey_eur": null, + "mouser_eur": 0.271, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:43.895451" + }, + "texas||tps2553dbvr": { + "digikey_eur": null, + "mouser_eur": 0.389, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:47.149446" + }, + "texas||tps54360ddar": { + "digikey_eur": null, + "mouser_eur": 1.98, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:50.180262" + }, + "texas||tps61087drcr": { + "digikey_eur": null, + "mouser_eur": 0.934, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:53.790373" + }, + "texas||tps71518dckr": { + "digikey_eur": null, + "mouser_eur": 0.261, + "farnell_eur": null, + "cached_at": "2026-04-29T20:45:57.371397" + }, + "texas||tps7a0212pdbvr": { + "digikey_eur": null, + "mouser_eur": 0.386, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:00.492176" + }, + "texas||ts3usb30edgsr": { + "digikey_eur": null, + "mouser_eur": 0.301, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:03.608354" + }, + "txc corporation||7m-27.120mahe-t": { + "digikey_eur": null, + "mouser_eur": 0.438, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:06.555012" + }, + "vishay||bzt52c5v6s": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:11.191444" + }, + "vishay||crcw04020000z0ed": { + "digikey_eur": null, + "mouser_eur": 0.005, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:14.396316" + }, + "vishay||crcw0402100kfked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:17.641069" + }, + "vishay||crcw0402100rfked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:20.711810" + }, + "vishay||crcw040210k0fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:24.540126" + }, + "vishay||crcw040210r0fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:27.680964" + }, + "vishay||crcw040212k1fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:30.978292" + }, + "vishay||crcw040215k0fked": { + "digikey_eur": null, + "mouser_eur": 0.006, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:34.066706" + }, + "vishay||crcw0402180rfked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:37.216619" + }, + "vishay||crcw040218r0fked": { + "digikey_eur": null, + "mouser_eur": 0.006, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:40.664386" + }, + "vishay||crcw04021k00fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:43.931816" + }, + "vishay||crcw0402220kfked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:47.337885" + }, + "vishay||crcw040227k0fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:50.987710" + }, + "vishay||crcw040227r0fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:54.733039" + }, + "vishay||crcw04022k20fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:46:57.832965" + }, + "vishay||crcw040233r0fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:01.048777" + }, + "vishay||crcw0402470rfked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:04.389023" + }, + "vishay||crcw040249r9fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:07.589895" + }, + "vishay||crcw04024k70fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:10.985931" + }, + "vishay||crcw04024r70fked": { + "digikey_eur": null, + "mouser_eur": 0.01, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:14.415679" + }, + "vishay||crcw0402620rfked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:17.490776" + }, + "vishay||crcw04026k04fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:21.203115" + }, + "vishay||crcw040275r0fked": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:24.185267" + }, + "vishay||crcw06030000z0ea": { + "digikey_eur": null, + "mouser_eur": 0.005, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:27.083059" + }, + "vishay||crcw0603100kfkea": { + "digikey_eur": null, + "mouser_eur": 0.006, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:30.163436" + }, + "vishay||crcw0603158kfkea": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:33.246478" + }, + "vishay||crcw060315k0fkea": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:36.715612" + }, + "vishay||crcw06031m05fkea": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:40.128496" + }, + "vishay||crcw06031m50fkea": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:43.434015" + }, + "vishay||crcw0603200kfkea": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:46.775093" + }, + "vishay||crcw060320k0fkea": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:50.028998" + }, + "vishay||crcw0603300kfkea": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:53.422947" + }, + "vishay||crcw060351k0fkea": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:47:56.728594" + }, + "vishay||crcw0805100kfkea": { + "digikey_eur": null, + "mouser_eur": 0.01, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:00.578045" + }, + "vishay||crcw080510k0fkea": { + "digikey_eur": null, + "mouser_eur": 0.01, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:03.938318" + }, + "vishay||crcw0805160kfkea": { + "digikey_eur": null, + "mouser_eur": 0.01, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:07.465217" + }, + "vishay||crcw080520k0fkea.": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:09.826104" + }, + "vishay||crcw080522k0fkea": { + "digikey_eur": null, + "mouser_eur": 0.01, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:12.987263" + }, + "vishay||crcw08052r70fkea": { + "digikey_eur": null, + "mouser_eur": 0.016, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:16.265444" + }, + "vishay||crcw08053r30fkea": { + "digikey_eur": null, + "mouser_eur": 0.016, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:19.917912" + }, + "vishay||crcw0805470kfkea": { + "digikey_eur": null, + "mouser_eur": 0.01, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:23.196361" + }, + "vishay||si2333cds-t1-ge3": { + "digikey_eur": null, + "mouser_eur": 0.244, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:26.315355" + }, + "vishay||vs-20bq030-m3/5bt": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:29.321673" + }, + "vishay||wsl2512r0200fea": { + "digikey_eur": null, + "mouser_eur": 0.243, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:32.647318" + }, + "wima||smdtc04100ta00kr": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:35.020322" + }, + "wurth||150141m173100": { + "digikey_eur": null, + "mouser_eur": 0.266, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:37.862987" + }, + "wurth||742792022.0": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:40.367157" + }, + "wurth||744233670.0": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:42.681145" + }, + "wurth||74451033.0": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:44.982068" + }, + "wurth||74477710.0": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:47.610597" + }, + "wurth||7447779147.0": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:50.566702" + }, + "wurth||7490120110.0": { + "digikey_eur": null, + "mouser_eur": null, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:53.085290" + }, + "wurth||9774080243r": { + "digikey_eur": null, + "mouser_eur": 0.546, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:56.643801" + }, + "yageo||cc0402jrnp09bn100": { + "digikey_eur": null, + "mouser_eur": 0.006, + "farnell_eur": null, + "cached_at": "2026-04-29T20:48:59.621592" + }, + "yageo||cc0402jrnpo9bn102": { + "digikey_eur": null, + "mouser_eur": 0.018, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:02.617559" + }, + "yageo||cc0402krx7r5bb104": { + "digikey_eur": null, + "mouser_eur": 0.008, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:05.605373" + }, + "yageo||cc0402krx7r6bb104": { + "digikey_eur": null, + "mouser_eur": 0.004, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:08.590038" + }, + "yageo||cc0402krx7r6bb224": { + "digikey_eur": null, + "mouser_eur": 0.019, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:11.525598" + }, + "yageo||cc0402krx7r6bb474": { + "digikey_eur": null, + "mouser_eur": 0.04, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:14.413467" + }, + "yageo||cc0402krx7r7bb104": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:17.055764" + }, + "yageo||cc0402krx7r9bb104": { + "digikey_eur": null, + "mouser_eur": 0.017, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:25.608143" + }, + "yageo||cc0402krx7r9bb471": { + "digikey_eur": null, + "mouser_eur": 0.005, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:28.569292" + }, + "yageo||cc0603krx7r9bb822": { + "digikey_eur": null, + "mouser_eur": 0.014, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:31.406364" + }, + "yageo||cc1206kkx7r0bb225": { + "digikey_eur": null, + "mouser_eur": 0.155, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:34.317765" + }, + "yageo||rc0402fr-07100kl": { + "digikey_eur": null, + "mouser_eur": 0.003, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:37.183817" + }, + "yageo||rc0402fr-0710kl": { + "digikey_eur": null, + "mouser_eur": 0.003, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:39.786350" + }, + "yageo||rc0402fr-0710rl": { + "digikey_eur": null, + "mouser_eur": 0.004, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:42.520456" + }, + "yageo||rc0402fr-0732k4l": { + "digikey_eur": null, + "mouser_eur": 0.003, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:45.332924" + }, + "yageo||rc0603fr-0718kl": { + "digikey_eur": null, + "mouser_eur": 0.004, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:48.253477" + }, + "yageo||rc0603fr-071kl": { + "digikey_eur": null, + "mouser_eur": 0.004, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:50.750669" + }, + "yageo||rc0603fr-0722kl": { + "digikey_eur": null, + "mouser_eur": 0.004, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:53.398772" + }, + "yageo||rc0603fr-072k2l": { + "digikey_eur": null, + "mouser_eur": 0.004, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:56.007135" + }, + "yageo||rc0603fr-0747kl": { + "digikey_eur": null, + "mouser_eur": 0.004, + "farnell_eur": null, + "cached_at": "2026-04-29T20:49:58.813200" + }, + "yageo||rc0603jr-070r": { + "digikey_eur": null, + "mouser_eur": 0.003, + "farnell_eur": null, + "cached_at": "2026-04-29T20:50:02.288624" + }, + "yageo||rc0805fr-07120rl": { + "digikey_eur": null, + "mouser_eur": 0.007, + "farnell_eur": null, + "cached_at": "2026-04-29T20:50:04.913328" + }, + "yageo||rc1218jk-0710rl": { + "digikey_eur": null, + "mouser_eur": 0.095, + "farnell_eur": null, + "cached_at": "2026-04-29T20:50:07.941433" + }, + "yageo||rc2512jk-070rl": { + "digikey_eur": null, + "mouser_eur": 0.035, + "farnell_eur": null, + "cached_at": "2026-04-29T20:50:10.793119" + } +} \ No newline at end of file