New KiCost release

Version 0.1.37 of KiCost has been released.

  • Hildo Guillardi added the following features:

    • Parts made of several components can have their manf# field loaded with multiple part numbers separated by semicolons and KiCost will price the individual subparts. Each subpart can have a multiplier to indicate how many of each subpart is needed (can be either integer or float).
    • Hovering over unit price cells in the spreadsheet now shows the complete price/qty table for each distributor.
    • Color coding is used to indicate parts with no/insufficient availability.
    • The spreadsheet now includes some project information extracted from the schematic.
  • Adam Heinrich added:

    • a web scraper module for the distributor TME.

We (@devbisme and I) have the pleasure to announce the new KiCost (release 1.1) already on PyPI (you can install though pip install kicost).
It is now powered by the Kitspace PartInfo API (developed by @kasbah). Partinfo hooks into paid-for 3rd party services and it is kept by donates to the Kitspace Open Collective to keep the service running.

The old Octopart API still and it was updated to users that have it own key.

The news about this version include:

  • --setup and --unsetup commands to include and remove KiCost from Eeschema BOM list (and others configurations);
  • Currency rate at the spreadsheet and the command --currency ??? (example: ---currency EUR to write the spreadsheet in Euro currency);
  • Highlight obsolete parts;
  • Fix issues related to the purchase function and others.

We appreciate comments and bug reports at


Version 1.1.1 released improve some behaviors with the new API:

  • Fix minimum order number and warning the user if try to purchase less than requested by the distributor.
  • Improve some spreadsheet formulas.
  • Fix the Kispace query API to prioritize the catalogue number under the manufacture code.
  • Added a global field for purchase information, it will be added as description to be printed into the package labels (Digikey and others distributors that allow to include description into the package labels).
  • Organized the distributors information for better KiCost next features in the road map.

Version 1.1.2 of KiCost became available.

Latest changes:

  • Better merge of the Kispace Partinfo API used (Octopart API still available on distributors directory and can be used);
  • Added command kicost --info to help me with users report;
  • kicost --setup and kicost --unsetup add shortcut, KiCost to Eeschema BOM plugins and the defaults “manf#” and “variant” to page template (now the users doesn’t need to add this field manually);
  • Now the GUI shows the KiCost latest changes at the first startup or after run kicost --setup;
  • Some minor fix and the GUI and fix the progress bar.

It is important to remember that the Partinfo API (if the user doesn’t have the Octopart to use) is a collaborative of @kasbah kept by donation and the use have increased.


I’m wondering why kicost would fail with parts like this?

kicost -i Proj.xml -o Proj_BOM.xlsx
No information found for parts ‘Q5-Q22’ query {'mpn': {'manufacturer': 'Infineon Technologies', 'part': 'IRF7769L2TRPBF'}}                                                                                 

kicost --info
KiCost Python 3.6.8.on Linux-4.15.0-39-generic-x86_64-with-
neon-18.04-bionic(64bit).Graphical library: 4.0.1 gtk3 (phoenix).

I’m not sure if I should open a github issue, or ask here in the forum :confused:

I am not sure way it is failing in this specific part, way be just the thirth part repository that didn’t update the database…
Nowdays KiCost get the info using the Partinfo API that centralize Octopart and other APIs to to make viable some Collectice Founding. So I think that this issue will stay, but open an issue on GitHub to we track it.
The future roadmap of KiCost is make possible the direct use of different APIs, suck digikey, mouser… I have modify several parts of KiCost but as the only active developer this feature will not became soon and we still have some bugs to fix in the actual version (the call for developers still opened).

Thanks @kasbah, I just added JCLC distributor do KiCost and now the code generated in the purchase part of the spreadsheet are mean to be compatible with JLCPCB housing.
This version 1.1.3 still just available in the official repository
I need to help fixing some Windows installation before release it on PyPI.

@marcos are you still experiencing this issue? Seems like it should work fine on the partinfo side.

Um, it still fails on my end:

Along with several other parts

kicost --info
KiCost Python 3.6.8.on Linux-4.15.0-39-generic-x86_64-with-
neon-18.04-bionic(64bit).Graphical library: 4.0.1 gtk3 (phoenix).

Not sure how to further debug this…

Are your full BOM returning “no information found for …”?
I did a test using KiCost 1.1.3 (still only on Git). And this specific part returned (13.4 KB)

I found the issue:
@marcos, for example for “ABM3B-8.000MHZ-10-1UT” you set up the “MFR”=“Abracon LLC” but Partinfo API return “Abracon” and it doesn’t strict match.
Workaround: delete all “MFR” for your BOM.
Fix: please open a issue at to thinking about a better way to match or some command to ignore it.

If you try part(mpn:{manufacturer: "", part: "ABM3B-8.000MHZ-10-1UT"}) the API return value but not if use part(mpn:{manufacturer: "Abracon LLC", part: "ABM3B-8.000MHZ-10-1UT"}) as in the BOM file. The manufacture name is just “Abracon”.

1 Like

Oh I tried exactly matching the MFR to what digikey listed but didn’t try deleting MFR.


Fellows, as last day of the year, I just finished to fix some bugs and released KiCost 1.1.3. The fix includes JLCPCB information and filter (ignore) Digireel parts.

Also, the help page returned online.