partinfo
Datasheet-verified electronic component pinouts, specs, and ASCII diagrams in your terminal, offline.
partinfo is an offline command-line reference for electronic parts and connectors: pinouts, key specs, typical applications, and the gotchas that catch you in practice. Every entry is a hand-curated JSON file checked against a datasheet, indexed into SQLite with full-text search. 228 parts, 25 connectors, and a library of formula references ship in the package; no network needed.
Structured --json on every lookup, plus a bundled skill (below), so Claude Code or Codex query partinfo for a verified number instead of guessing a pinout (or a thermal resistance) from memory.
Why
Datasheets are slow to open and pin-numbering traps are easy to forget: the BC547 is C-B-E, the 2N3904 is E-B-C; the LM317 tab is the output but the 7805 tab is ground. partinfo answers those in one command, with the package drawn in ASCII so you can wire it without opening a PDF.
Install
pip install partinfo
Usage
partinfo ne555 # full entry
partinfo irlz44n --ascii # ASCII package diagram
partinfo lm317 --specs # key specs only
partinfo search "can transceiver"
# connectors & cables
partinfo conn obd-ii # OBD-II / DB9 / USB-C / eurorack power / MIDI ...
partinfo conn gallery # every connector diagram
# formula references
partinfo ref list # ohms-law, rc-time-constant, mosfet-parameters, ne555-formulas ...
partinfo ref mosfet-parameters # formulas with a variable legend
partinfo gallery # every part diagram, to scroll
Pins are colored by function on a real terminal and drop to plain when piped or read by a script or model. Override with --color {auto,semantic,minimal,mixed,off} or NO_COLOR=1.
Use it as a Claude Code / Codex skill
partinfo ships a skill so an agent reaches for its verified data instead of recalling a pinout from training. After installing:
partinfo skill install # copies the skill into ~/.claude/skills and/or ~/.codex/skills (asks first)
A fresh session, asked "show me the IRF520 pinout and whether it survives 3 A in still air," then runs partinfo for the diagram and the real thermal numbers and does the math, instead of guessing.
Diagrams are rendered from the pin data
The ASCII pinout is generated from the same pin table as the specs, so the picture and the data stay in sync. Supply a pre-rendered ascii string on a package only to override.
It computes, not just looks up
Each part stores its calculation inputs (rds_on_ohm, rth_ja_cw, ...) and the reference library stores the formulas, so a question gets answered from verified numbers. For "is an IRF520 safe switching 3 A in still air?", partinfo supplies Rds(on) = 0.27 Ω and Rth(JA) = 62 °C/W; applying P = I²·R and Tj = Ta + P·Rth(JA) gives Tj ≈ 176 °C, over the limit. The 9 A on the datasheet front page is a rating that needs a heatsink, and one formula shows it. --json hands the field names straight to a formula's variables.
Data model
Each part is one JSON file validated by a Pydantic schema: packages (pins with number, name, type, description), specs, gotchas, related, datasheet_url. Connectors and references use the same approach, so every entry is structurally identical and diagrams render from the pin data. Add a part by dropping a JSON file in its category folder and running partinfo ingest.
The JSON ships inside the package; the SQLite index is a derived cache at ~/.local/share/partinfo/parts.db, built on first use.
License
MIT
Release files for partinfo 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| partinfo-0.1.6.tar.gz | 828.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| partinfo-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / partinfo-0.1.6.tar.gz
| Download URL | partinfo-0.1.6.tar.gz |
|---|---|
| Size | 828.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
623fcf6f7ada3e67a296930462bea7ffc61d544014faf92f35b3b1d1e4d6168a
|
|
BLAKE2b-256 checksum How to use checksums |
375ea18d2a0976a19adc8bdd477b35c3284e63cc6bce9a910ed95dd4642f13c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 17, 2026.
Transparency logRelease files / partinfo-0.1.6-py3-none-any.whl
| Download URL | partinfo-0.1.6-py3-none-any.whl |
|---|---|
| Size | 465.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1856fcb78ad47be3a9ccf833453bfe4be486f1b7a9206e8f47634e474eaf8d54
|
|
BLAKE2b-256 checksum How to use checksums |
90b32a8abb00fb968293f659cf751c8e7e42d9189eacf0185a0fa6befd5a958f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 17, 2026.
Transparency log