Structural Search and Rewrite code at large scale using precise AST pattern.
Project description
ast-grep python binding
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
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
ast_grep_py-0.20.0.tar.gz
(99.6 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d82968728d296c6b3eb8b504bff97486b1942163b6adfb04c9a6a03edc2526ad |
|
MD5 | afffdc33a37879b49896463d827e8fd1 |
|
BLAKE2b-256 | 9aa4b82f4f90ed3de55d336c7bd3a543f666d48486f2c0f9abbae62719c6d7e2 |
Close
Hashes for ast_grep_py-0.20.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85f2c812b84bec4b59b605f4f5d60574ac9f6349e064e056423a8c7aa00531ba |
|
MD5 | 8846eaf9fd864aea4b3f25bc4b18637f |
|
BLAKE2b-256 | b1afa2084086cc2d696bb53158e540dbbb400423d708603779670040b88818c3 |
Close
Hashes for ast_grep_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14efa2c4c81d771ea15fad9c98fdd4d12e163a9b0e819456f581f825fc3a02e0 |
|
MD5 | 50c92cc8fec5422139d5e8c64682a426 |
|
BLAKE2b-256 | bec9d940da98ed82713bc5d57781c0bf469e01750eebeacc030a4d607eccf106 |
Close
Hashes for ast_grep_py-0.20.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e740e091d404a04921665173141be4dfa432ec7201ecd14c96d6c727ed373ea |
|
MD5 | 57192a2cf532cecfab38bb80f4795364 |
|
BLAKE2b-256 | 2513ee621efd7a585f15998698f6f3288e0e4d48691eb5bcfe4b814bcc27cf78 |
Close
Hashes for ast_grep_py-0.20.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 469edb4f7b0789e38c24cde0c973f26d8e736eceb8f0b31770facc32e70d3679 |
|
MD5 | bce39eb67e48b562df0d70327948f3b1 |
|
BLAKE2b-256 | 75f53e9dd5b7681bf101174fe2cb346fd12eb24b502c87014b305f7afc9f0118 |
Close
Hashes for ast_grep_py-0.20.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5506d8923ecb2267b4c38c809ab7fbe02126513af5529d9560a3153905dcca4f |
|
MD5 | 4973a58f3188b91f45d9e99569c59bd2 |
|
BLAKE2b-256 | a947307d96260e69c74dea7c7528c566abc0ded7f8d7560a5183706d5688e626 |
Close
Hashes for ast_grep_py-0.20.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc0a4c969f61d8ef17d1778584285b8259ec0597230900b4e2c34ea47c5993da |
|
MD5 | cc05a3d8f4f6cde609f475f4c5634041 |
|
BLAKE2b-256 | 0a44d96286b2123f999499ac397b2cedcc6848a70ee5b00250666c361ecaaf3e |
Close
Hashes for ast_grep_py-0.20.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1034a3c6b53ddb4114a394e52608361b5f9340acdbcc2f6ac187b6a0d0d4deec |
|
MD5 | 3746ccf4d9cbd2a02408e2e15a426898 |
|
BLAKE2b-256 | d93d29dd2b6b6acb0c16ba0f988b9be6fc30bdf4dc24cf88acdb72801c6f235b |
Close
Hashes for ast_grep_py-0.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c06128385e872d09db3e396aa37b1125caf93fd6f55d36c0df53616f622e2582 |
|
MD5 | 11f5bee2e86a20d22221abb15e59a684 |
|
BLAKE2b-256 | 23cd79dd25a96cd65fca4876974b6d44a2f1b056d8e108115cb3cb4990875f71 |
Close
Hashes for ast_grep_py-0.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8789caf34df5f39e0d1c8c82691816b40c04ae9a14be5c468050c18af7acfa0a |
|
MD5 | 16527b9a0abd4482e2524c75a47a180c |
|
BLAKE2b-256 | dfb42d6f54a0d6482fac07f8db3f3a008ada2122243be76fbd86455ae2f0fdb4 |
Close
Hashes for ast_grep_py-0.20.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b09121d7aec3007d1e5aa1df88ad1c1832e2abba33a67d6768de49f2d9f1da7 |
|
MD5 | ce7f9467fa430782586e6cd70626a452 |
|
BLAKE2b-256 | 31077c6d01fc84ec57c846a5fa2f362c8ccb1294eb7bddb33a4f88ffc782de89 |
Close
Hashes for ast_grep_py-0.20.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95de2fa334a3253c8b585c04c1136ececf0388cb00423e5d37fe98ef43ac1e11 |
|
MD5 | 170f69cab4fa8fdf6b95676087e7cd64 |
|
BLAKE2b-256 | fafdbdb0602f313e493488cc4090fd0bcf12ca4b443fb3101687b5579acf6ef1 |
Close
Hashes for ast_grep_py-0.20.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ba85fb4c03f9d817e9eaa68471acd5bca9b339a004cf05d1f6c361eb11b1276 |
|
MD5 | ffeaf2474775b6d9c3dcf40c2cb4bdce |
|
BLAKE2b-256 | 400c5cf9172bbe69c0c50bcbc08ecde453bcb7f7b953d1eceec20e009ac47903 |
Close
Hashes for ast_grep_py-0.20.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0e36d5b2c33ee719137c5a2938dbb88e9d9c72bd8fb1fc2d28983e6b77bf88a |
|
MD5 | 2a4f8a7032ae77a657afa06b7c51f6b0 |
|
BLAKE2b-256 | 1d03d5797644cfc44b9dca6c32c51a1ae5043bc3728ca6cada49a55a26a5ff24 |
Close
Hashes for ast_grep_py-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e9af4afebdd2a525f3ea2794504076edd6253a2f4e2a65fb229cf8077d59d9a |
|
MD5 | 1e91d1e7eaeace067620dd14ab576c3d |
|
BLAKE2b-256 | cda959d6900863a59b878f90c41025bc9697bc4994bd701904cb5ceeff0aabd6 |
Close
Hashes for ast_grep_py-0.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8570e7252e6740e7cde41ff394fad4cb0d4a22263591503af0b3186966e450d9 |
|
MD5 | 4167c1602aa1128654469d0dd07fcd8f |
|
BLAKE2b-256 | 8b4dad6c1fcc13af69a695e1df5d76ac8b6b6c19062d04e2237aeeed936f6f12 |
Close
Hashes for ast_grep_py-0.20.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24598e7a29682101240c904f39a5e29768fcfaf37f684379fc0bcff51c8900ca |
|
MD5 | c8d570181bc472591208e994a34ef072 |
|
BLAKE2b-256 | 04b70fde9dea78bd5e642e89311e11bbf0c82fe093bf7c7721ddc4d67c3436b8 |
Close
Hashes for ast_grep_py-0.20.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bf9708f06f6112e1d2dbd269aff5673af25760db1e502d406c87872167542cd |
|
MD5 | f88c389dc71b184dab5a03e98088e0fb |
|
BLAKE2b-256 | 756057ae2b0c8327f098e6fdba76106000f0902e1874f2378919516d4fa1933e |
Close
Hashes for ast_grep_py-0.20.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e412a44ccfdbd363f1288a350e02bca4f9bd3001cecdc76752df1d87c77d665e |
|
MD5 | fc0da41977f345035f9088653c0b5b6a |
|
BLAKE2b-256 | 6b7df3d162cfd95d7fe544d918b4c2533ada1eb708cb84a4dca07efdba62492e |
Close
Hashes for ast_grep_py-0.20.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db059bd45f09db2476f83ebc74069c9d719358bd2ad0bd38093418dcef23a9ac |
|
MD5 | 4c55e88b32e9c8f70182e8c87893dd6f |
|
BLAKE2b-256 | 551b73b3f9695cff0d4140b27d871d63bb84d525e24ba58808ae66677a35a51f |
Close
Hashes for ast_grep_py-0.20.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f74cf0015939beeeb7124ca593a4d296c02b479ea4d53353ee3118cbafd70f0 |
|
MD5 | c0d575bbdaefeeb2b93243e5a9587771 |
|
BLAKE2b-256 | c1d741982c6cd3cf54c5eccff80ed6c2fb169f69539f61901076f400ba8ba21d |
Close
Hashes for ast_grep_py-0.20.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c1db04f7aa3438bd58831f5e1de29ab70c899eb365fcb4293cea0a465d5c77a |
|
MD5 | f9f184eacef77fc0f496a100bbbb7389 |
|
BLAKE2b-256 | ce0881b737bbd8a80da067f59d209e2b3654f9984fa30d9c39cc31830c4280f4 |
Close
Hashes for ast_grep_py-0.20.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb14b8b668a4f82a084f7ea4b0b4c2e3965618f4f8b3b1437e4115c682a83ae4 |
|
MD5 | 078112e2b2e67a8df94da26fdec1c906 |
|
BLAKE2b-256 | 9ed080bab84a4fcbcaa44127d92a1806dd36df2c4b974ce9c600a0358cb8d647 |
Close
Hashes for ast_grep_py-0.20.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80193ad64a3130e68e73a98e6aa339fa75015e4a1effd9c9eda796fc74709f6a |
|
MD5 | f7a1743ad299e9e769286d88190f4463 |
|
BLAKE2b-256 | 078220490c1e56ec97c3531012064d232eab4d1cf6fd746b9c90054d931a3fcd |
Close
Hashes for ast_grep_py-0.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3401f2d47df4bc636fafe8b995644e2e23b17c398ac4d43a594e0a107d045926 |
|
MD5 | 58e47c112648977d9c584078029cb38b |
|
BLAKE2b-256 | 565854c5b037566000094b658f65cb0b04f533a3a131b4f5d9177016fe3d1d0f |
Close
Hashes for ast_grep_py-0.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82a3c7aacdf7384135363117a3a0ffa4f3bae383107150a96ce39f6234057416 |
|
MD5 | b69960917a4804a0078933b61e14ab4d |
|
BLAKE2b-256 | aaeae9c35e07aed1bb54bb294338b9551a858b17fe7ba37c0ea18fa22b71ce06 |
Close
Hashes for ast_grep_py-0.20.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 53fe8f6908c638aaef2ba5e17da14da8c2d7a035d53cbb7b67702ae4364c6afd |
|
MD5 | a0e72e0cbbd92de9bbc196ed0589582b |
|
BLAKE2b-256 | 4019ca87a613883dcfb8c2a0acfd02abfa223641e93f9b30210049567ad8e6f9 |
Close
Hashes for ast_grep_py-0.20.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcae47cda8aab5e030c2e293396ff2314d575c9754c69a27e5c987d98003dda3 |
|
MD5 | 64913695908d252ea6e4c35ba6593d2c |
|
BLAKE2b-256 | 1106d04b2ad85be5cff2c77b135d2f2efb2d822a95c9923f4f93619e1db98e07 |
Close
Hashes for ast_grep_py-0.20.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83b44c9017d8dfdced807ad03ce9e94997cf94f58b7c53b7bf069c39ce4d9707 |
|
MD5 | 9a3e126c55d131e5dcadef7f644243d5 |
|
BLAKE2b-256 | 86eea96673681949dfdd2fc8f305b9410122d3fc04cd66c38084e66e2c171d3a |
Close
Hashes for ast_grep_py-0.20.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ca322bccfbe8f335bdd5351f7e24f72ff346ec273ceb90fc1847a43ab8cfe31 |
|
MD5 | 0a2fe206a38d4e5fc72c2aa5198bf568 |
|
BLAKE2b-256 | df443a86400624822bbabd97a01e0d35a1fbf299b4bf86f224951446230a892c |
Close
Hashes for ast_grep_py-0.20.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdfccdb290b6eceb4ae77ef542063acad144e4177208d29034961d5bb64a7848 |
|
MD5 | c56dbb445d05586ed2282fc6579b22bf |
|
BLAKE2b-256 | e9db1859248debd331f13f7b79c94c2791638f49852473cb3a352df5a97af52b |
Close
Hashes for ast_grep_py-0.20.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b64231aabd2b13f2d7b84932b4d18135ce73beae0812f6a0384bce89bdd285e5 |
|
MD5 | 71edd8eec6883e154b67fee0e824cef7 |
|
BLAKE2b-256 | b88b869e480dc7b027d469e4dcbc3c0c32f924a1621a2f5412c63c6e06ce4089 |