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.21.3.tar.gz
(103.7 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.21.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24ce8a8d02185799680cd5bd8d07d38b715f965db690f6a2acbe76417041b417 |
|
MD5 | 6eaf221570eb9f096a3fa382a7e97e11 |
|
BLAKE2b-256 | 5ef2755e530c4a88cf0c6f0f209b30479ea2f82cf588d8e6408ba108ec9a0a67 |
Close
Hashes for ast_grep_py-0.21.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aadec20d9f490c1ad34d649d02d58f1bb0422d575ed3ef7516699cce5c9dad47 |
|
MD5 | 1ab6d886820214bb420d4004b8e09692 |
|
BLAKE2b-256 | 58cd72aacdc9ff3bcb8ad6459f5d47bb6cdf4a4cb081fcfba3fe5cc64ce61592 |
Close
Hashes for ast_grep_py-0.21.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bfa1765051687686e15bfc93411d68511a608ece70c05555cb1f868b329f1ab |
|
MD5 | 0a102137eda4d501b972b2b7e4560f98 |
|
BLAKE2b-256 | b250f148e8f1c16300e923ff89180f3141b80e305d54baeafdb96b123444939b |
Close
Hashes for ast_grep_py-0.21.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b41a2552d0aa5fef082a8a4dc0d7cabf63545bc4e1c349e6e3edab440aa768de |
|
MD5 | 1683217a48449e31fbade2678c7c3c67 |
|
BLAKE2b-256 | 33d13d4ff5d6099b7635b14306aa2b5c923c984e4380f160bf1b35c7e973b146 |
Close
Hashes for ast_grep_py-0.21.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d4d5234c5d1e06aefe108869a634b5cb7ae570a562e8d7a0fddc3730f5d3287 |
|
MD5 | 9e9f10e9d725cc9d6afc51132a2f9460 |
|
BLAKE2b-256 | 93aec4533dd7499699262ecab04d5cdeacc81f1e433fdff4a22821de5052763a |
Close
Hashes for ast_grep_py-0.21.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ff83e64ffa3d72985b5ba3a172463ef24be2b853e7f2983622174ec8bd1260a |
|
MD5 | c18f310afcb752d7dbf54f2477e41078 |
|
BLAKE2b-256 | b6e9fe34b737e6ee65ac554e85a396dc2f86ddd01391016f6a2197e73e6d4cb6 |
Close
Hashes for ast_grep_py-0.21.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 083912379e9b7b02855b8b09258479bf7ad6bef2ec72648fbcd6de662b4f7902 |
|
MD5 | bdca305a0a73f42f8f6328b651c6fb55 |
|
BLAKE2b-256 | 30c3dfb35086c2f23805f62bc73574776b85a2aca7525b9b2c1627ff33b9eaed |
Close
Hashes for ast_grep_py-0.21.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5001563c749ba6652707eaaa85c067b14cd341bb72e78b042e67bccca2d28b10 |
|
MD5 | 5d8bfb381d5b72d2551da65bc83c3aec |
|
BLAKE2b-256 | 124511866f70863484f3c4d5c64d7b92b36d11e3bdc3d74da9e5eb6aa266d77a |
Close
Hashes for ast_grep_py-0.21.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dfee18f121fa1bf30893b2a0f3dce1f41b1a602a0ec8f558133ac073c5f6d55 |
|
MD5 | e5c1e22a16b34acb587aa98dc33103af |
|
BLAKE2b-256 | 8635001e222260d35e1a87e0728dd09a183b6cc28603531f713e5aad139548fc |
Close
Hashes for ast_grep_py-0.21.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1b574d249be16143a7264301a44f626ecebd255f495def0398328bccea1a6c0 |
|
MD5 | 2fd08883c6387675e993be385ab75dbc |
|
BLAKE2b-256 | e4259be004e6874cbef2b34b0df68d2dc83ea180822902409bafa6d921226de9 |
Close
Hashes for ast_grep_py-0.21.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f61c49eab74707545d1d540d574f9274b6a6eaa736f16395dd4c81b818680271 |
|
MD5 | 48a82e14bb30044a1377a6e9d1858707 |
|
BLAKE2b-256 | 1b0b09fdfc079c4656e36a4108d6461fb18ee66dc64993b99e0625586b250ba3 |
Close
Hashes for ast_grep_py-0.21.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f04896b42a0946a34d602423798fa005eaf8edf26677b30af01cc6f2e4a2b785 |
|
MD5 | 65c4c99c7fc78be41e4fdcfd33f28238 |
|
BLAKE2b-256 | f8581f2e9326807c5f3765c847abe11f5255f909a06fb980f171938208521506 |
Close
Hashes for ast_grep_py-0.21.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b0f16716775cd3e0b05f2235cd7ba632272f37fd19e509e4a835ddb228d7eea |
|
MD5 | 5b2f3cc996ee1fbe74d528ad25cedf10 |
|
BLAKE2b-256 | c8a28f25aa12763c8e6cc85d0d0636b1b37eb0ebbd084afe11aa5112e95cce32 |
Close
Hashes for ast_grep_py-0.21.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93a5dfb85717bf53fcfa48eca39f44783ae09045b587ad24fcebb87885b0fe8c |
|
MD5 | 6ee88a036ea96903cc6ff8d7dbde6bdd |
|
BLAKE2b-256 | efe26f954597e5d82e62991d78b574262eaf8bbed79ea12b581c612095e4d064 |
Close
Hashes for ast_grep_py-0.21.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7ae6992ae96760937dbaf74a17797a11cb3f2e7ff12a75deabc1336cd104c25 |
|
MD5 | 04e90d88bb4cb5e1abff2ae34a952415 |
|
BLAKE2b-256 | 0af1a8b80d2eb3db3dc284146276ba717c4c6ae6f5bc9f2d67d91e0088220427 |
Close
Hashes for ast_grep_py-0.21.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af887a38c8101027d1a87171117f499faa4ff9ab1d978c0a139c3ad1de72a71b |
|
MD5 | aff91f245249207cb0b0c46b2b32144c |
|
BLAKE2b-256 | 6e4fa549b33f8fe85bf30107390de183878c224a9073d4ba56102269fb5c3e75 |
Close
Hashes for ast_grep_py-0.21.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee3562e9ece7d00a46d551df5bb4ba36033fb16a133773fbdaa08bdca2f46611 |
|
MD5 | 0c2ddd3558644709e63889e0be3f2e37 |
|
BLAKE2b-256 | 780906cd3a3df09fca525d1ff919fec6cfc7a6b3eedc41229e03ad67bf43d621 |
Close
Hashes for ast_grep_py-0.21.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c41ba6fcb38e2aecdd2cf6e1b1fc1caa975fb66f268c0f736684a6a3e9e3f9f |
|
MD5 | 07250df8d9ea51c768cfff504e5fdaf3 |
|
BLAKE2b-256 | 746841f1ed7bd95485233ae2c616c5761f5a344e65c4d9b4b4de3c5b68b104cc |
Close
Hashes for ast_grep_py-0.21.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fae0c4dd19c29f4a1af7590ed97527ac216601a236427d21954e1b9a56142e3e |
|
MD5 | 115334eaa97f366ff242ff56bb3885ca |
|
BLAKE2b-256 | e7e2ca4dc65e51fd0c0decfb11c33e80fc8f2bb8b1254bdf7d1652165d004205 |
Close
Hashes for ast_grep_py-0.21.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a783bf976ba3368cf8e893a759d9c2809b9a77986e8c2a184f2316336af3b38 |
|
MD5 | d1d2fcbb833610b130373521341a8741 |
|
BLAKE2b-256 | c2b001db4c5b2f3c82a0c93105f36e0d599e3b06178162cec4b67fee9a8270d6 |
Close
Hashes for ast_grep_py-0.21.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec017af3d92f61b9737c55f098809327e1fdfe3e1c156d667d3cccb031647d10 |
|
MD5 | 61a92f7f3472d5110e576ca01a4736c6 |
|
BLAKE2b-256 | 4465010073dadf8777e6fe44a771b65c2f173504908aa821ba22777d3c1cd407 |
Close
Hashes for ast_grep_py-0.21.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93c3c3265f04a5acb97a63ba5d774b8b05a2efe71ec8cae61a8db704f16056f7 |
|
MD5 | 3b4942af7474e96a7d4fae6a8a4189b6 |
|
BLAKE2b-256 | 6158085a3a7664fb3b71b774449d1f00732f40b165e8d34037217882072eaff2 |
Close
Hashes for ast_grep_py-0.21.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0add27c9ce06fb313c4633c7922f60479acf39bd8e89a31fa21a85952b8bc6de |
|
MD5 | 66b270f13938680b7430fdc4a9265ca6 |
|
BLAKE2b-256 | a82a3df3302dd853e3dc184183fd3dd98b97aea1844677aded0a3f66ca5d59b9 |
Close
Hashes for ast_grep_py-0.21.3-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b872794146e1cadc9893aa1514a5356e1442c5875d602182764276e6e5aca9a |
|
MD5 | 81ae4cac5236f78d48e21851cbc2cc34 |
|
BLAKE2b-256 | c0231eb25bafab0266456dd81c00ac974ee6224bc6caded740f98aeb85e29599 |
Close
Hashes for ast_grep_py-0.21.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ff7e3576413b2ad6e97433215b80eb9dfc36233436e7513afb2b29a821e4c69 |
|
MD5 | 68d6d55d4c36b284d747be6dc700c153 |
|
BLAKE2b-256 | 8018fdc963d9f1b9b7a876d213af6d5d842ef299d06fd3ec6f141f9cf026fdde |
Close
Hashes for ast_grep_py-0.21.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6199476b51eb93453ecfb5e5ae51c78b3b75c602c2dc8f4286e37cb563ddb12 |
|
MD5 | 922fae22f6829843fbf313735fe132d6 |
|
BLAKE2b-256 | 09e54521a957c9e00e9a2f78ca7a9dd685bced2bd816d22fafd80f3dc394a5ae |
Close
Hashes for ast_grep_py-0.21.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d8ba2709c28a1fbcda2fa71270d769f8663d7ce8997ff8163bf4dd43a99e043 |
|
MD5 | 1283538b1591c9e1f80f22c0e455ad78 |
|
BLAKE2b-256 | c2394cd1c938d67fb7bfead570a644a5f0ccc39a74672a5cd54b059b7667867e |
Close
Hashes for ast_grep_py-0.21.3-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0e3a6a0905259533331194f5f448afe6e36b6a61b44f4cd218ac241985acca0 |
|
MD5 | c32bda57a58f170c922494ec36a4ca09 |
|
BLAKE2b-256 | 1fa30764df1acf33a7ab9f848b1bf36f8757b68c3c8783fd0d20d15a676f929d |
Close
Hashes for ast_grep_py-0.21.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35105ecfd720fd911cff85a0ae14b6b0f0723b04275c8b8ba65785f22e91f032 |
|
MD5 | a83c631ad5da5ce0eae47d0a7061d9dc |
|
BLAKE2b-256 | 5c3c3874684b26162e67531c379f984e3e03ef29c4c3880676f6c0822d05a01b |
Close
Hashes for ast_grep_py-0.21.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73a8fcc728d5a2f51adc37cb77e89f6c6395b51e762e82451f4aaff3cd5b3a94 |
|
MD5 | 119065670d5ec75b31bb8184ea7fc634 |
|
BLAKE2b-256 | 6fa6a8d2ad5f2992a90938df6e35e48be15d1f31551d479b0c1d7dba24aa592f |
Close
Hashes for ast_grep_py-0.21.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37fca261eb39d6baa78572f6793a34145dd43a8502994a0e58054b59d973f319 |
|
MD5 | dc84b7b057bbf2ba8dacd16e0aaa58ef |
|
BLAKE2b-256 | 7f441aa4459c8f4e39283b83ad0271d7ce2cce506202d79762d38d6726b2c678 |
Close
Hashes for ast_grep_py-0.21.3-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c53c0b106bacd9cde631ba2560a9989116f6c732d513aa7e4d72bb1e8b6bff1e |
|
MD5 | dfbb4231aab8e8a7472ae98b27ad86c4 |
|
BLAKE2b-256 | 3c75d928bf709d9f6da042aad4ab619610fdff1db06fc025475c063175be5825 |