agentee

Saída

Distribuidores e preços

agentee parts: preços de BOM na Mouser e Farnell e componentes mais baratos que encaixam sem rebaixamento.

agentee parts NAME (MCP parts) calcula o preço da BOM de um layout ou esquema na Mouser e Farnell e lista peças mais baratas que encaixam. As chaves ficam fora de todos os projetos, em ~/.config/agentee/distributors.toml ($AGENTEE_DISTRIBUTORS ou --config apontam para outro sítio):

[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

Cada linha da BOM é um campo mpn, o mesmo agrupamento que bom.csv, necessitando do seu número de referências vezes --boards. As ofertas da linha são as listagens do distribuidor desse número de peça; a escolhida é a mais barata que está em stock para a quantidade e não é obsoleta. Um custo respeita o mínimo e o múltiplo da listagem e compra até a uma quebra de preço posterior quando a quantidade maior custa menos no total, por isso dez resistores podem ser comprados como cem.

Alternativas, no máximo três por linha, poupança mais barata primeiro, na moeda da oferta escolhida:

peçapesquisada pordeve manter
resistor, R num footprint de estilo R_0603...valor, tolerância e tamanhoresistência dentro de 0,5 %, tolerância não mais larga, o mesmo código de corpo imperial; termistores, arrays e jumpers são recusados
condensador cerâmico, C num footprint C_0603...valor, tensão, dielétrico e tamanhocapacitância dentro de 1 %, tensão não mais baixa (do valor /50V ou da peça listada), dielétrico não pior (C0G mantém-se C0G, X7R pode tornar-se X7S ou X8R, X5R pode tornar-se X7R), tolerância não mais larga, o mesmo código de corpo; eletrolíticos, tantalo, polímero e filme são recusados
discreto genérico, D ou Q cujo valor é um nome JEDEC (2N7002, BSS138, 1N4148, BAT54, BZT52, S1x, SS1x, SMAJ, BC847 ...)nome e encapsulamentoo nome dentro do número de peça e o mesmo encapsulamento (SOT-23 não é SOT-23-5, SMA é DO-214AC, não SMB)
LED indicador, D num footprint LED_0603...cor e tamanhoa cor e o código de corpo
qualquer outra coisanadaapenas a mesma peça no outro distribuidor, e a substituição sugerida pelo distribuidor

Os códigos de corpo são lidos do atributo imperial (Case Code - in) ou da parte de um valor Farnell antes do seu [... Metric], por isso um 0201 listado como 0201 [0603 Metric] não é tomado por um 0603. O relatório termina com o total por moeda como escolhido e com todas as escolhas mais baratas, e o número de chamadas de API feitas: a Mouser permite 30 por minuto e 1000 por dia, e as pesquisas de peças vão dez números de peça por chamada. Uma chave recusada é reportada uma vez e esse distribuidor não é perguntado novamente na execução.

docs/format.md · Markdown para agentes