jitxlib.parts.providers package#

The providers that ship with jitxlib-parts#

CsvParts resolves passives from a CSV of approved parts. IdealPassives synthesizes one at whatever value was asked for. Put them in a chain, as registry strings in project config or as instances in code:

[tool.jitx.parts] chain = [“csv:parts/approved-parts.csv”, “ideal”]

PartSource([CsvParts(“parts/approved-parts.csv”), IdealPassives()])

They are here for two reasons.

They are the worked examples to read before writing a provider of your own, and between them they cover the two shapes a provider can have. CsvParts is a catalogue with rows to search, so it shows filtering, ranking, distinct and a versioned payload. IdealPassives is a generator with nothing to search, so it shows declining a query whose value it cannot pin, and marking a synthesized part as not orderable. Both are short enough to read end to end, and neither needs a service to talk to, so the protocol is the only thing left in them.

And they carry early exploration and prototyping. Someone new to JITX can describe a passive by what it has to do and get a board out of it without first choosing a catalogue, installing anything, or knowing that the provider protocol exists: a CSV you can write by hand, and a generator that answers at any value, are enough to see the whole describe-resolve-pin cycle work.

Submodules#