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.3.tar.gz
(99.7 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.20.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2875e254c1a29ebfe0e6faa3bee93c5e57b891e7fa94fa39c68afb2d3c64a224 |
|
MD5 | 74ccda17552f9c569fe1098058b29414 |
|
BLAKE2b-256 | a03e42ae457b5cac97bfe7e355c380b1cf4f1dde05f0d9bb1b311da5481d5d1a |
Close
Hashes for ast_grep_py-0.20.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d51fa91a17af34814634da39a6b70722aa6440964c635734163ab44569e6816 |
|
MD5 | 1ee76e1d54eb5a276d99b735542af9b3 |
|
BLAKE2b-256 | c5ab19e54868c5a4ac819985458f0bbf9b1a4484cdbcc3f70ebe44c89822d032 |
Close
Hashes for ast_grep_py-0.20.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65bc8efd02c518e75743870839b92f18606a236709a9a128c713ad2b5874034a |
|
MD5 | 8850e56802e1dc50d9aace821620b5ae |
|
BLAKE2b-256 | eaef52bfe28580c55b788127f852f105056c24a5a352dd4a3c63be9ab0304972 |
Close
Hashes for ast_grep_py-0.20.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7081f8e33f027a5d21d299761b442c17799ab2de41a534eddf74c93b8ed627fc |
|
MD5 | 4e632fc965db98158a97b5077393cc2c |
|
BLAKE2b-256 | 5bc42bd3f80b26c55e857cc85490af028c2b60787125ed68cfb32fbc61d9dcee |
Close
Hashes for ast_grep_py-0.20.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc271514f7d2972f4c8a7d56e91b53eb14500dfac6b5722ab6c985dd3057e49b |
|
MD5 | 97d2f1474af25525b9cfc3a6515d1368 |
|
BLAKE2b-256 | 261fa60ccc7bc0636d4b139c17607e895e493515ea4129af9646e063806d00fa |
Close
Hashes for ast_grep_py-0.20.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3500e7932f7482b65dfa48df0ab8c8e105903d3b521feeaccfcdf6d98fa39389 |
|
MD5 | bbebcdc31c86ed70bae24d64a1d3b26f |
|
BLAKE2b-256 | d32005f24806ddc429318d37b62f9dba5126db5051072a249939ab74ced4c4fb |
Close
Hashes for ast_grep_py-0.20.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5b4f73196021e726adcf749a241f664d4334a7018be94ad844bebe3a128d46d |
|
MD5 | 9a36de3418ce07fa204d1f517fee128c |
|
BLAKE2b-256 | bf363abadfb0b5b02d8f7a2825c392660b62f4dab801bd28ca20138e4d3b809a |
Close
Hashes for ast_grep_py-0.20.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ced67fae625a9c9dd69cfde77087f57edee7ec28d200e0768ae453917661239 |
|
MD5 | 0c116a5cefcf099f37a0b7f9ffc2013d |
|
BLAKE2b-256 | 8ae2919f357b00fbf0b8d2446fa4f16641224b66d121141fe7f21e56efcd4fd7 |
Close
Hashes for ast_grep_py-0.20.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10b68c06de1a3080395f374eb0a9ae30555889273e19ea99980cb68ee5959732 |
|
MD5 | a7ab64d95edee717d647a40d5e6ee7ef |
|
BLAKE2b-256 | d9b657288f21125a91b40b5c8aa77f41a8775b3c9d032846256105825f8133d6 |
Close
Hashes for ast_grep_py-0.20.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b2af269c822f74459dd0cc2259ff1a6f5a5889e42748121d028309f6ff0f1b1 |
|
MD5 | 4ff31a9fe2a560e230baede8867a7582 |
|
BLAKE2b-256 | b2115defbd9f7e2bf6ed5f51d120b26397359a0a6c38f4c19fee249da64ef31c |
Close
Hashes for ast_grep_py-0.20.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a60a3918bb59c7c82445cc4d452b45ef8a0fc8a2e523ee8188b087036a5b809 |
|
MD5 | 14ab513a6e3899f4be83b8036f05813b |
|
BLAKE2b-256 | 423d8ccae6da3307486264caea78899b723ca042a5e4182f2c1eb92c1ab347e2 |
Close
Hashes for ast_grep_py-0.20.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3438131bfbc8d662f88aac38dbba50a584dd57f74667d9ee73db37e46847fe4 |
|
MD5 | 5168a87f47c2f851adfa7e9a3b1c8f71 |
|
BLAKE2b-256 | 092379ef6c42d6a0ba4d21230e1060d0d08131c02e122e5121fe96cbc490db14 |
Close
Hashes for ast_grep_py-0.20.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae32e3deac4db3b58716159bd27c398f944e69e39ffab5dfc4aaa93b0d179d9e |
|
MD5 | b652b148a274457914ca66b2c23b4ac5 |
|
BLAKE2b-256 | cce2365a135a2ea4263da80a23db936419572ae61b1cae88e30969d9a29bce3a |
Close
Hashes for ast_grep_py-0.20.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1023a9806b602d19538221980cffb96856a0f560943a5b7d6ffd1c997899634d |
|
MD5 | 5c8b0c48409ddbcab1d99c7e69c3bdf9 |
|
BLAKE2b-256 | 4f08451be8da5dbec1cc1dd96a63d7ea8fb25346531fc719eb83b8f56a4d0f4f |
Close
Hashes for ast_grep_py-0.20.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8d034476f29d72f1a7552301d6b4e61045dd57cc44f7c60caccf1b1f721d1bb |
|
MD5 | 1448273ef3a34e9df1f2dc546454705a |
|
BLAKE2b-256 | 6b3f891a842d728f7d0d1bf320cabb5fa3170f3e85dc9fb9db51bb3ffca11134 |
Close
Hashes for ast_grep_py-0.20.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 420a1a5b63831c58d1900ae585f1307fb64eb2a062a91ac1750643fc5bfa803a |
|
MD5 | 988a5582040e5ef3513c2c2d33e95333 |
|
BLAKE2b-256 | ef8f540a8be3cc4ff1b002c4d6af02a7a8f243fa83bd26340aa2493d3b35c0f7 |
Close
Hashes for ast_grep_py-0.20.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2281558f07fed0625861ec63252aa78db07415f0131806e516160c13a973e136 |
|
MD5 | 11b2803ad48b4c2dacef62aeb61c8f78 |
|
BLAKE2b-256 | 6c94718b7df85e138712e8a10910bbfed28353f19ac06364683dd2b6b86cd6c6 |
Close
Hashes for ast_grep_py-0.20.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90456bb398f0c2ffb02d29b0ff461fa9f146c1aec246685eeb7475e6d138dd1e |
|
MD5 | 5c0ebdab8016acccfd436ecc66d37189 |
|
BLAKE2b-256 | 406cec05ad480d7336aa255630ff1ef8f066478a9b51d801420000ba2470bd98 |
Close
Hashes for ast_grep_py-0.20.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3fa4d60c7f6ed825491dc85dc8193f19236f00fa49a086255010eadb4a21fb7 |
|
MD5 | d245dd76556c58520d23c1dfcb7954b3 |
|
BLAKE2b-256 | bbfcb2ee02662d9b087067caf2a9e889d6dc7339dcf54565b5e9bf339589d5e9 |
Close
Hashes for ast_grep_py-0.20.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fefb9140bc1ae743214e7d5726a44af957c3c083cd0535272bbb3e18a0808803 |
|
MD5 | 448c1864d579c6bcacb4f7c2597d9e26 |
|
BLAKE2b-256 | c2fc4abae0d81d70610deeca546b95768c50967283edfdeb46e70cd69a97c139 |
Close
Hashes for ast_grep_py-0.20.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe0b0d5e9161e3bcad72cd369b710bbc0968e3658665ca0dcaf1013e446f5926 |
|
MD5 | 5f5d55047f3e3cdccc7219ec15cf0003 |
|
BLAKE2b-256 | 9b1256a52521b9dc57b987fe5b9591bc216c26de2bc94ad4a25de8dab4490420 |
Close
Hashes for ast_grep_py-0.20.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c4beabe6318ed03e3cc1ec21d0cd1e0d797559e3f04e3ef903dc4049604fefc |
|
MD5 | 5e044e4214b6b70a0c7f962e2cf361ce |
|
BLAKE2b-256 | 2549eeabe891d2e887c08682830af2b68e4ba5dd8894e780921f9e9281b813e5 |
Close
Hashes for ast_grep_py-0.20.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f24b3b7ebb6ff3931fc2be418292fabfa0fb25cbdb1dcfcccbef8c69bfccc381 |
|
MD5 | 98cdbb8f03b658f0f5e2514b41ebab8a |
|
BLAKE2b-256 | 5abc49c3b7a14b0086bbd2e602c6fde98ef33c0c0eb5c9c8654ba0e1a58c5cf4 |
Close
Hashes for ast_grep_py-0.20.3-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a55d96b69702b9b0124c5bfb542be9a92d2c25ab999f559e7ee5aab585bff98b |
|
MD5 | 7474acda2e8c0493d5dd6e9710d74a9c |
|
BLAKE2b-256 | d555a185dc8de391bb9c9642561a30571af649f07078e00f9d889db2035d8da1 |
Close
Hashes for ast_grep_py-0.20.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ba4940e4da6ced5ae131fc024dd28f0d55c21b464cfad6c163020d2d46dd313 |
|
MD5 | 92802a39808f0ac48ce5b71d6e399fcf |
|
BLAKE2b-256 | ecb367ce1cf687bf41da1f7935e7e820f3744aa7d0bc0233c1c16287f3e3bf2d |
Close
Hashes for ast_grep_py-0.20.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 609a33d205bd78e0a9a97cf462bc1b46908b718a813ea002feb2237bfee7677c |
|
MD5 | 003fc209e0bae466c68fb03e51f853b0 |
|
BLAKE2b-256 | 1eb347b1ac1be029155808169736ec3d9c1df76fabc6d0d14cbf02644c55f910 |
Close
Hashes for ast_grep_py-0.20.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d5ed0c65ab96246839758f7a2a277d9d807b7544ffe4f44380083b7ef326148 |
|
MD5 | e3f6faf0f7cb936b324667df7836f5bc |
|
BLAKE2b-256 | f6b68857f0f7e6f23df5b334e866e65a073060b9a802afdd79430195f4121189 |
Close
Hashes for ast_grep_py-0.20.3-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 407405f16ae5201eb0bd0253b33cff02870b46d7bbfd7a9f0970c3a377f8ff6b |
|
MD5 | b8825dd0395b8d6a05f79b87ff525e40 |
|
BLAKE2b-256 | 643920f72a3df35bd44e22ef7071b19b3415b8a9f6d2104a9584f5867fe00e33 |
Close
Hashes for ast_grep_py-0.20.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8568e9277413995b570cd0442a351d1878f4df78770d6875071dad854a83a1a4 |
|
MD5 | d2f7633086a1da12a9aea2533cbe021b |
|
BLAKE2b-256 | a7ba6cbd4b5a5f1a6ce2869961be8f8174ba181a49c4fcaafc5c4a254ef38a06 |
Close
Hashes for ast_grep_py-0.20.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6523a2574c8b3c22642fe8f05dd187a7aa2174637665a947a5c3d47ddb0346ca |
|
MD5 | b0cf26a1d7e36906dda6a3147e69d21b |
|
BLAKE2b-256 | db66934eff6f7f3b0a857ba2713cac51a85acac45f664d09f3e2f03761e07bbd |
Close
Hashes for ast_grep_py-0.20.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7ed50cb22b4819dd3152414e193995ccb9cf5b87c78b27ef885c8bdecbce1b8 |
|
MD5 | cce34e6b57128e63447a19f73b6cd21c |
|
BLAKE2b-256 | f610017ac0a3065f49577921bf94a3c84e870ca051bac0944ffed92719807a8b |
Close
Hashes for ast_grep_py-0.20.3-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b82d96e33d628d6baebbcce6aeb096aba8ded144f2e99d1b011f94f71f1ca955 |
|
MD5 | d597226dbfe5213bd588550e436a4200 |
|
BLAKE2b-256 | 7a6fbff4ffde3aa3608e05dfb804cdfd3b2f30326fc8e5ed4b74177d417df6d8 |