A pluggable framework for building codemods in Python
Project description
codemodder-python
This is the Python version of the Codemodder Framework, which builds on traditional codemod frameworks by providing codemods with additional context and services. Codemodder plugins inject codemods with the context and services they need to perform complex transforms.
Pluggability and the complex transforms they enable distinguish codemodder codemods from traditional codemods.
Development Status
The codemodder-python
project is still under development. 🚧
The project includes a (growing) set of core codemods. It also supports the development of custom codemods.
Many of the existing codemods make use of Semgrep. The
codemodder-python
framework will support additional codemod sources in the
future.
⚠️ The custom codemod API is under heavy development and is subject to change. The API should not be treated as stable at this time. ⚠️
Installation
To install the package from source, use pip
:
pip install .
Running Locally
You can run the codemodder program with
codemodder <directory> --output <file> ...
codemodder --help
Contributing
See CONTRIBUTING.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file codemodder-0.64.4.tar.gz
.
File metadata
- Download URL: codemodder-0.64.4.tar.gz
- Upload date:
- Size: 200.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28ece1167cd66337562f548a58e423c992724fc15747ba52f228522cc5282c00 |
|
MD5 | 2bc33539e436f7f1389670c57dd86b04 |
|
BLAKE2b-256 | ae3f4288851727e698eed7af5c69fff2682311df61422cfd97e3368a90ecb423 |
File details
Details for the file codemodder-0.64.4-py3-none-any.whl
.
File metadata
- Download URL: codemodder-0.64.4-py3-none-any.whl
- Upload date:
- Size: 129.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f993c378988b87a182ba1a93cbe679e53d5aae917a67b5dc3cab6af4129ac1d6 |
|
MD5 | 99c0c43fc2d0ed5dc65a01bf1fc8cfc2 |
|
BLAKE2b-256 | 72acb6253fda8c5ac971344ca893b4e99f0926b388b9583ce94cc61a16270a4a |