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.22.5.tar.gz
(108.5 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.22.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f483adcc5dd7399cbb1a025d1a2789b91235020f73fc93e5d6d3d137fd32b3b |
|
MD5 | 60bd8664fa57f7c27dfc92227ef1778e |
|
BLAKE2b-256 | ecf0a6d752aa45d3c88016c67682e4aba9ae618586e16146ed5232699ca9f309 |
Close
Hashes for ast_grep_py-0.22.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c282ab6b8f40cf4c6f3e67166bea43b1b129cda0d6a87468bf1854bd2885e671 |
|
MD5 | 9c01bba23da5b605d199d3e6c5fa95ab |
|
BLAKE2b-256 | 0c57047ca54a2e5f6b7df7d92b8cff550a0dbe3754e566289db40c1343f91a06 |
Close
Hashes for ast_grep_py-0.22.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7230a8eb3bcc50d1a31771a57c31d95a7a12d90ed949f396c35afd02cf0a24c |
|
MD5 | 92125d34b8b43ab860fa8bee47320575 |
|
BLAKE2b-256 | 3850208edb1fbd493a6db7a12902ef362c0bd1614f175e33c95842c66e133908 |
Close
Hashes for ast_grep_py-0.22.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d7057d42abad04816d8cb819c45b030294a2e856e7e4a55259f8845de280ae0 |
|
MD5 | 6988df18ac49ea58849742ac1dadab2c |
|
BLAKE2b-256 | 9ea8ddfd452a14d3fcdefcbba989e953866df0f2e671b71dd3e1070759222154 |
Close
Hashes for ast_grep_py-0.22.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0aee625f0d70cbfb4c50f328abc4529c125b7770a9e07bb050b3ef901b000546 |
|
MD5 | fdec2446ac1cf51a0e04129f082f0864 |
|
BLAKE2b-256 | afab84fb752d7debea0718834fb2d507e3e068221f10c5548a5cbb004fe27046 |
Close
Hashes for ast_grep_py-0.22.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35d227f7b4139fb094fb3079cd98cbcd5e17e92ba04c626a9d0a4268b9edc124 |
|
MD5 | b52842747eb9a837519318fe0da9dba3 |
|
BLAKE2b-256 | 786539e34b3582545eef3aad9ca0c374fea91a13cb5d0049f1a65223ac9770c2 |
Close
Hashes for ast_grep_py-0.22.5-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f1a222987281c11a0f62ae88200c2a96dda1b7b4934eccd0f8a0003875e62d7 |
|
MD5 | f5bd7f43348fab03da2c15f6d7020275 |
|
BLAKE2b-256 | 409e0d8922807b577e8c1002d94a8311cfe6ba7e2edcb97373924fb4883b2f15 |
Close
Hashes for ast_grep_py-0.22.5-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f5ad693802689a5316ffd925c3ca7c3c8562e4b909872a9be6dfd976365e8c4 |
|
MD5 | 20f29bf3d8d2906b0673291a8872ac26 |
|
BLAKE2b-256 | d0e7193336b85e088c3be27dd50230bb45836788af6c150432ce5b8a01e1bfa5 |
Close
Hashes for ast_grep_py-0.22.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fcd728d834ed20426802afec59f4308ccb9ad0477d1ec15e55e1e170a17a69e |
|
MD5 | 9590515dbfe06765df776ad168c79f16 |
|
BLAKE2b-256 | 4ef488f6b536454c34edecc95b8dc4824dce58b41c61362efe243f864befab94 |
Close
Hashes for ast_grep_py-0.22.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f16c8450a9b1a02576ab80f14d1c463a11e2b754e6f00440bc971c144751e7e8 |
|
MD5 | b90df329b7f5a31dd01b2c1ae1c9a784 |
|
BLAKE2b-256 | 162fbad4442712d22261c8f7219388f464ea7c6427e234dd336b4c8df59dae02 |
Close
Hashes for ast_grep_py-0.22.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7216a405338394284bb7130d723153f5ea89ceb1042614013cf06f8ecc37cf6 |
|
MD5 | 5a732ee918994b444a6cefe037d005fc |
|
BLAKE2b-256 | 0ec442e7e9c915431b4fda76e896a620467e5bfad9605be77c35da6449a28966 |
Close
Hashes for ast_grep_py-0.22.5-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bc2490cca35fc9a3457b533cece21b7ef272f44a0ff08907870aee9f41a8822 |
|
MD5 | 85ef20eb97bb4c188702ba81aa96cd67 |
|
BLAKE2b-256 | 89885a399533fa53587d2a8ae2738343a71670c04681b22707276d3ab004d65b |
Close
Hashes for ast_grep_py-0.22.5-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a01c3a3b53d86263b994d9d857e8ee7abadf5aa2e59d308eba4b3e3630170f4 |
|
MD5 | faaeb5997c8e3aa557292fad1bd1496e |
|
BLAKE2b-256 | 1b0df13cc9fa800553a30e89bc93706d125344ca736c63bfc94af96a29031da2 |
Close
Hashes for ast_grep_py-0.22.5-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81a68e152c1178f89bc80c1762703a1bf418ae69a90a775ad66af21b2696c851 |
|
MD5 | ff497d01f4cd8d07d810c6f4b48be972 |
|
BLAKE2b-256 | 6e1dc03b26750913b3d00bf857a2371bd95946bebda6f306933d98979b217808 |
Close
Hashes for ast_grep_py-0.22.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5d177ff4c11b4ff30c8a1458c0b31270869d67df1a82bc7e268f2f32e9bbc45 |
|
MD5 | b435b8f9408a7475d32f1f28fbd11144 |
|
BLAKE2b-256 | a790fa74a34e3baaef4fd570008b631663ee484d36aeb23930366e1d27eb52ca |
Close
Hashes for ast_grep_py-0.22.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e77f7f79d376e94d8d96c45c5d82784e1050d3032fa4bca97268ff2c7b35019 |
|
MD5 | 8ca3031376e3cc46fc73493322119f85 |
|
BLAKE2b-256 | 591ee2a636fc646f539d6d5683d0e7dfe7149fcb7d771250ab8cd5c84db60e77 |
Close
Hashes for ast_grep_py-0.22.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19448e1e55be7ba3fa54a02ba4768216410f73146748b0efd6358303c3f3e92a |
|
MD5 | e54763af79676ba620a543fd5853ce87 |
|
BLAKE2b-256 | 576f623bfb22dd5bf4b22f6269c3b3c80b60698bd6ea94a6b96169fd0dca62a4 |
Close
Hashes for ast_grep_py-0.22.5-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba9ee6567390ce621add59ff9638431050374b780f8fc0eb7fe5c1cf305e4410 |
|
MD5 | 9f5a233c0aeb4a1705d2be3beaf05844 |
|
BLAKE2b-256 | c57c538d4c271fbf313fd12c040635c313f723caea0e5fdcbe221d2560426aa4 |
Close
Hashes for ast_grep_py-0.22.5-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bc471670084db4ed058dcb36e8e177ae54f9cc0636fc6a4249be9353e0b36fc |
|
MD5 | 2369fe72d0b2689bac878859142b800e |
|
BLAKE2b-256 | 0f37949ab3c64182b8e4768183d27517307b6e5c1f9c04f8cef4d24210f35769 |
Close
Hashes for ast_grep_py-0.22.5-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51a3e9e54a481072581a2456e640e02d886f82e90c7712a2a87e3b56c3a61aad |
|
MD5 | d9b000a39f80ffee878df0c332b2bcf8 |
|
BLAKE2b-256 | ec418912b50d8ba7e235b9066823dee518442cbb9adce56d62b48e1142c6a031 |
Close
Hashes for ast_grep_py-0.22.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfc6bdfad51db4ec06b747918dd14737ea625c9704696d12672d9d7c5c4f9a3d |
|
MD5 | 1bb83229d5969327e7288dda418a3f86 |
|
BLAKE2b-256 | d9814978012aad764348bba4d7623e82a1b7a61ad82f2f76ce45248a618109c8 |
Close
Hashes for ast_grep_py-0.22.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 915f68b6d158126940685be7fe2b02d87e692620db00946d5a1b9a78440e887e |
|
MD5 | 5531147babf81b8bb3b529f74cfa1561 |
|
BLAKE2b-256 | 56f90410bd4316db40daf7667928dcf6072c17e3882c1b978b1dded877537cc4 |
Close
Hashes for ast_grep_py-0.22.5-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7e27ff279dc3c51ef52cccfbcec6de548d0f226c0ae04e2a0c883d311e2f2fb |
|
MD5 | 757d1aad6852cf9483032ae61d12b4df |
|
BLAKE2b-256 | 320c82b54c5f6455a832acd94df1d676791eccbfc20a45a00838b7f9c7ca7ae2 |
Close
Hashes for ast_grep_py-0.22.5-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec9e55413e741ca0de251d315b6f86af7d5214ea275f35aac0fa2c296c083f2e |
|
MD5 | d66e261932de4e2e6a2c5806c3199a92 |
|
BLAKE2b-256 | dbc377ff60e23231b208015c3494624647822e19de999c864f36786c4b9d2458 |
Close
Hashes for ast_grep_py-0.22.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ab697d192f566cbba8b9a70048f0d75f60a7efaba97ba2ed3b888f536969f82 |
|
MD5 | c2793d9bdce5daca50823ad20fe2885e |
|
BLAKE2b-256 | ee9001f478eaf2ed49d8634b6f9df11ff936d286983d62049dd4024ebc08ee1b |
Close
Hashes for ast_grep_py-0.22.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65ef5fedf66f18a24e50ebb6663ab714fc9fb5f7ea2cdb298e09a8b29b1e65d7 |
|
MD5 | fb3a65d474464489f665675fc24d69f1 |
|
BLAKE2b-256 | 26d4fa944f4164fbd8cb93b1eac857bee9fda39cbe2bc802b8f01eaeaeb72448 |
Close
Hashes for ast_grep_py-0.22.5-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e29bf2bfceb2861a68c79658bdd092c453cb2bfb23cc34bde739cb8ddc280c44 |
|
MD5 | b9ce4cd8c2a052ae019c15a29d7e4af8 |
|
BLAKE2b-256 | 8647536d6d7d687f76a0c5a03a370f0ee3c34950f88908154ff386971d8bc7c2 |
Close
Hashes for ast_grep_py-0.22.5-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5611204766cbbbc5a79d7824811706cbba0e502f0f02353a2d6cd0e91a094a02 |
|
MD5 | 436d5db11be390c7da5b4aa23f653253 |
|
BLAKE2b-256 | 3b31996ab5b288edf9b5c18bbd8cab65bc1a8054f1fb9632a86b9cf496e85c96 |
Close
Hashes for ast_grep_py-0.22.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a95e59c744c48d948f94c41065549f47445cd618cba1014f5cf3025f650ced09 |
|
MD5 | c780bc274454e272a00360fe5325fe0c |
|
BLAKE2b-256 | f2352a181b093bba96cc691e441e47f0db2428b46ecb5fdc7e0f79a4e785cd68 |
Close
Hashes for ast_grep_py-0.22.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17ed7ad678c635b362ea55e4fd3f92b09659b4775e63d604e2ad562f2fa702b0 |
|
MD5 | b525f03c86d6608b799902fc98ae7b93 |
|
BLAKE2b-256 | e694841d9c959aaefd20ea686617e8d28e00b2bbe73c30d67629a0370add2d52 |
Close
Hashes for ast_grep_py-0.22.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8e38d4a26cf42335163eacd6db112223bf72229520e2717bb18ff5e97f96847 |
|
MD5 | 111f3b838a67624d05a1bda567099653 |
|
BLAKE2b-256 | 93ac95f259e71ec1844dfc1b3ac67c555707a9a88b3bc5b995686c14f57425be |
Close
Hashes for ast_grep_py-0.22.5-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 375aab4f51913074f95605d6a037678f8116eaf27674bcb3cde1a8b542e87c09 |
|
MD5 | ac07f0b3c54f55e765ea16e10b276342 |
|
BLAKE2b-256 | 3d696b191b5c91b36ef3fb0a2d8f9d517831f0502abf1e64ffd4fd3eee00a4bc |