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.1.tar.gz
(99.5 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6f5d8f122d95e48bf9094cdb53d4a9fe253705d0da915b1f53688e2bdc4f0f5 |
|
MD5 | bc60438ae8975ac4f7bd199d83fb8f75 |
|
BLAKE2b-256 | 62beec799e05ac573bf8b384c32eb17002191e2354095c7ceeb8d32b8a7fb24c |
Close
Hashes for ast_grep_py-0.20.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb3fbfd01200129456107ac22cfb80bd44220c4c8ff6ffb4d70a7ba4c5698129 |
|
MD5 | 40648f2229f03f996a7f7982a9a1b313 |
|
BLAKE2b-256 | 5e89bb2db3a6c75cee82fcfe1f59ba94aacd93a3e7b10460e56d27b2fe087343 |
Close
Hashes for ast_grep_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8bb686763287d41e57aee464ae34708bcfe72e33394996105e991cf29411f67 |
|
MD5 | a087db2c6e6733894217280af10efc63 |
|
BLAKE2b-256 | 69ed8731bbd015def321a66018e2bf50ac1b68fa727f63ed21cda1199d1afc6f |
Close
Hashes for ast_grep_py-0.20.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e181a751e56c9acf80eb715692c14d07707e98c2cd9992391c4d491befd38715 |
|
MD5 | 62cf7e7c96d582b9932502a2064ce960 |
|
BLAKE2b-256 | 2c638a046644d67bb20ffdd9e78686b5f6c109916f3ac00449056fc0d0e1b27e |
Close
Hashes for ast_grep_py-0.20.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f3d3c85989508ab501ba4b3a5333195312850545bc72c0ece889b5e75aede2b |
|
MD5 | 1f30890908433982600158bd632354a7 |
|
BLAKE2b-256 | 906ca2524e62e83cffda06f45330da4e8cd417403dcb97d8ec09078db55273c7 |
Close
Hashes for ast_grep_py-0.20.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c26ecb3b2853e09a8b602c15d92ebec42ed8171d7598e5ff2e5dd16f3ffe650 |
|
MD5 | 1ef89203cefda366d00617deb31dd314 |
|
BLAKE2b-256 | 7071e26ee635185e41f67ad60b1388f05d58c4ade77d79ea7d01c1ddb8cb1a10 |
Close
Hashes for ast_grep_py-0.20.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5c22d619c8e3a1cf14631c8bde1d039935876c338d60f7d797f73ec8b908071 |
|
MD5 | c9d7876f6b45f4af2060f743b1c1613c |
|
BLAKE2b-256 | 08a1fe9a8f93a4d8661a0f5dc4985479f19c4c2a4a51ce948a9bef5bce4c609f |
Close
Hashes for ast_grep_py-0.20.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97d0d4759b3a2b12b536fd95e61dabf609fd4f029dd659027be9857d3a2c7bbe |
|
MD5 | a58fd3a017eba9cd24887d761ef052c0 |
|
BLAKE2b-256 | deecbdf9b4ea5d5fc58df34b8dcd52bb2832bb8b9443946a1be489f8eea3d13a |
Close
Hashes for ast_grep_py-0.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9c2851ed50fb8bf5d0bf74f385d5738b82ae42d0c6f26c3b8a23aafda37be23 |
|
MD5 | a94dff48fddec60376b1e264f430cdc7 |
|
BLAKE2b-256 | ff4b69fc7817bc1a44ae9a0ee03d29a6a32e110124f74f2ded2ea24451e3de36 |
Close
Hashes for ast_grep_py-0.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec45e2f0fa8c9d699cde222c9f7e264d603f2cd0c571a08507edd10e08a0eb8b |
|
MD5 | 7a9cceb4a789f2134ccde2a5fe240909 |
|
BLAKE2b-256 | 8bccb5ed374f97fbe5130a832cc17d3402428bcb7c576fbd4ec4bddc065a0455 |
Close
Hashes for ast_grep_py-0.20.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad32bbc31df56f4b66be033ef0faac6db42b310de5ff83510a9cf0c2e36051da |
|
MD5 | 30b7f36bdcc109d2bc13c7062bfbc326 |
|
BLAKE2b-256 | 22f9add336725260ce65b90a3d85b3cca323d66f35998f025de9f0fbb81bbcaf |
Close
Hashes for ast_grep_py-0.20.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9b9406d05d4e5334fc25c7040757500d73b1a652b204d3c8bbf162ce2cd90ea |
|
MD5 | 69d43e474d164bc6a670a949c5398012 |
|
BLAKE2b-256 | af4513274160e39613d93c8a043eeffcce3a9d26880c0277de149d28daa0abae |
Close
Hashes for ast_grep_py-0.20.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b5e0dee130b44fbf96ed1ee94313a763a4472ab62681e0dec000e31b549b779 |
|
MD5 | 358ed58369f007ea816811f716721781 |
|
BLAKE2b-256 | c38963b4d63a94f34f2c81cad30c402a85a682cf89fc8141e7b625bb9355d5ea |
Close
Hashes for ast_grep_py-0.20.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d38b566df098fc1645b4c39f17ed5bbeae1bf5b139f29ab5d500c1b519210845 |
|
MD5 | 9fc2d863f99d4ce70ce7f39a99c6e472 |
|
BLAKE2b-256 | 667641f90b6f287f680af357a0ef9cc926481eca7438ecc05439c5c29776daa8 |
Close
Hashes for ast_grep_py-0.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52103ad520bf72eaa1968c0d50b80d07d7ea4b1072691a616f0716edce2deab3 |
|
MD5 | 1943da05582b9716401fec0129e48932 |
|
BLAKE2b-256 | dec9434aece1f4852883c6b30690e50a6f648cc9f1a9214727f13b5ad4ce0819 |
Close
Hashes for ast_grep_py-0.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 525623b3c3e187c941a31b71f7027a8836b0c10843aeab380e3e3653c0af2be0 |
|
MD5 | 27defa46e2599c0bea77d257e75d04eb |
|
BLAKE2b-256 | 73dd29357a91ddcb9fa988a893dc2be083af7126bfb3a8911dcb4e01e8f27446 |
Close
Hashes for ast_grep_py-0.20.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ac97838aaa16b1930d287a79a4e8c4b15a611af34f48e66bdcb06bd81cbaa49 |
|
MD5 | 2a787bf9c1967cdbf8c89b8a2bb4b018 |
|
BLAKE2b-256 | 7eed336c3accf89b6cf85fac8079332c4753bd749db9a4fb013fe527126a2b5e |
Close
Hashes for ast_grep_py-0.20.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 809bb35316e7753ed86ea01826f5c822e44739a97de98786113fd395d0cf72be |
|
MD5 | 194f7dfaa39f3f5a72a8e26c007efe05 |
|
BLAKE2b-256 | de3b9ce39adbccb9b3c320393ffb2c57934d829aaa94e51894dec5f8083b0242 |
Close
Hashes for ast_grep_py-0.20.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc0d4a1b124840d394e58710b0af5f11fbb8b09656c110776efd28241cef5ce2 |
|
MD5 | 05351fb341120f459754099b4b1f5e8c |
|
BLAKE2b-256 | a702b153a06d5fd36aeda4034861454bd1a6fd1ca9aacf22742ff9c491a19602 |
Close
Hashes for ast_grep_py-0.20.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46a4df462754949ab6363ded28f6aea213fe4a20fb9e83ac6f5d47f8cfed9e4b |
|
MD5 | 8aec1abda7098594f3a98cfbd06b773b |
|
BLAKE2b-256 | 4a5dd9d4d843588bd7fbaf695eeb94e1babcf08a7f3d6ed928833cf6a1bda647 |
Close
Hashes for ast_grep_py-0.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c4f41963cf715536bcb0c3142a06d6b6b647146a0963e2c2369ef2d03eca901 |
|
MD5 | 24cc6a6b6bfd32a4c4bd9a03d487b8d8 |
|
BLAKE2b-256 | 6d856d587d3e2ff566d81a14551f8f951d92ce8fd0d6b6b5754f6611d36a709b |
Close
Hashes for ast_grep_py-0.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c453fcb2cfc6c30c48c1ad07d10e20152308a649392af0f56bb03de0e229a307 |
|
MD5 | a587cd3acc7e95b30c8cfd649b988d58 |
|
BLAKE2b-256 | 968501c624409291cb800962877d2e9eeece5dd45a9472716f79e689d5af19e0 |
Close
Hashes for ast_grep_py-0.20.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d3e474d0c88b8e638df4caf49c308158e5454cfa0d70ced081491fff9aee6c7 |
|
MD5 | 89d4fe0e4612620cd09eb99e6fa3ff12 |
|
BLAKE2b-256 | ad1c414e231dd3d32ea96b8a5e732a260823a1857bbc7a095cf91e654b096254 |
Close
Hashes for ast_grep_py-0.20.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0f30d8b721f302af3fbfdd6d5b50ac94969eef83b28a1d877cb05b680433f5f |
|
MD5 | 9eaf62827f0f08b7d23a50555688014a |
|
BLAKE2b-256 | f77c5172d5634630b45921cfea96bc0afc3bc62c3b1b7f03ba58f19844b0753e |
Close
Hashes for ast_grep_py-0.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8a1a21f4a2b80b1f035c58bd37fa1bd8e163c5f84a825f1236ab2887f79305d |
|
MD5 | 2b68293a0e0c7255b6e263c4cfa171e2 |
|
BLAKE2b-256 | a41fd12cdf00140cea8a4d3129a8c97e2265c781f020b3ecc68c7b15528be543 |
Close
Hashes for ast_grep_py-0.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2e5b76af5f1525654b378f6078a499b0557f85c9ff2d85a399ca8eb6c6f3521 |
|
MD5 | 0d48186aab488f1551692ff6b64ded1a |
|
BLAKE2b-256 | 086bac994bb3baeadf86e7bca1d7824c58d98597462ba83a500c608f8b06a532 |
Close
Hashes for ast_grep_py-0.20.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 114dd61ef674f3d28faaf9b791dfac2eea1deb6ae5c07bdac1a449fb4d83c5a1 |
|
MD5 | 8cf8e5523990e6df02715aaf8b08af3f |
|
BLAKE2b-256 | 246af033aa6def46a7b01c1adbbe87cc06e3a5d1da58add00c0e8c2f5ea3644a |
Close
Hashes for ast_grep_py-0.20.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a078322cd817e4b54f80a880d53626aff590e5036b1c636af11989e4e2a70ca5 |
|
MD5 | b9fd05d3b749a8995ddc1e5d249984b3 |
|
BLAKE2b-256 | 082c06b6e85c2909a8884fa87b66052ba87c0a1e4d58ab288c102592895d554f |
Close
Hashes for ast_grep_py-0.20.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1e20e3a6262ecc89213a5990671fafa72097f223b69449614908beebd940d43 |
|
MD5 | 727c60215baf5c6d2eb251585cc3a65f |
|
BLAKE2b-256 | 6a21b58417c178b68f59e5f58fc8aafca664f9d3bcaa8e1d0565842291f31a10 |
Close
Hashes for ast_grep_py-0.20.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28cc4974704d7ce15516b34371e5266186991143c207d7a28a6b9e31411897db |
|
MD5 | 6feb8b68a86642ce668f09ece539d0c3 |
|
BLAKE2b-256 | d6aa3d6c849075455cde2adb1c4c0550555b28cbe408ca6607f811e48f7fad4b |
Close
Hashes for ast_grep_py-0.20.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1060ce83bd0a7181f9a7ddfc42d0b110dfb4ee370dbfd33d5ba99896262c2558 |
|
MD5 | 405cffb575554ff68a2304ce3cb4607b |
|
BLAKE2b-256 | fcf790737c21a33092eeddd46c9765973dcc776b9d392574d50c4f9fcc4cc0b1 |
Close
Hashes for ast_grep_py-0.20.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 675997482d4bf35f5b377f69dfc1af809b06bb45c2f391feade33798fbc739ab |
|
MD5 | 64a3d2a67a2cdac7f3213937ec3ade64 |
|
BLAKE2b-256 | f0c12be306728a978ab2d607422b0ae4ee87e3ee69ef4df6c2584a82e05337b3 |