Skip to content
Refactor your software using programming language independent, case-preserving string replacement 💄
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
rebrand
resources
tests
.gitignore
README.md
asciicast
deploy.py
setup.cfg
setup.py

README.md

rebrand

Refactor your software using programming language independent string replacement.

Helps by renaming directories, filenames and file contents in a case-preserving manner.

rebrand demo

How does it work

Imagine we want to rename a library called SomeThing to AnotherName.

It will first normalize "SomeThing" to ["some", "thing"] and "AnotherName" to ["another", "name"], and build patterns on this.

Then, when matching and replacing, it will memorize the casing pattern and separator on e.g. "Some-thing" to replace it with the same convention, like so: "Another-name".

This works for:

  • filenames
  • directories
  • file contents

Binaries are just copied, and warnings are currently shown for png and jpg files containing logo or icon.

Installation

pip install rebrand

Usage

rebrand <OLD> <NEW> <LOCATION> (optional: <DESTINATION>)
# e.g. rebrand ancient modern .

TODO:

  • Implement radically faster matching
  • More options (such as disabling image warnings, verbosity, ignore patterns)
  • Switch from fire back to argparse
You can’t perform that action at this time.