We currently support:
- Running Graph-sitter in Python 3.12 - 3.13 (recommended: Python 3.13+)
- macOS and Linux
- macOS is supported
- Linux is supported on x86_64 and aarch64 with glibc 2.34+
- Windows is supported via WSL. See here for more details.
- Python, Typescript, Javascript and React codebases
Prerequisites
We recommend using uv for installation. If you haven’t installeduv yet:
Installing Graph-sitter
This makes the
graph-sitter command available globally in your terminal, while keeping its dependencies isolated.Quick Start
Let’s walk through a minimal example of using Graph-sitter in a project:-
Navigate to your repository:
-
Initialize Graph-sitter in your project with gs init:
This creates a
.codegen/directory with: -
Create your first codemod with gs create:
The
-dflag ings creategenerates an AI-powered implementation. This requires a Github account registered on codegen.sh -
Run your codemod with gs run:
-
Reset any filesystem changes (excluding
.codegen/*) with gs reset:
Troubleshooting
Having issues? Here are some common problems and their solutions:- I’m hitting an UV error related to
[[ packages ]]: This means you’re likely using an outdated version of UV. Try updating to the latest version with:uv self update. - I’m hitting an error about
No module named 'graph_sitter.sdk.extensions.utils': The compiled cython extensions are out of sync. Update them withuv sync --reinstall-package graph-sitter. - I’m hitting a
RecursionError: maximum recursion depth exceedederror while parsing my codebase: If you are using python 3.12, try upgrading to 3.13. If you are already on 3.13, try upping the recursion limit withsys.setrecursionlimit(10000).
For more help, join our community Slack or check the FAQ.