Skip to content

list

The kilm list command scans a specified directory (typically your main KiCad library directory) and lists the symbol (.kicad_sym) and footprint (.pretty) libraries it finds in the symbols and footprints subdirectories. This is useful for verifying the contents of a specific library directory, independent of KiLM’s own configuration.

Terminal window
kilm list [OPTIONS]
OptionDescriptionDefaultExample
--kicad-lib-dir TEXTPath to the KiCad library directory to scanKICAD_USER_LIB environment variable--kicad-lib-dir ~/kicad-libs
--helpShow help message and exit---help
  1. Determines Target Directory: Uses the path provided via --kicad-lib-dir or falls back to the KICAD_USER_LIB environment variable.
  2. Scans Directory: Scans the target directory (top-level only).
  3. Identifies Libraries:
    • Looks for files ending in .kicad_sym to identify symbol libraries.
    • Looks for directories ending in .pretty to identify footprint libraries.
  4. Prints Lists: Outputs separate lists of the symbol and footprint library names found.

List Libraries in Default Directory: Scans the directory specified by the KICAD_USER_LIB environment variable.

Terminal window
kilm list

Expected Output (example):

Available Symbol Libraries:
- 74xx
- Connector
- Device
Available Footprint Libraries:
- Capacitor_SMD
- Connector_PinHeader_2.54mm
- Resistor_SMD

List libraries in specific directory:

Terminal window
kilm list --kicad-lib-dir ~/my-kicad-libraries
Available Symbol Libraries:
- 74xx
- Connector
- Device
- Memory
- Transistor
Available Footprint Libraries:
- Capacitor_SMD
- Connector_PinHeader_2.54mm
- Package_SO
- Resistor_SMD
  • Environment variable not set: Command fails if KICAD_USER_LIB is not set and no directory is specified
  • Directory not found: Command fails if the specified directory doesn’t exist
  • Permission denied: Command fails if unable to read the directory
  • No libraries found: Command shows empty lists if no valid libraries are detected
Terminal window
# Environment variable not set
KICAD_USER_LIB= kilm list
# Error: KICAD_USER_LIB not set and not provided
# Directory doesn't exist
kilm list --kicad-lib-dir /nonexistent/path
# Error: Directory '/nonexistent/path' does not exist

Verify library contents before setup:

Terminal window
# Check what libraries are available
kilm list --kicad-lib-dir ~/kicad-official-libs
# Pin specific libraries to favorites
kilm pin --kicad-lib-dir ~/kicad-official-libs -s Device -f Package_SO
# Configure KiCad to use all libraries
kilm setup --kicad-lib-dir ~/kicad-official-libs

Compare library contents:

Terminal window
# Compare two library directories
kilm list --kicad-lib-dir ~/project-libs
kilm list --kicad-lib-dir ~/company-libs
  • File extension: .kicad_sym
  • Purpose: Contains schematic symbols for KiCad
  • Example: Device.kicad_sym, Connector.kicad_sym
  • Directory extension: .pretty
  • Purpose: Contains footprint definitions for PCB layout
  • Example: Capacitor_SMD.pretty, Package_SO.pretty
  • Independent operation: Works without KiLM configuration, scans directories directly
  • Top-level scanning: Searches only the symbols and footprints directories for library files
  • Sorted output: Results are displayed in alphabetical order
  • Cross-platform: Uses appropriate path separators for Windows/macOS/Linux
  • Performance: Efficient scanning of large directory structures