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.16.1.tar.gz
(94.1 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.16.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 900a7345ce8253e3c285d7968c0f002c0a75079a38decb1ab701b01bc6dabfed |
|
MD5 | bc68215647889a384eeb14f6413bc8f4 |
|
BLAKE2b-256 | ce78bb8b0fe5f421bb3a8f9e443249a252ce1a2a9e4d66071e95c04bfa916585 |
Close
Hashes for ast_grep_py-0.16.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 240338c3e8e4257d78c072caf475a767c52f639383b78206e082f8c7ebb3f40b |
|
MD5 | bb0694030f78c10ad027d0f5fa4511b7 |
|
BLAKE2b-256 | fda82c0beee673a44f3cad71904b58011c28b7522351278a75528e35097e584a |
Close
Hashes for ast_grep_py-0.16.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31f2d9fa449403ebd121aa2b99c201ccf3286be8e53fac8efd0dd9108a6f0a5e |
|
MD5 | 04a5c338f3a1fe3b89b6722c3fa6a577 |
|
BLAKE2b-256 | 32938fe0239946513481161d7f732c082ec547dd7c1b838b6b7868c47a9feac2 |
Close
Hashes for ast_grep_py-0.16.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 025c15f99315370104ec63e42933d8ce23ecb995eb829f56f8952e9492e17520 |
|
MD5 | 6542ec7b8f1305ff8a20b77c3ea887ae |
|
BLAKE2b-256 | 218ebbd3a4f6bcbe11ca7d141cac4fd9c8580d4a2c862ec25bd949019447d454 |
Close
Hashes for ast_grep_py-0.16.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d3a5b56be550ba031eadf2ddca283ef49b33a72c5cbe2a3370a54399fb586b6 |
|
MD5 | 80ff401ea60355f034640a780ca35871 |
|
BLAKE2b-256 | 10fe6a7fb6eaa0932628017df74ffb88deab58bf391e0da2704a484436810715 |
Close
Hashes for ast_grep_py-0.16.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 180f89ac2915920866d4df1226eb91c0c8e56e8fa102d3f45368a9181f3f7b67 |
|
MD5 | 30feca49db0f5a76fcddbb8fba6d56c8 |
|
BLAKE2b-256 | 6ad35dc0d14618b610ada3d6bee1b5bab6a95a93fa96281ebd8af2531a67db7c |
Close
Hashes for ast_grep_py-0.16.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68fda0bc5977fc0878e4ad519cf5cb8782d6dca727ef86c2d6e0d3a484729e92 |
|
MD5 | 38d9e77e859ae46888191db80e6c89a0 |
|
BLAKE2b-256 | 31cb7b760a6d03a9c4edab63869ec8479c623fe88993b941c3792f68a2dd0269 |
Close
Hashes for ast_grep_py-0.16.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21537ba5b6851544070c94cda86cda2de506eb283ef807cebef79f85072a97b7 |
|
MD5 | f94677d60ec1285541f6b6825f6c5ac3 |
|
BLAKE2b-256 | c5f1a10207745d47df2513fe69a089a1096f07d5c6bb9d8b9607b70a5f7340c4 |
Close
Hashes for ast_grep_py-0.16.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 047b96bfb98cf00ab65eefbbb328990f2ad7ffc8ac382b209f62fceb5b57530a |
|
MD5 | e5bab3975597d7c026ae7d761b60eafd |
|
BLAKE2b-256 | 7b0e8d8edc5aa98be5f8345dd91e6d71ef14156d8c6e46c96227198f21b2badf |
Close
Hashes for ast_grep_py-0.16.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b025d8739efc3f2ff791bd54ac66deafa1aef2ecbafc93f83d7b3fdb0d28247 |
|
MD5 | 50b1f10b7e68e80f35b4aaa4cb11bb54 |
|
BLAKE2b-256 | 34bb9b0ecc34ad434ea3ca766865a7a84d684ef5b86821cbf12d37d03a075f5a |
Close
Hashes for ast_grep_py-0.16.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6bbeedb3121c14f7dd8df29339af67f9a4af074885ca57e68adbf83f092cddd |
|
MD5 | 9af70e5f590b046d210a18687ff1471c |
|
BLAKE2b-256 | 687484583e08e229f8bfdad0fd8d165876b4d1e69241c5d91fd9f9f239bbe59b |
Close
Hashes for ast_grep_py-0.16.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7aac454278095b74a21e941256ec1d7601734b3ae9bc6f7ea63f493cbc124dc |
|
MD5 | d470fcfbf96b8aa30e5b8adc1121947e |
|
BLAKE2b-256 | aa57fc313ff74f78cbdc3a2899649e80f58808c6012598b92cc609d5b73e5227 |
Close
Hashes for ast_grep_py-0.16.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d1cdc193e7a3a0a402a2dd0bb4c9d9f695ca45efeeb070ce8db0a8269ca2352 |
|
MD5 | 02b79487e7fd132ea24e943452ced68c |
|
BLAKE2b-256 | fa13f4faa162039678d3954d36174e499b20499d2dd1bb83c5a4b899b3798b3d |
Close
Hashes for ast_grep_py-0.16.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f30efea0dd9aa07ce5c9073683570f213fab1f3c448ddec5896949a75afd159d |
|
MD5 | b285632ce92a91ec5b3d2dce041de95b |
|
BLAKE2b-256 | 537c2ad017f61da04172a452b98364b59d237ec75669d9231ced672e41e0451d |
Close
Hashes for ast_grep_py-0.16.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc0da24d41c46488db18fcb4d1613cf21542b8a902eb8af3d1add01351670533 |
|
MD5 | b9b56dfc52222bca3ec32bccb9f34d42 |
|
BLAKE2b-256 | e7e0dec248e67bab5887793dfdee57df564252e046573e08104c836ac619d3d1 |
Close
Hashes for ast_grep_py-0.16.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3009b07768d1735451e2d33a30b58326fd1fbe3408fdc53248eb29570ee8a4d3 |
|
MD5 | c5f327dacfa9f5f2ae9c3269a8eca212 |
|
BLAKE2b-256 | 0e73ba847249e6a1ae435d5cf401e41116f8c084bc036ea78a872a0e8d95ae6b |
Close
Hashes for ast_grep_py-0.16.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 079907c0ff87112a4776824d0c14a98eecda04c9a497ed990d2bdf3afb89649a |
|
MD5 | fa0974addeacc860cae411ce30900f6f |
|
BLAKE2b-256 | 4effef2eec26b998f51e2171f5cad36a9111e5ea98ffcaf254addf1c06229119 |
Close
Hashes for ast_grep_py-0.16.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 723c141584f9169eb8160c82246d1baa8aa32c1a39bea80a2b17811b9ba3214a |
|
MD5 | edab5322cca26ea8a51617751d4f0fb9 |
|
BLAKE2b-256 | 893ee45ebe6885ca5ce3b348ac3f3b47ba1645d067b85f38530f4b03ba9234cf |
Close
Hashes for ast_grep_py-0.16.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 769d483d416fa4d5507132a06452a8754eb878f04a4cbb0b4fb2793d21d574cf |
|
MD5 | 9ff6c0c9c8b061d15490ea06869e5eb3 |
|
BLAKE2b-256 | 8cbe487305425b0a80d4927e8824e948c4216bc0e19fe79113b024a9900f878b |
Close
Hashes for ast_grep_py-0.16.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7c65ea6bcae57788a9b3027ad8bc2133710fb919a74f1d6efd7f035443aff13 |
|
MD5 | a30844378cf5b7afc74b58a735fc923b |
|
BLAKE2b-256 | 255b7405addb6fdab0a6b03999da1fe3c5a91f8e8a0a49f1443d2fb18992a46b |
Close
Hashes for ast_grep_py-0.16.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d3459ba8b8341131570f3ba8d23facc8c0c5689d94fef5f34c47f3d3f28e7d8 |
|
MD5 | e18ae7ae72da0aca62f6f127490be055 |
|
BLAKE2b-256 | eb5231611cbf67e65ee83a6e398c891bcd884cc5a47f30ed3232b4e79a3bca48 |
Close
Hashes for ast_grep_py-0.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a170d20fbf99f7c0244765f381d16600a5fda21d3eff027b57fde05106db1cf6 |
|
MD5 | 86ccabfe8a5185f1b4e5feba185d5133 |
|
BLAKE2b-256 | 61355c7feecde31d97197441f89bc89143658ebbd2327687cc9431bf901ba4cd |
Close
Hashes for ast_grep_py-0.16.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 200047f50427e6574a08acaef8d140c4e8af2f950fc4d1268e5d2114fb82f379 |
|
MD5 | 49adde9be5c840d4bcd09f69c3bf031a |
|
BLAKE2b-256 | 05b121dfddde66f2c856b6287734e329f24621e91fd4b6bc9fdf6514c8226bb9 |
Close
Hashes for ast_grep_py-0.16.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f66d95cf0bc874066a058d75280566634849ae893157ad9d8eb62f0954a44e77 |
|
MD5 | 18b3198af6d00c2d9d76f37853f5f0cb |
|
BLAKE2b-256 | aa6018b17dc04928f1eb14cae8876079396b554fbb7e99d6e372d58ac41adabf |
Close
Hashes for ast_grep_py-0.16.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2512c1f88ecf23ce5bf0f25263dd96feff326d8da401c901c618092dd61468d |
|
MD5 | 2be056320eae1a9e234902c95bc5cf25 |
|
BLAKE2b-256 | 6f75c6537d6ff87f12ea8a4196c8bd7150995f41973eb7a054e787ade3dd6bb0 |
Close
Hashes for ast_grep_py-0.16.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9813ec6a33a12aa3e67cbe2698ada220b12f7ce7939593683d8c6b64036b5edb |
|
MD5 | c61e7da80cf4cdb1575266a1d61665a9 |
|
BLAKE2b-256 | af8db918afa0bc4ff343fdcbbde63d32d51f6b4c519d4a2b6cf447ab930f8f6e |
Close
Hashes for ast_grep_py-0.16.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c2c60d3d23fe2f5c0762636c90d92b8d5e6b744c34a4607b8c45ed901967e60 |
|
MD5 | 61f418d51238dbdb07eece5052c98cae |
|
BLAKE2b-256 | ecf4beccdbc94c25a153dbaab02570c4000670df9baca732b1eff789b2b34d78 |
Close
Hashes for ast_grep_py-0.16.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecfa8cc8a8468a998ac1e696e0548d7836e6934935e001cdfae801f2268da1a0 |
|
MD5 | ac7f87e151b71eb993953ddd902e2eeb |
|
BLAKE2b-256 | 75cfbee23c8fff570f77585f8b1d09253eab215dce1684a76ad30c55db9c918c |
Close
Hashes for ast_grep_py-0.16.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6ff80e7b81f51c1b172a7f6a4b0e5ff1a4c5f4ee8aaef4ee145be2dadeaf813 |
|
MD5 | 3e7a1ec08f684b71ea5c154e63887ac0 |
|
BLAKE2b-256 | 3aac9893ec3b3d6c1f96139a2ed3d47dc859f23bcca578f74cad7a7a0dff7122 |
Close
Hashes for ast_grep_py-0.16.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ada542ebe4ea0a370eca14a4e6f287d31df7070c43f2474f9103151c5216d83 |
|
MD5 | 361e9701c2ab942bee4014bde1a2faef |
|
BLAKE2b-256 | efe77c076d70946680e91050c4b137f9b8c96964d26fe46a641090b7c31ca8b7 |
Close
Hashes for ast_grep_py-0.16.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a037d31904a6741211e2f42e52b3f2cf38de176e133bbd168a4a700e85271fc |
|
MD5 | 32858cc6257599fd21dc70b46cf4af45 |
|
BLAKE2b-256 | ca95ae683e3b2b613bf243e62e524ea0e579c2d04cfe8dbbf11fec301c5c1d10 |
Close
Hashes for ast_grep_py-0.16.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc8a0ba28bad1209c672f3e10904655583ff70f208c0167edf20fe64790ff2a5 |
|
MD5 | 459d85424ef2e0c54948d7e89203193c |
|
BLAKE2b-256 | 41a8d7248ea132c2bce57aead6334270afc2d182bb06d5b7f9ddcdf521d5b9d4 |
Close
Hashes for ast_grep_py-0.16.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 154d2d79e3dffba05e23d0d9eac9f202a4e0798000338f39969e47af210e4c91 |
|
MD5 | eadbf0c37a5ae4d2231b73d73fb3e479 |
|
BLAKE2b-256 | 255ad5a3da26e71d95306ebd7320e3b262deb399e6d63ca70d9d61ad1b27ffd7 |