| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Graph-sitter is a python library for manipulating codebases.
from graph_sitter import Codebase
# Graph-sitter builds a complete graph connecting
# functions, classes, imports and their relationships
codebase = Codebase("./")
# Work with code without dealing with syntax trees or parsing
for function in codebase.functions:
# Comprehensive static analysis for references, dependencies, etc.
if not function.usages:
# Auto-handles references and imports to maintain correctness
function.move_to_file("deprecated.py")Write code that transforms code. Graph-sitter combines the parsing power of Tree-sitter with the graph algorithms of rustworkx to enable scriptable, multi-language code manipulation at scale.
We support
# Install inside existing project uv pip install graph-sitter # Install global CLI uv tool install graph-sitter --python 3.13 # Create a codemod for a given repo cd path/to/repo gs init gs create test-function # Run the codemod gs run test-function # Create an isolated venv with graph-sitter => open jupyter gs notebook
See Getting Started for a full tutorial.
from graph_sitter import Codebase
Having issues? Here are some common problems and their solutions:
If you run into additional issues not listed here, please join our slack community and we'll help you out!
Software development is fundamentally programmatic. Refactoring a codebase, enforcing patterns, or analyzing control flow - these are all operations that can (and should) be expressed as programs themselves.
We built Graph-sitter backwards from real-world refactors performed on enterprise codebases. Instead of starting with theoretical abstractions, we focused on creating APIs that match how developers actually think about code changes:
Natural mental model: Write transforms that read like your thought process - "move this function", "rename this variable", "add this parameter". No more wrestling with ASTs or manual import management.
Battle-tested on complex codebases: Handle Python, TypeScript, and React codebases with millions of lines of code.
Built for advanced intelligences: As AI developers become more sophisticated, they need expressive yet precise tools to manipulate code. Graph-sitter provides a programmatic interface that both humans and AI can use to express complex transformations through code itself.
Please see our Contributing Guide for instructions on how to set up the development environment and submit contributions.
For more information on enterprise engagements, please contact us or request a demo.
| Back | FazBrowse Home | New Git URL |