Skip to main content
Pixee Logo

codemodder-python

This is the Python version of the Codemodder Framework.

Codemodder is sponsored by pixee.ai.

Development Status

As of v0.80.0 the codemod API is relatively stable. However, backwards compatibility between releases will not be guaranteed until version 1.0.0.

See CHANGELOG.md for detailed release notes.

Installation

The codemodder package is available on PyPI. To install, run:

$ pip install codemodder

WARNING: You should also install the semgrep optional dependency for now as it isn't deprecated yet:

$ pip install codemodder[semgrep]

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:

import codemodder

output, exit_code = codemodder.run("/path/to/my-project", dry_run=True)

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
Base Codemod Diagram

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.

Documentation

Coming soon!

Contributing

See CONTRIBUTING.md.

Metadata

Release files for codemodder 6.5.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for codemodder 6.5.5
File Size Uploaded
codemodder-6.5.5.tar.gz 765.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for codemodder 6.5.5
File Interpreter ABI Platform
codemodder-6.5.5-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / codemodder-6.5.5.tar.gz

Download URL codemodder-6.5.5.tar.gz
Size 765.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d698ac35d24e249abd0bcbf744c4093a8a2a80a99784eaa67205f788cd3f9147
BLAKE2b-256 checksum
How to use checksums
4421ef9501dfc5d9a7cbbff8731c39acbb804610ee691700859fc038682b32c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release files / codemodder-6.5.5-py3-none-any.whl

Download URL codemodder-6.5.5-py3-none-any.whl
Size 299.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5f8a6916d2c76411729d6551ac6abaf36ce9cf145c21acae8481921441282a40
BLAKE2b-256 checksum
How to use checksums
8eeec766eeb8070a4671eeb9b41fcf38294f0c3b350de3287b715c45d9d0d0b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.0

Release history Release notifications | RSS feed

This release

6.5.5 This release

2 release files

6.5.4

2 release files

6.5.3

2 release files

6.5.2

2 release files

6.5.1

2 release files

6.5.0

2 release files

6.4.3

2 release files

6.4.2

2 release files

6.4.1

2 release files

6.4.0

2 release files

6.3.1

2 release files

6.3.0

2 release files

6.2.2

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.0

2 release files

6.0.1

2 release files

6.0.0

2 release files

5.0.1

2 release files

5.0.0

2 release files

4.3.1

2 release files

4.3.0

2 release files

4.2.1

2 release files

4.2.0

2 release files

4.1.0

2 release files

4.0.1

2 release files

4.0.0

2 release files

3.23.0

2 release files

3.22.4

2 release files

3.22.3

2 release files

3.22.1

2 release files

3.20.2

2 release files

3.20.1

2 release files

3.20.0

2 release files

3.17.0

2 release files

3.14.2

2 release files

3.14.1

2 release files

3.10.0

2 release files

3.9.0

2 release files

3.8.0

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.6.1

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.99.0

2 release files

0.98.1

2 release files

0.97.1

2 release files

0.97.0

2 release files

0.96.0

2 release files

0.95.0

2 release files

0.94.0

2 release files

0.93.0

2 release files

0.92.1

2 release files

0.92.0

2 release files

0.91.0

2 release files

0.90.0

2 release files

0.89.0

2 release files

0.86.2

2 release files

0.86.1

2 release files

0.86.0

2 release files

0.85.1

2 release files

0.85.0

2 release files

0.82.1

2 release files

0.82.0

2 release files

0.81.0

2 release files

0.80.0

2 release files

0.72.0

2 release files

0.70.2

2 release files

0.70.1

2 release files

0.70.0

2 release files

0.68.0

2 release files

0.67.0

2 release files

0.66.0

2 release files

0.64.5

2 release files

0.64.4

2 release files

0.64.3

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page