A collection of CLI tools for manipulating and exporting Bricklink parts lists
Searches through a PartList of potentially unowned parts, and attempts to see if you've already got those parts available in the owned parts lists. Think of it like a right excluding join in SQL land. This is especially handy when you've made changes to an existing model and want to easily figure out exactly which parts are new.
- The
--missing-partsflag is present - One or more
--owned-parts-list-pathoptions pointing to your part list .csv file - One
--unowned-parts-list-pathoption pointing to the part list .csv file - The
--save-pathoption specifying where you want to save the output .csv file to - The
--save-formatoption specifying what flavor of output you'd like.
Merges the given owned and unowned PartsLists together, returning a single one containing all of the parts contained in each individual PartsList.
-
The
--mergeflag is present -
Zero or more
--owned-parts-list-pathoptions pointing to your part list .csv file -
Zero or more
--unowned-parts-list-pathoptions pointing to your part list .csv fileNote: you need at least one valid owned or unowned parts list path (and ideally two or more) for the merge to complete successfully.
-
The
--save-pathoption specifying where you want to save the output .csv file to -
The
--save-formatoption specifying what flavor of output you'd like.
Performs an intersection on all provided PartsLists, regardless of them being owned or unowned. It then returns a single PartsList containing only the parts shared between all of the input PartsLists.
-
The
--intersectionflag is present -
Zero or more
--owned-parts-list-pathoptions pointing to your part list .csv file -
Zero or more
--unowned-parts-list-pathoptions pointing to your part list .csv fileNote: you need at least one valid owned and/or unowned parts list path (and ideally two or more) for the intersection to complete successfully.
-
The
--save-pathoption specifying where you want to save the output .csv file to -
The
--save-formatoption specifying what flavor of output you'd like.
-
--missing-parts- A flag to choose to perform a check for missing parts, wherein a single unowned-parts-list is compared to one or more owned-parts-lists to find missing pieces. See themissing-partssection above for more details. -
--merge- A flag to choose to merge all providedowned-parts-list-pathandunowned-parts-list-pathparts lists together into a singular list of parts. -
--owned-parts-list-path,-o- A path to a Bricklink parts list .csv file representing parts that you own. This option can be used multiple times. -
--unowned-parts-list-path,-u- A path to a Bricklink parts list .csv file representing parts that you do not own. This option can be used multiple times. -
--any-color,-a- Defines a certain color in the PartsList to be changed over to theanycolor recognized by Bricklink and Rebrickable, which in turn selects the cheapest parts in any available color. For a list of all current colors, see Rebrickable's color guide. Specifically, see the text in the "Bricklink" column, between the single quotes. Note that this mapping happens after all other commands have completed, so the output PartsList will have the specified colors mapped to theanycolor. This option can be used multiple times, for multiple colors that need to be mapped to theanycolor. -
--save-path,-s- The path to export manipulated parts list data to -
--save-format,-f- The format to export manipulated parts list data in, acceptable values include:csvsimple-csv
Note that the
csvoption will output a .csv file with the Bricklink parts list headers that were fed into it, while asimple-csvwill output a simplified version with only the "part", "color", and "quantity" headers and values. The simpler version is suitable for uploading into a Rebrickable parts list, for example. Please note that if you do intend to import into Rebrickable, that you must set the "External Source" option to be "BrickLink", instead of the default "Rebrickable (no conversion)" option.