rename-kicad-project

A nifty tool for renaming or cloning your KiCad project.


Keywords
kicad, python
License
MIT
Install
pip install rename-kicad-project==1.0.0

Documentation

rename-kicad-project

PyPI version PyPI Supported Python Versions CI codecov

rename-kicad-project is a nifty tool for renaming or cloning your KiCad (v4, v5) project.

NOTE: From KiCad v6, renaming/cloning has been officially supported. Try File -> Save As....

Install

python3 -m pip install --user rename-kicad-project

Or with pipx,

pipx install rename-kicad-project

Usage

# Show helps
rename-kicad-project --help

# Show helps of `rename` sub-command (see below)
rename-kicad-project rename --help

Or you can invoke this tool by

python3 -m rename_kicad_project --help

rename

In the following example, ../foo/old_project_name{.pro, .sch, ...} will be renamed as ../foo/new_project_name.pro, ..., respectively.

rename-kicad-project rename ../foo new_project_name

# ls ../foo
# new_project_name.pro new_project_name.sch, ...

You may want to run the command above with --dry-run (-n) beforehand;

rename-kicad-project -n rename ../foo new_project_name
# Renaming: /path/to/old_project_name.kicad_pcb as new_project_name.kicad_pcb
# ...

clone

In the following example, ./foo/old_project_name{.pro, .sch, ...} will be cloned into /tmp/bar/new_project_name.pro, ..., respectively.

rename-kicad-project clone ./foo /tmp/bar -p new_project_name

# ls /tmp/bar
# new_project_name.pro new_project_name.sch, ...

You can omit -p to let the tool infer the new project name like /tmp/bar/bar.pro.

rename-kicad-project clone ./foo /tmp/bar

# ls /tmp/bar
# bar.pro bar.sch, ...

Note that /tmp/bar will be automatically created if it doesn't exist.
And as you expected, --dry-run also works with clone.

How it works

For the folks who wouldn't want to rely on someone's script, here is a basic explanation of how this tool works;

  1. In the given source directory, glob *.pro files and based on the first found one, determine the current project name. (${PROJECT_NAME}.pro)
  2. Determine target files with globbing ${PROJECT_NAME}.* and including some special files like fp-lib-table.
  3. Rename the target files in place (rename) or copy the files into the specified destination (clone). That' it!

License

MIT

Alternatives