agentee

Выход

Дистрибьюторы и цены

agentee parts: цены на BOM у Mouser и Farnell и более дешёвые компоненты, которые можно подставить без потери характеристик.

agentee parts NAME (MCP parts) считает стоимость BOM топологии или схемы по ценам Mouser и Farnell и предлагает более дешёвые взаимозаменяемые компоненты. Ключи хранятся вне проектов, в ~/.config/agentee/distributors.toml ($AGENTEE_DISTRIBUTORS или --config указывают на другое место):

[mouser]
api_key = "..."                # Mouser Search API key, not the Cart/Order key

[farnell]
api_key = "..."                # element14 Product Search API key
store = "uk.farnell.com"       # ie.farnell.com, de.farnell.com, www.newark.com, au.element14.com ...
# currency = "GBP"             # default follows the store
agentee parts buggy-guard --boards 5
agentee parts buggy-guard --distributor farnell --farnell-store ie.farnell.com
agentee parts buggy-guard --refs C11,R8 --json
agentee parts buggy-guard --no-alternatives

Каждая строка BOM соответствует одному полю mpn, с той же группировкой, что в bom.csv, и требует количество ссылок, умноженное на --boards. Предложения для строки это записи дистрибьютора для данного номера компонента; выбирается самое дешёвое, которое есть в наличии на требуемое количество и не снято с производства. Стоимость учитывает минимальное количество и шаг записи, а также покупает до следующего ценового порога, если большее количество обходится дешевле в сумме, поэтому десять резисторов могут быть купаны как сто.

Альтернативы, не более трёх на строку, сначала с наибольшим снижением стоимости, в валюте выбранного предложения:

компонентпоиск подолжно сохраниться
резистор, R на посадочном месте в стиле R_0603...значение, допуск и размерсопротивление в пределах 0,5 %, допуск не хуже, тот же дюймовый код корпуса; термисторы, массивы и перемычки отклоняются
керамический конденсатор, C на посадочном месте C_0603...значение, напряжение, диэлектрик и размерёмкость в пределах 1 %, напряжение не ниже (из значения /50V или из записи компонента), диэлектрик не хуже (C0G остаётся C0G, X7R может стать X7S или X8R, X5R может стать X7R), допуск не хуже, тот же код корпуса; электролитические, танталовые, полимерные и плёночные конденсаторы отклоняются
универсальный дискретный компонент, D или Q, у которого значение это имя по JEDEC (2N7002, BSS138, 1N4148, BAT54, BZT52, S1x, SS1x, SMAJ, BC847 ...)имя и корпусимя внутри номера компонента и тот же корпус (SOT-23 это не SOT-23-5, SMA это DO-214AC, а не SMB)
индикаторный светодиод, D на посадочном месте LED_0603...цвет и размерцвет и код корпуса
всё остальноеничеготолько тот же компонент у другого дистрибьютора и предложенная дистрибьютором замена

Коды корпуса читаются из атрибута imperial (Case Code - in) или из части значения Farnell до [... Metric], поэтому 0201, указанный как 0201 [0603 Metric], не принимается за 0603. Отчёт заканчивается итоговой суммой по выбранной валюте, всеми более дешёвыми вариантами и количеством сделанных вызовов API: Mouser разрешает 30 в минуту и 1000 в день, а поиск компонентов выполняется по десять номеров за вызов. Отклонённый ключ сообщается один раз, и этот дистрибьютор больше не запрашивается в течение выполнения.

docs/format.md · Markdown для агентов