The codemodder package is available on PyPI. To install, run:
$ pip install codemodder
To install the package from source, use pip:
$ pip install /path/to/codemodder-python
Running codemodder
CLI
Codemodder can be run as a CLI. The codemodder package provides an executable called codemodder. This should be available on your path by default after installation.
For basic usage, run the codemodder command with a target directory path:
$ codemodder /path/to/my-project
Note that by default codemodder will make changes to files in your target directory. To run codemodder without making updates on disk, use the --dry-run flag:
$ codemodder --dry-run /path/to/my-project
To list all available codemods (including any that are registered with installed plugins), use the --list option:
$ codemodder --list
For a full list of options, use the --help flag:
$ codemodder --help
Library
You can also run codemodder as a library by importing the module and running run. For basic usage, pass a target directory path and the dry_run argument:
Unlike the CLI which has a default dry_run of False, when calling codemodder as a library you must indicate if you want codemodder to make changes to your files.
Architecture
Codemods are composed of the following key components:
Detector
Transformer(s)
Metadata
Custom Codemods
The Python codemodder supports a plugin infrastructure for custom codemods. For users interested in developing a custom codemod plugin, we recommend starting with the Cookiecutter template.
A pluggable framework for building codemods in Python
We found that codemodder demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
OpenSSF has published OSPS Baseline, an initiative designed to establish a minimum set of security-related best practices for open source software projects.
Michigan TypeScript founder Dimitri Mitropoulos implements WebAssembly runtime in TypeScript types, enabling Doom to run after processing 177 terabytes of type definitions.