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.4.tar.gz
(105.9 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.21.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94ed0e7f9cd762fa0da26915484c5bba19219d0f34fae4d8004d6016a6a51d3f |
|
MD5 | 866cd75cc0d9b932ccdacbff8b74d722 |
|
BLAKE2b-256 | 0bfdedcaf57d724eb1a560cf465a5e44dd3bc86ecfef10347bd0b5af2162b49b |
Close
Hashes for ast_grep_py-0.21.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef0de36feb03967b02cf8c4e9955faa9ddd49502ef03d456a41b12618f2c3513 |
|
MD5 | add4e19d44a86b45126e3e14c682689f |
|
BLAKE2b-256 | 893bc97da7d9edccd2189049ffcd8984552824316b6b42c673393f1805be8d1d |
Close
Hashes for ast_grep_py-0.21.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b265715a099287cda1fdc26e4b0fecc02bd8ea59ad6518da7683d240b363c84 |
|
MD5 | 62e511dafdde741ddd2ed33af2b99b18 |
|
BLAKE2b-256 | 61aa4f6e8cb2cd9d1fb976f9d1531e856e9340eb3a93d35025e53e0b0904cadb |
Close
Hashes for ast_grep_py-0.21.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d33e6a5aafd243ca728752bcac79d753ce3f512675a642d05eccc5dd42b14076 |
|
MD5 | 321516c570d287ac8592cbc90c545b87 |
|
BLAKE2b-256 | 80e5438965b021ef7eb2f80d9d63c31a5c2a4e60cba2b9f4841d4bd4bcfa0ff2 |
Close
Hashes for ast_grep_py-0.21.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1d1447f8c5ed5ac028dadbd6948ae5544d0721ab30efdd8dc85b4242acca1ed |
|
MD5 | 17560ecfb93053aaf8d59eea4b475b73 |
|
BLAKE2b-256 | 5f36de0c50b840a95b53bc67d2a9c92cef57080acb9cad2b745253c41cca4474 |
Close
Hashes for ast_grep_py-0.21.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b2da2f75d8e86478b429a9261d0ed95f46a3b3ff71cf1536eb204f7d476a7e7 |
|
MD5 | 15ebb2ada5188c8c3322bada1d5acfb8 |
|
BLAKE2b-256 | 56280d1417e1df8f1c4b0c6bccdee43148efc8244f3dee9215a90b9096877e27 |
Close
Hashes for ast_grep_py-0.21.4-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2aa6a4368fbc523e9ee63e9d40c47e65c43ec826b2c40b3577f7985d7fb94ec0 |
|
MD5 | 64c6606c3393db3e84b3afa16809e96a |
|
BLAKE2b-256 | cc3de371febb140b9c34692e596028f334c68289d63c9d185ee6abe67b958217 |
Close
Hashes for ast_grep_py-0.21.4-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cdc81a7cb4782b2ea3b1fab30e091be1a2778ffba0f1ae35307e8c0045a0c38 |
|
MD5 | a3851f6591a354bbc4db17222429afdb |
|
BLAKE2b-256 | 0b226807cc4779adcad9818e05752cda92c07db8730e37b7654bd8456d2a2f0f |
Close
Hashes for ast_grep_py-0.21.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 775aba079b15eeba31f84e0d554a2f5fd54f0b140b430e0a5494bc8f1cd4560c |
|
MD5 | 829c7a902e8f09da048660cfcb7fa6ac |
|
BLAKE2b-256 | aae5f204eda8f4a53f2f08c8f6a2afd44ce5f64493462b0c3bc416407bed796b |
Close
Hashes for ast_grep_py-0.21.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6175a68345ccc59619a1ac7f3cd290bd96b72915ed824e4383e537c17afc6540 |
|
MD5 | b6a17120977fc2d94523bd5161295f22 |
|
BLAKE2b-256 | 16c2d47ef1f87cf4b8977716f63edde31731ee66de5a0d32ce0c489d7fcab5d1 |
Close
Hashes for ast_grep_py-0.21.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb476e14cfccabfbcd2b3c0a53d5308b10e92957dfee74613ef3c362f5587ff3 |
|
MD5 | c46c94ded8f44ecef6c7425b138dc7f4 |
|
BLAKE2b-256 | 6953081f891bc5f1ca310de19b192eeab938d15f6f8b75707ff98a29c3cee056 |
Close
Hashes for ast_grep_py-0.21.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55eadb014f2f1534df850f82403526b55b2cc045cea9fa400bb3bfb25acc568f |
|
MD5 | 69e30e0c8f21bb9c6cc6f874f3435f97 |
|
BLAKE2b-256 | ca5764270478b2af9b153b4d327cb9afec77857b74550dc3a965e2cca08b4768 |
Close
Hashes for ast_grep_py-0.21.4-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91af1d543eba8294d45f102adc75a67edca2bd6fe23a6385ec4cbb070cb402d1 |
|
MD5 | 45ba3393570d4caeb4835dd2aca4287d |
|
BLAKE2b-256 | 80abbe6c413b32ca567c290b697129c62459c95ee51fc780a4f836869f003e98 |
Close
Hashes for ast_grep_py-0.21.4-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c6c6b9c36f6bba97f43ac2877573df67d5ff68467e8ac966c77f0fc95812f3b |
|
MD5 | 84ecfbb5a58e7d314f6a55f5a6c7efec |
|
BLAKE2b-256 | a8e4461281dd63265a8c8ffb736fa5d5909fd349054cc7de119563ccdc4c4947 |
Close
Hashes for ast_grep_py-0.21.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8b40880135a80a8ff52ab396bcc08c34b755601030f682548faec9e93fd38d8 |
|
MD5 | 8a5b78ac2b17b710e686cbb71b45e815 |
|
BLAKE2b-256 | d7988bde4211eefbfcf25056a51da34976cf4194928b3d714773c44eb737b6c8 |
Close
Hashes for ast_grep_py-0.21.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f52bc48a737af61de99a097402c82f9bf4df5255675773567baf6285df4281d |
|
MD5 | 1a555d758c6f7c517a12b10da31d258f |
|
BLAKE2b-256 | 4b4bf0f3f0c8ebb4916ba6068d31fa49510873ed79354865e6cd0e9a36ba8412 |
Close
Hashes for ast_grep_py-0.21.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c067b0d771de81c150a61397406086c701d11aade25b49066ec165723b4f849 |
|
MD5 | cc077faf2446d48d0d2225b42771d892 |
|
BLAKE2b-256 | ab856f36bab013e5013af4d13e8bca125115a999cea5dd35323c9334c120300a |
Close
Hashes for ast_grep_py-0.21.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17cb2861a77c9c865b5abde1854b93551932bafee938e286775843b4adb1111c |
|
MD5 | f925bd13177b2a9bb159318e01b9920b |
|
BLAKE2b-256 | 1a8f50e4c72ec3d7e7713fd912fdedd0f4862149ee0b15ae1a1e1cfd879624d2 |
Close
Hashes for ast_grep_py-0.21.4-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34813cfe3d5610b482105efff344146540bc1fab142a565832e823f7a985376d |
|
MD5 | 6c37de37c986dd639a34bf927583a786 |
|
BLAKE2b-256 | 266c915dfe57c3c224e5fa0ae4a0e8f03c5e7a2a3028e9ef38be8eee5a63111c |
Close
Hashes for ast_grep_py-0.21.4-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a994177de5db4ea0f4e01691aae216666a625469395733f5dc8a96a20a28e35d |
|
MD5 | aceac76a788edc13ff295cae4c4254e9 |
|
BLAKE2b-256 | f25c5cbdae45b68fb51632ea9577b31f3575c132c20bd567863b2eeb3ea0e0b7 |
Close
Hashes for ast_grep_py-0.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f3b9a1e7a568634d2f3d4cbb7993be60ecff505461768a539e071c30ac766b3 |
|
MD5 | da661a0666a8bfc805e4d8fd578b20eb |
|
BLAKE2b-256 | 9e47211accb52c42b9dae25d7ac3c7ab084a524ad4a8d9f15c4c3e53c2ba72a5 |
Close
Hashes for ast_grep_py-0.21.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08161cef83e4b7a90d004d4383f4c326c3cf9490bbfd1fb7aedfb2ba1b32dbaf |
|
MD5 | 04c901105a547cb4bf8e5bb097d2b4b3 |
|
BLAKE2b-256 | 6fc9de9bc3902473db906be6d1e6d8ffbc3eff768b8df30fe34586105a9284ae |
Close
Hashes for ast_grep_py-0.21.4-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e01b48431f064bda72509a06f99a836431a3ae052b5b65ab80226172605d969 |
|
MD5 | d067cdc58c85466212967a8d11bd3c87 |
|
BLAKE2b-256 | 516520306dcaaee69b95a34eb292a1cb425ae4bd1e41201549415f2a24a3d93e |
Close
Hashes for ast_grep_py-0.21.4-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19bc8bf9611823ce68b5fa63270c31d4ddb2da738e61ebfc5dd5d9d7fb892c7e |
|
MD5 | d8bb92ff537d4dedff14a7f6fe1b3486 |
|
BLAKE2b-256 | 0eb0e744e5b08c476ce3565f983d08a905dd44be03758fede21f21ac959ac31e |
Close
Hashes for ast_grep_py-0.21.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 923ea8590b218572c914a0a386b7c3d926c3a5b80115b75465da98acc3df8cfe |
|
MD5 | 69afd2f6020d6a082a9bd600f2ff0668 |
|
BLAKE2b-256 | cb7a8c3214f01110e5ff8258a78783dcb2aa50092cc4f34040340a42b0f8821d |
Close
Hashes for ast_grep_py-0.21.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49b2dcac5f674261f5062e6a8ebec822044fb37ecac2dbaa7ff280431176b2e9 |
|
MD5 | 093de708cc2b0421f47289c6e00b55d5 |
|
BLAKE2b-256 | bbadaa0148b92548abccf2bf80fbb2df421c4b47121451242c6b1ace7e779c64 |
Close
Hashes for ast_grep_py-0.21.4-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2e861bd41b88567558eef913fbddc2397e3a73d2784027f9f926a8d3196386b |
|
MD5 | 5e2afd2cd6a70354a750b0b6389c730d |
|
BLAKE2b-256 | 99a33c2ba8be6a07b667547779aa93969275f72492e3aeee571c05fe0ff8c722 |
Close
Hashes for ast_grep_py-0.21.4-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 025709109d157f7f19baaea00ac2a8c7c358eab7ac912a9d5470b700ae2be637 |
|
MD5 | 2f442938b19049afff578135337787b4 |
|
BLAKE2b-256 | 59ee21eb3f63404ebead26949496fb67794a2fd556989744d2827b512c95c22a |
Close
Hashes for ast_grep_py-0.21.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76e45126c1c2d093f7402afc8f0b38aaddb04316ca2c993ec17bf9509f3a10b2 |
|
MD5 | acbc270513aeb43b60b581ad5f1f3344 |
|
BLAKE2b-256 | 08d9a1c8104d61d2f3c783280959b108af522a1b8e1574c25ea4294cfce03e11 |
Close
Hashes for ast_grep_py-0.21.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88cebf1192c976302c0a1741500c28c48d1240b40a64936d16fae999122d6479 |
|
MD5 | 95db5b387919cf7f348d3636602416c9 |
|
BLAKE2b-256 | b4fd70e008b6ac80b571fcb613276502dbfad0840c43498556b48f133b07561a |
Close
Hashes for ast_grep_py-0.21.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f4195c90ef9a79f96bdc365b4b86cd677d1139cf5e4c3e0dbe0e899f22f4384 |
|
MD5 | c44a0b2ae7b549193d59d9b1818fc2c9 |
|
BLAKE2b-256 | 9ae9b1c8aea4f8e2d0fbd08439ee35b57954dd8e2a774742fe818e594ad9ff8a |
Close
Hashes for ast_grep_py-0.21.4-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18015f3049c9d2acfdde842e7dcc624aa7aeb3fa6cabb130a0ae570feaaf6785 |
|
MD5 | ce96e466cb2613bf04c0c87dcc2b998e |
|
BLAKE2b-256 | 61ae02d1a2b2ab4ad4c213bdba4eb657d0b82984df6b2a8a376d0c1c3fdd6097 |