Module and utilities for manipulating part fields in KiCad files.
A utility for manipulating part fields in KiCad schematic files or libraries. KiField can extract all the component fields from a schematic or library and place them into a spreadsheet for bulk editing, after which you can insert the edited values from the spreadsheet back into the schematic or library.
KiField is usually employed in a three-step process:
- First use KiField to extract the part field labels and values from a schematic or library and place them into a CSV or XLSX spreadsheet file.
- Edit the spreadsheet file to change existing field values, add entirely new fields, or completely delete fields.
- Finally, use KiField to insert the updated field labels and values from the spreadsheet file into the schematic or library.
- Free software: MIT license
- Documentation: https://devbisme.github.io/KiField.
- Extracts all fields and values from one or more KiCad schematic libraries or files (even hierarchical designs), and inserts them into a spreadsheet (either CSV or XLSX format).
- Extracts all fields and values from one or more CSV or XLSX spreadsheet files and inserts them into one or more KiCad schematics or libraries.
- Bumped to version 1.0.0.
- Fixed a bug where field visibility is default-visible and/or cannot be set if Reference field does not contain an ‘effects’ property.
- Fixed some string-splitting and unicode bugs in find_by_key() that manifested in Python 2.
- Added --no_range, -nr option to disable hyphenated ranges when components are grouped, explicitly showing each component in a group.
- Bug fix: Add sexpdata to install requirements.
- Bug fix: Add import of reduce from functools.
- Bug fix: Correct disappearance of default part fields when extracting from schematic to spreadsheet file.
- Bug fix: Explode collapsed references when importing a spreadsheet file.
- KiCad V6 schematic and library files are now supported (well, V5.99 actually, but the file formats shouldn’t change).
- Part fields are cleaned up if they contain newlines.
- Lines in a schematic file which were broken by a newline within a quoted string are rejoined.
- Generated spreadsheet cells have their format set to TEXT if they contain a string.
- Fixed problem with unescaped quote being inserted into schematics/libraries.
- Fixed problems caused by new 2.6.0 version of openpyxl.
- Fixed handling of relative sheetpaths in hierarchical schematics.
- Fixed string problems that occur under Anaconda.
- Now works on files outside the current directory.
- Clearer error explanation when part field extraction fails.
- Simplified installation instructions.
- Fixed error where output was not produced because KiField was first trying to backup a non-existent output file.
- Line-feeds and carriage-returns are stripped from strings inserted into .sch or .lib files.
- Fixed error where reading .lib files was ignoring the first line after the EESchema-LIBRARY header and missing a part DEF.
- File backup now works on all files in a hierarchical schematic.
- Fixed mishandling of quoted strings containing escaped quotation marks.
- Catch exception caused by numeric fields that aren’t strings interacting with vis/invis option.
- Added visibility/invisibility option for fields.
- Added “grouping” option (–group) for gathering components with the same field values onto a single line of the XLSX/CSV/TSV file.
- Added recursive operations on hierarchical schematics so everything can be handled just by processing the top-level file.
- Added support for TSV files (thanks, email@example.com).
- Fixed issue where all the fields from multi-unit components in a schematic were not appearing in the csv file.
- Fixed issues #3 and #4 regarding incompatibilities with openpyxl 2.4.0a1.
- Added the ability to extract/insert fields in DCM files.
- Added the ability to explicitly exclude fields from extraction/insertion.
- First release on PyPI.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.