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.26.0.tar.gz
(115.7 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.26.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 782b3853142cadade33253d4856300e84619f22c5c218599cae34f95b136619a |
|
MD5 | 5482059f7db0d2802a8fe0f2ee4beeb3 |
|
BLAKE2b-256 | 02f07bdb842ec4f048b4ce2c76e24a6b59ece19e842e71a1db66d0814bb25bf1 |
Close
Hashes for ast_grep_py-0.26.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caccbda7a6a212cc02e7d7e017c4ddf3a49dc9c43f12876e52d00384fe8a0b42 |
|
MD5 | f955af4a82f5f5fb0bc16bd1a5ef7b2b |
|
BLAKE2b-256 | da3a74804836b73fda9988b8a9f4a7eb18996aa03db97c321d7fcb649b7462cb |
Close
Hashes for ast_grep_py-0.26.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad5829236ccd019c377e76a0ce8a7342e2c85518a521cc9d2019efa447953f83 |
|
MD5 | f05307ab213290e36ee75c6e27ed677d |
|
BLAKE2b-256 | d067e62afa33277506dbf4cdad95da208cebcc6c3c6750bc06103d54c6976554 |
Close
Hashes for ast_grep_py-0.26.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 680538c9400871bcc1ef7619024be3ce3d81fe8a2da408ba5d3f01e49c3374e3 |
|
MD5 | 6a1495b7b1670123545f11f10a490d0e |
|
BLAKE2b-256 | c11434c64e269adc3ddb1e35fc493ab3f7c03a816af87642e20fed64db925853 |
Close
Hashes for ast_grep_py-0.26.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 390ed20ee6a5673260b61dcc17ac546998bc11a14ae72df6ef4f2407347954e3 |
|
MD5 | f04dcfcf2d441e927756f3fba1d67334 |
|
BLAKE2b-256 | bff742783155012afb71184c4fb7f249688a5e7bf82d1e4abc8654e00b6b0638 |
Close
Hashes for ast_grep_py-0.26.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 551b7b0431e803c8bf3cb0f336688c4a83fb9cc144c38753228f912ab3730cd4 |
|
MD5 | 25b08d37d729b062c88bff6565c99f48 |
|
BLAKE2b-256 | 63b81bcdefe8f7c66347108bf702975c5ec30101f8ca03d9a64105e885227600 |
Close
Hashes for ast_grep_py-0.26.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7d2de0dcdaa98733ffff1dfb752ee402088512b446a47b29eff604129bcaf6a |
|
MD5 | 2f05915fc093c15ae6c52acf437d6ff7 |
|
BLAKE2b-256 | bc70658810833a292f3fe0fb731c732e2d738e08f5590e23945957aac2b229d9 |
Close
Hashes for ast_grep_py-0.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe58b56ef134e403c27b7f0dc2dc48c7304af82abe86a8353fbc02b3b515f74d |
|
MD5 | 40c91807bdfa3d229f8ce5aaf26ee020 |
|
BLAKE2b-256 | 4c89e7b2b7d8fba1bc3b2067d9aef286bcea3f775ebe7a99f388b9a37dcf2253 |
Close
Hashes for ast_grep_py-0.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1ffd2373afc5475a895309be84017b8bf3f70c9c44ee1df87ca327c1d48c9d7 |
|
MD5 | 5bfb99a87b6c795ab96ed9bf66cca442 |
|
BLAKE2b-256 | 169ca54e7fd1739935d1bc7a295d7e4625699122f1d97d43a765a8d3d22acb13 |
Close
Hashes for ast_grep_py-0.26.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 679eb45095470282e2c28a6c6e89f65dc4ce26161bc177d1387d7142a572593d |
|
MD5 | 32d15c72a95245a93dd7c635ec0ffb03 |
|
BLAKE2b-256 | b027dbd84c1adcd8029c6813b55900e6e72feee0cf41ca87c639616197d93670 |
Close
Hashes for ast_grep_py-0.26.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df77991983b8f4ed9d040038b5860a122f9789c9dcb59f44f07ba43871f7e10b |
|
MD5 | 8da76721fd5d4dfcc6c39ed0d05742ee |
|
BLAKE2b-256 | c7bd139b7ced0dc1781d3bf0b2fdc8a4a65082a76e6484816be24a3f649fc03e |
Close
Hashes for ast_grep_py-0.26.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc9de415e8a272c56c3f912667c218dba7ff545c1c1a25923389dc09e6bedce0 |
|
MD5 | f114db4f76620118fd54a7a39360ebab |
|
BLAKE2b-256 | 130098aaa606f4edc806b45a1c54dc1fa4ea9c14e15b6058f20f587696540e9f |
Close
Hashes for ast_grep_py-0.26.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf101e9d9bfb56508cdf3575d38d61d32862dc2d4ded5f88ce573fcc3f9bc61a |
|
MD5 | a3c25d7d76ac954977fec0284c92eb9c |
|
BLAKE2b-256 | 469a588cc19eef2fe9e5e6b4ba245ff3c5aab50f97a5c608c47811f75416e204 |
Close
Hashes for ast_grep_py-0.26.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 623e96dabf7b6b17d722584564d3c91d3270f4406a5e043f05bbfaccf5eb91e4 |
|
MD5 | 6884cc52ce79f1706f2c8a5873a3a314 |
|
BLAKE2b-256 | b1a6db7f687e9710ea5ddb5a4f43a2b5fb5c3d5613dd773b7950bb99b264e7c4 |
Close
Hashes for ast_grep_py-0.26.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c2847adec66254e233c9e47339964bd3175cc4ec86aa8deb90c0f44683253e6 |
|
MD5 | b14dedd686f8d24b11691c3c6f1897cd |
|
BLAKE2b-256 | 2c898048a29d89b83e6718da7423b825856808b6b9d6fb08aaae67bc053cb049 |
Close
Hashes for ast_grep_py-0.26.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 692b57dfb14656df98d52764a397d1d6fd6e835af51c43c895ce12291f569e4c |
|
MD5 | d8474364f049fa8ee3980ed59f3387f1 |
|
BLAKE2b-256 | fb353c9364f935bb7f35e554e7cdd4d1dec4468a6547d0c9888ef5899953df82 |
Close
Hashes for ast_grep_py-0.26.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52bcbf16c0277102ca54daf1e3e28c94c39294f8b4b3a8a0a94eafaefaa27fd2 |
|
MD5 | 29193728b8dd128023ade997a35862d4 |
|
BLAKE2b-256 | 6bbe2a993635d02a401e47ce7c87b05e97f229ecd9ea7259829d483f319b32ef |
Close
Hashes for ast_grep_py-0.26.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7d16148b263e11ba3cb14f7bfb7aa9eca046a817a8389d98b998ce11ac84c3e |
|
MD5 | a71da2e9a4eab29dc9a51e2f685890b5 |
|
BLAKE2b-256 | b7746e5d504376c37491964a8866c71217887b94aa634cee7ad87ee93479d22b |
Close
Hashes for ast_grep_py-0.26.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c827a94ce51c80f46781235d5fe3cd70a40c986e576e9dc8fbc2329048ebb5f3 |
|
MD5 | 0e9491e8ceac7a1079738b414a581fb9 |
|
BLAKE2b-256 | 332c81e621415db3e057555b27890a0ef21cfa12de2937dba239b1f3acad7d22 |
Close
Hashes for ast_grep_py-0.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e931f1b1abcf7fb2f9967c51d4103a496bade4611363c07e82269b9eaa5edda |
|
MD5 | 3f16e72a0d50d999558931899d3f096f |
|
BLAKE2b-256 | 99433dc19ae32a3f6218ce8d5d7e3c8ea08cdc10da98a0574bceca360a0b254e |
Close
Hashes for ast_grep_py-0.26.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 253d82cd42a52550cf9263a103a7a6755a36da68162741ba5e65443e91782b50 |
|
MD5 | cf24b65712482c6d8817a619444ec052 |
|
BLAKE2b-256 | b62b6505409c04e8fa69dfd7398a4d85c232249605a7cdfd3cf5258455bab288 |
Close
Hashes for ast_grep_py-0.26.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46fde68b32e8cf28c28d4db475fe637ac572fc4139a9e11ddadf84c61f591ae2 |
|
MD5 | 23458e890b9c2b201b64eaeca69e56c2 |
|
BLAKE2b-256 | e88e1135372f112e19c9951d38eed4c0cb1b49fde249b62c4d0620cba2d12fcd |
Close
Hashes for ast_grep_py-0.26.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a055ef0dc1467f3364b2d5b856bd074f2c2cdaa11b90384b52f039db5de661c7 |
|
MD5 | 3f593eeddec60f9a7ab57dc80efed02c |
|
BLAKE2b-256 | c4f6f2d9bed6a5ed748edc0f1f6fc0f2e46d200e222f33de0fc8f65b9f7053b7 |
Close
Hashes for ast_grep_py-0.26.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33425f77a8cb494db0c3f1e7a3605b04ea753b6c847539c03b129119d1e61aeb |
|
MD5 | b94959e5dfc11dd1ae57caa5707650bd |
|
BLAKE2b-256 | 7ddb9a850108871913995896bf809fd248cd545e4961d699da5a804a66d66ee2 |
Close
Hashes for ast_grep_py-0.26.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb5e346ffa6961f12d1b9bbecb58734e304ba0321fbf0710d76d44c15ebd4c20 |
|
MD5 | b559e9ef48fa64031df5506fc8721fdb |
|
BLAKE2b-256 | bf494cd7eae9cd49929a26328c69429cf5024cd128eae4e5a7308be40b9e344e |
Close
Hashes for ast_grep_py-0.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e467d4ef1b6c1ddd37490b833f109874c40310f4e69c8cdffade828a8a40d15 |
|
MD5 | 13cdb1dfa195e2f2e0690ac2e2044819 |
|
BLAKE2b-256 | e4a5924694925db4fba6ba64e56912055559424bd113f5967b0ae98019ae1d63 |
Close
Hashes for ast_grep_py-0.26.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13b8a57106d76907f1c31ad3717956990fc0ecb41c635ca8d82aff6da2462282 |
|
MD5 | 62e6aa107fc16c749466afff6dad0ba4 |
|
BLAKE2b-256 | 1ccdd377ec77b5470f4b7d75c40263c12e25171308ae60a892d2b3d7945be94c |
Close
Hashes for ast_grep_py-0.26.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 485efe61387f1b75c7e640fe65d720ef6efcb97c650443b9a5077acd8fb2031d |
|
MD5 | 8af04e2e9c51c235a81b834b922b53d3 |
|
BLAKE2b-256 | 2e7541c88e3d0e6b328763fb7452d719d4d961083f6d35c460b2a9e616fd39d1 |
Close
Hashes for ast_grep_py-0.26.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b82781ea771bbc14265f27498726cbf99b373bba0584695c15dc407cc28e671 |
|
MD5 | 3e885e1cc03ebd41a1753b2095690f64 |
|
BLAKE2b-256 | 4f8d0b3b4ab45577e0d9cf4d809956a36414686e4988f4b27ff8cd416fd58037 |
Close
Hashes for ast_grep_py-0.26.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fe1d30cb6764a7e918b3f25b3b3e49b525ef25d24eacbacee81f4e5739e704b |
|
MD5 | a85256ac181a044ea57d5c60d8288cb6 |
|
BLAKE2b-256 | 3b7a2a4debf1143888ec896ae379470761a2c42a209c4590b69759039127bd2e |
Close
Hashes for ast_grep_py-0.26.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 514e53dd6840dd748dc1390e5aa63dfcba0dfbbee053773e77b198b3b04ede52 |
|
MD5 | 68612c7b1628fbc219ceff9a804930b2 |
|
BLAKE2b-256 | f73d5044f51fb9213582420e6b463b97c43ff09f2a952e10912f80dd45e49c58 |
Close
Hashes for ast_grep_py-0.26.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92e93666e25429339e052d57cf74ca0958f2b21fe52a94e8f075283afaa79e36 |
|
MD5 | 583f771283e9b627ccda73ef29c4a2f5 |
|
BLAKE2b-256 | f367cb4a97d0124d234bc7b54ca3f070feb71a5cfe3a101bc025ae05b77de4cf |
Close
Hashes for ast_grep_py-0.26.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99b3ead00b7fd977738a831d0cbc6c18b90bafac28559f2aeba51918c5ca5279 |
|
MD5 | 8682ee4e4abf9cfd8ef92d9decefd741 |
|
BLAKE2b-256 | 85740b5b9826e2be6b565d07c37b963448979bb770eb760a406c960310f67635 |
Close
Hashes for ast_grep_py-0.26.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fb3d991dc5fa9544c0b4ddc47e5b67c22afada13877f6566ddc73b838067b56 |
|
MD5 | e8958d598652adb534888396b1afb05e |
|
BLAKE2b-256 | 2c849dbf4c4ee01208071d487e10cdba0ad04ee89191cd4571ed106fe64f6a36 |
Close
Hashes for ast_grep_py-0.26.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a0974095dfab6d90808b3a2bf0180630d8ff8ae3224ae6dfde14ce210181a2a |
|
MD5 | 74bdadd14ad14b534657b2d1cfd45ae8 |
|
BLAKE2b-256 | 4de54a978610c8bef4bfabdb51c110c3f41ac67e1d4258878e23a186fe020e4e |