Skip to main content

A nifty tool for renaming or cloning your KiCad project.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rename_kicad_project-1.1.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rename_kicad_project-1.1.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file rename_kicad_project-1.1.0.tar.gz.

File metadata

  • Download URL: rename_kicad_project-1.1.0.tar.gz
  • Upload date:
  • Size: 5.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.7.15 Linux/5.15.0-1031-azure

File hashes

Hashes for rename_kicad_project-1.1.0.tar.gz
Algorithm Hash digest
SHA256 f0d925f8fb8b7097b889f709e7fbbe6953278e34addbccaeb15f7faa71b30188
MD5 14517f0625d0878523c77b86e5af3f70
BLAKE2b-256 8a7f3374fe28f1843f94e5200f9470c44e56f7c3daf00a7baf005775c542ebd3

See more details on using hashes here.

File details

Details for the file rename_kicad_project-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: rename_kicad_project-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.7.15 Linux/5.15.0-1031-azure

File hashes

Hashes for rename_kicad_project-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89b48ef05965efa26f6ebb0419c3c73c6eaafef744dda2801ad74efb80018ec7
MD5 867c049212af4131b7ba2d2c0f2a0ff0
BLAKE2b-256 6da82de534f7faedd4532460f722025771c1e96557745f30e3f35db295e2c581

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page