Skip to main content

Structural Search and Rewrite code at large scale using precise AST pattern.

Project description

ast-grep python binding

PyPI Website

ast-grep

ast-grep

ast-grep is a tool for code structural search, lint, and rewriting.

This crate intends to build a native python binding of ast-grep and provide a python API for programmatic usage.

Installation

pip install ast-grep-py

Usage

You can take our tests as examples. For example, test_simple.py shows how to use ast-grep to search for a pattern in a file.

Please see the API usage guide and API reference for more details.

Other resources include ast-grep's official site and repository.

Development

Setup virtualenv

python -m venv venv

Activate venv

source venv/bin/activate

Install maturin

pip install maturin[patchelf]

Build bindings

maturin develop

Run tests

pytest

All tests files are under tests directory.

License

This project is licensed under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ast_grep_py-0.22.2.tar.gz (106.6 kB view hashes)

Uploaded Source

Built Distributions

ast_grep_py-0.22.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

ast_grep_py-0.22.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

ast_grep_py-0.22.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

ast_grep_py-0.22.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

ast_grep_py-0.22.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

ast_grep_py-0.22.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

ast_grep_py-0.22.2-cp312-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

ast_grep_py-0.22.2-cp312-none-win32.whl (4.9 MB view hashes)

Uploaded CPython 3.12 Windows x86

ast_grep_py-0.22.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

ast_grep_py-0.22.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

ast_grep_py-0.22.2-cp312-cp312-macosx_11_0_arm64.whl (5.2 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

ast_grep_py-0.22.2-cp312-cp312-macosx_10_12_x86_64.whl (4.9 MB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

ast_grep_py-0.22.2-cp311-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

ast_grep_py-0.22.2-cp311-none-win32.whl (4.9 MB view hashes)

Uploaded CPython 3.11 Windows x86

ast_grep_py-0.22.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ast_grep_py-0.22.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

ast_grep_py-0.22.2-cp311-cp311-macosx_11_0_arm64.whl (5.2 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

ast_grep_py-0.22.2-cp311-cp311-macosx_10_12_x86_64.whl (4.9 MB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

ast_grep_py-0.22.2-cp310-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

ast_grep_py-0.22.2-cp310-none-win32.whl (4.9 MB view hashes)

Uploaded CPython 3.10 Windows x86

ast_grep_py-0.22.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ast_grep_py-0.22.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

ast_grep_py-0.22.2-cp39-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

ast_grep_py-0.22.2-cp39-none-win32.whl (4.9 MB view hashes)

Uploaded CPython 3.9 Windows x86

ast_grep_py-0.22.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ast_grep_py-0.22.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

ast_grep_py-0.22.2-cp38-none-win_amd64.whl (5.0 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

ast_grep_py-0.22.2-cp38-none-win32.whl (4.9 MB view hashes)

Uploaded CPython 3.8 Windows x86

ast_grep_py-0.22.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

ast_grep_py-0.22.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

ast_grep_py-0.22.2-cp38-cp38-macosx_11_0_arm64.whl (5.2 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

ast_grep_py-0.22.2-cp38-cp38-macosx_10_12_x86_64.whl (4.9 MB view hashes)

Uploaded CPython 3.8 macOS 10.12+ x86-64

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