Skip to main content

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

codemodder-0.66.0.tar.gz (222.6 kB view details)

Uploaded Source

Built Distribution

codemodder-0.66.0-py3-none-any.whl (150.8 kB view details)

Uploaded Python 3

File details

Details for the file codemodder-0.66.0.tar.gz.

File metadata

  • Download URL: codemodder-0.66.0.tar.gz
  • Upload date:
  • Size: 222.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for codemodder-0.66.0.tar.gz
Algorithm Hash digest
SHA256 029090dea9efcd7a044f579237e4483700e7c220330f22e7d729cb81be8c96b8
MD5 4f0e837017b221b0e8ec8d5e6815f2d2
BLAKE2b-256 ab0ac3d18b58b1e84a39ecc79ae295bfa7ff0ebd1a8d956578fb7cdb90d31b37

See more details on using hashes here.

File details

Details for the file codemodder-0.66.0-py3-none-any.whl.

File metadata

  • Download URL: codemodder-0.66.0-py3-none-any.whl
  • Upload date:
  • Size: 150.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for codemodder-0.66.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ff0b48ee3329b4eaf5348645089aae0bc5fd0266073bac1262dac3f04db6799b
MD5 fc0e3533832aaf55d95d85f2209a5370
BLAKE2b-256 2b3100dc255a6512af10c7ed8d622ca173bc0c3f16995d6038f9fcd1a54711e7

See more details on using hashes here.

Supported by

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