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.19.0.tar.gz
(98.4 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 553417b75128ffb569892d874442c7cec6af3cf8df2b89eb438786feed458230 |
|
MD5 | cf03b328a3a4076a81f4752e1f885044 |
|
BLAKE2b-256 | b95dd79512e8a90026e730843d62304ae2f8653150c9db454c0041f501ec92a6 |
Close
Hashes for ast_grep_py-0.19.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5ecd32dffc1fe59221778642fd7617fffedb8dc3673c5071f0878c3df169ca6 |
|
MD5 | d0186ef4260bea5406ed18fe0e67cbbc |
|
BLAKE2b-256 | 79767c2c55e9e59f6c5906a8b5eafb14ae075b3c0e84f093e7e5a673e7515b22 |
Close
Hashes for ast_grep_py-0.19.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a92077e189ae97d130aaac379f39bcbbcf332a67b8c9c2462ec71b3036e578b |
|
MD5 | 2b5fd04e048c1bef43bc60a387102cfd |
|
BLAKE2b-256 | 450f59dc2f09aacbf980b38415d9468248467d7c6d63860666ba0629a5d90b16 |
Close
Hashes for ast_grep_py-0.19.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ac2d3f2e01b4ddb7e10d60ab110796b881ace6ec4f41d73e225cf4971aa0bcb |
|
MD5 | 30e4511984c3bde706d58aa9ee40f96f |
|
BLAKE2b-256 | e360ab28620971c7cef92fde9b2e42f4d3532efa26f0a71e052dfdf8e080b989 |
Close
Hashes for ast_grep_py-0.19.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebde0c1a9f93df867695e07e352f1475200a4ebb87969a1b0c40e486361fc9a1 |
|
MD5 | e8faedb0d6fd1925793d61dd9399a840 |
|
BLAKE2b-256 | 5c5c8d48368662968261fca3e7502ec11e108d1b3ea8539dfe50642b75409a42 |
Close
Hashes for ast_grep_py-0.19.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1814b85c298d7be2f5b9ce8b73f2b99c1e432f0d74ef661df3df0ca8f4de94db |
|
MD5 | 827b8f5fcff0d872a9339294515bc2d6 |
|
BLAKE2b-256 | 8be0433e76b0e5dcc6a0f9958851407d10935da7543a408218d3585212cb3fd3 |
Close
Hashes for ast_grep_py-0.19.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c5be49683640f238585e3582064d3cb6b20faceed16de643c0728ae80489514 |
|
MD5 | e9c460872f46f5f84f7d59fdbe306e9e |
|
BLAKE2b-256 | 360eb6b650e94d94cd148ba4e4177bc97fd6424f8b5c36381b92647ff234b344 |
Close
Hashes for ast_grep_py-0.19.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc8a8651aeeb5dce535e433dd9e1ce72ff3af0fb0a14c2235259e5706fa78d2c |
|
MD5 | c2964502c72cb6c4624d612c23ff5cae |
|
BLAKE2b-256 | b014ac822d2a39fb270880542656e7c121198142abed776b7dc8a258fd31bf85 |
Close
Hashes for ast_grep_py-0.19.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 975d6bbf0f7c0ab7a667eb5e0b4fdf88f306c924484e5b7209066149770e5b4c |
|
MD5 | ced2a1dc2af05f9c10973cfdababfb32 |
|
BLAKE2b-256 | b8fa67e81b95cd4a8b6f6d783ff83e6e1614dbe21f5732e6969216dcec95e68a |
Close
Hashes for ast_grep_py-0.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3de411548ddb2eec5893d1efec67e3f3f8ea7b830b988df8d625d4bf0b7f6b7 |
|
MD5 | a25b29ca8db624942c602db0729b31cd |
|
BLAKE2b-256 | e990c12e79d45f42e0e63a3c690fc4efbd7f992b4bd800b20ca3e451d11c5553 |
Close
Hashes for ast_grep_py-0.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c746cb892f1f5d2992d990c3883ab57bda7a1923d5f3cbc6f6484b88af270d89 |
|
MD5 | d31a4499738bf74aca0047aa7ed14723 |
|
BLAKE2b-256 | fff2ad8d59cdea387c550ff37b8c51aaac760aab0619db724e3d7838d7342f99 |
Close
Hashes for ast_grep_py-0.19.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41579d78229544a05e483062f6bc0a628369734299bb2332222b82a87358a1c8 |
|
MD5 | 888aef5361ea8db9be36c99b95b5cc92 |
|
BLAKE2b-256 | 1312fc8778fc1b2bdbf931e81491e24d114f63ac53d1b6f5b27e190c8e930742 |
Close
Hashes for ast_grep_py-0.19.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d35fe6763553d0c86e376133d3bf25a4ae9677eaaa4c77f98d4693f0af85ad9 |
|
MD5 | 0cba768a0e30b8d74829607fb11a1995 |
|
BLAKE2b-256 | 0106d36df1ba5849c7340a576863d0988922b8ad26e110f34727d8136d9e6514 |
Close
Hashes for ast_grep_py-0.19.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40e93f801b734928ee940d7c1c35b22d938801ff8c89e4eda446adbf78d28cf6 |
|
MD5 | ffef29f021a9fcd97e6b742e6e359b4b |
|
BLAKE2b-256 | 8a46053b3e975765ce5b74405ba2bc68335dcaef8918485809b8b7890e0e1153 |
Close
Hashes for ast_grep_py-0.19.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b8f7ac4a81757c6c6d00b41f727b4ba473076373eb2a37c4d29f140c740b616 |
|
MD5 | 933b17810e45fa656a0ea5a28ea27619 |
|
BLAKE2b-256 | 4aa538148fa0b799674436dc33e86257e0ad3b2d7169788f6b257b580336da53 |
Close
Hashes for ast_grep_py-0.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b79d270761db1d6dbe4770981a3915b4b4e09ff82bdca824083f8dde7569efb |
|
MD5 | 6272e536444d914947c2146aec296a0a |
|
BLAKE2b-256 | e869e1f3efc2775e98f2be5dbec516d2c64fc4179c605ca3ce75598936dbe99b |
Close
Hashes for ast_grep_py-0.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceae3057a0357ac4e056655fd3ce491a03f84a3fe49db6cdf566d5dfa951321b |
|
MD5 | 413fcd95c9da9c826627aaefc7b68ee7 |
|
BLAKE2b-256 | bba6ac0625f4fe33d1a3ac27f4f9a942374b74c5226d4f3766cc2f7e0784255f |
Close
Hashes for ast_grep_py-0.19.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fecc234668f12b59d3b2aae031c451bd13f63b8ffd1504a0318ac8c448980d9 |
|
MD5 | bf918ad2d769dc814c690a72c63da55c |
|
BLAKE2b-256 | 7a5bbcb0161e65369d7d86a1b7f43486c16ae4c83768e722d8aef3329e793280 |
Close
Hashes for ast_grep_py-0.19.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 417b10db013569f6868cd0386655b7e2f192c1c53234b5365d482227830cb7c2 |
|
MD5 | b72e17e309a906269ce87568b64067cd |
|
BLAKE2b-256 | 480dd74ccc040e5bb4128089634c6c1ddfea5cc94efa537ce961c6c408011325 |
Close
Hashes for ast_grep_py-0.19.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 493f99694f46a27b1cb9c099df54c49ef29cd0ffc5884783c400a5c5bee0bb4d |
|
MD5 | 9ecb127e47270363e9593c9d730395ff |
|
BLAKE2b-256 | 0d17f3f97ff27898a4c5ea3cf4fbb3d2e5721f6b6aa7852fc638b32b8d45d498 |
Close
Hashes for ast_grep_py-0.19.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3017474db69ada690c3519d3e9aa999f57287beed024a2cc2eaea0285129c675 |
|
MD5 | 72cc8c25cb0e47d1837cdd413ac22ec0 |
|
BLAKE2b-256 | 6b45c3508b8d0b6dd6c86e0192e0b3952532db85f67f2616fdf5f350bccde2fa |
Close
Hashes for ast_grep_py-0.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08c3f28ad6838bd1a99a9b69d3b6b83b853d9e3197e247d16ceed93f178e5561 |
|
MD5 | 60bbecf9407c5e769b5acc6d25c40140 |
|
BLAKE2b-256 | c3d4f38160f7c6332560a42ed52d703ef5f0ef47881b6c95608737918dbe8980 |
Close
Hashes for ast_grep_py-0.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45c97707a90560969b371743ff35a7861244dca23365c2dd6122fbd04767b9f4 |
|
MD5 | 2271646001e3cf00c3eaf0a2e4081e7e |
|
BLAKE2b-256 | 281f1110ad85a473f1e95d58ab52db5602a14e6eec67575e1abf2631caf4c2f7 |
Close
Hashes for ast_grep_py-0.19.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af2764ed507b6e4a45735456ed2ca1baa974807bf78a7ac508676d77e9873ee0 |
|
MD5 | 769efc5a42762f979dd3f2f0e365e4f9 |
|
BLAKE2b-256 | 1ee2f94c1f8c44cfec0b88a631bb71e3f694a79c5d5b517fd22a6c834fab57d8 |
Close
Hashes for ast_grep_py-0.19.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b00de57984b7ce7889566e6fcfa3c1c3b1a3dcfebfb897c2613babd41d11a1a1 |
|
MD5 | 886bc902b8e6626046fe822b19b26b4f |
|
BLAKE2b-256 | b4086b7488d21bec0bf3719404e0ddbd4a3510545b08bc9ff25383fb1b730daf |
Close
Hashes for ast_grep_py-0.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 015e7aa04d8dd5d44802e0999d60923d5daf32aedc2ecec83098e3c1985db1a8 |
|
MD5 | 1bc1fc0e28b585b24a350510294950e6 |
|
BLAKE2b-256 | 5fb470c2642d1d1bc9e5b372d59e41a342f7e540e833faad09895b98fa6680f0 |
Close
Hashes for ast_grep_py-0.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fb81d2232254bfe131507a503bf062d252fbc876e3a6a5776ddd2e7a18c8385 |
|
MD5 | 598dee805f869259a2ee90e907087e41 |
|
BLAKE2b-256 | f32ed782c2859efa7d4c4093882d974886d9562a71eed013085c57e97ed13c4d |
Close
Hashes for ast_grep_py-0.19.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12ef8d3f7cbcaf4d593685dbae1454c0da3542b24230b4116689ce8edd8804c3 |
|
MD5 | 16beaef9d5a1bcf0a3a47579cee9c528 |
|
BLAKE2b-256 | f645463f3df776f920f597aaf1575c30cb281f44f9f00ace48ddef92edfbcc6e |
Close
Hashes for ast_grep_py-0.19.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fef2c2dc3ecc9d954c1321f9a1ab9bc3bbc6f37510b90172c43539f0cce80127 |
|
MD5 | e87114875248434cd9302eacbf812f56 |
|
BLAKE2b-256 | daa640548da8817d993fe8e8394e42411689e41cda173936e1bb2779a83847f2 |
Close
Hashes for ast_grep_py-0.19.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ee971ed460ef27341ae77e2e1c2bb49f4f58cc3a1b71a0739c400f3a4b31a5e |
|
MD5 | af53335e2b25385fc518d5dadcb85100 |
|
BLAKE2b-256 | b048b756618b57c9c157ea5e25e615c922b7e34d549eaaf5752c16e647ffbc46 |
Close
Hashes for ast_grep_py-0.19.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a39c866b0a19319b021898327ef6e7396a843d0aa425b3bd1a9a45cafa8a1b3f |
|
MD5 | 4747d0fe7a7b82a7218ab7c866709b89 |
|
BLAKE2b-256 | 316708052d48dff75d70d1227c8d57ef37da5e625eaa528ae46ff8fc1462ec11 |
Close
Hashes for ast_grep_py-0.19.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12e90e554b526e07725667d9d63834fcae71399ecf7da769c101d9b5a9e61806 |
|
MD5 | f09a34d5e22ca146756742e50104a0bb |
|
BLAKE2b-256 | 704bd447bb499b1e9a0e528138a478b43857a8539da71ed58dfc23ae20354ca5 |
Close
Hashes for ast_grep_py-0.19.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e6d8369ca25bef25db66e0679e1030dcb1fe1cd6cb6d9bfb7c9671289eccd84 |
|
MD5 | 0a40d79a959ea9ca03e338de66ec2a03 |
|
BLAKE2b-256 | 068e206be77151b71386f8f465afb3c552a8e2b2c533e1e5cd1f9cdbc00297eb |