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.22.2.tar.gz
(106.6 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.22.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf0c08aabdf83bdca37c25db2d69a04b873216394daac72302c37116b243b707 |
|
MD5 | 5d3487f44768cecc17aa53f02de25ad4 |
|
BLAKE2b-256 | a1d0249b75e54f401d4bf8ce4e0153a77c7b7fd68894320747b0a4c29a0936bc |
Close
Hashes for ast_grep_py-0.22.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bcdfa03f0d50be7a905be2d2efc6134a73b9a780037e84eb8bd1cc92d4da911 |
|
MD5 | f58e7550100ecb095c519d232e738cb2 |
|
BLAKE2b-256 | af7d95c207614df95973d4b2cd949d8a2cfffe9b39690e68d59c6a21e508c906 |
Close
Hashes for ast_grep_py-0.22.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49fc5b8c674d1e5dee6023c412ca5daaaf45585efafc32983560a62effc3a461 |
|
MD5 | b5e68877d1943384e4ad273202741b55 |
|
BLAKE2b-256 | ce9e529092c7fe0d66b9087f2669c8041917335266dfee5bf105401044d1b0d3 |
Close
Hashes for ast_grep_py-0.22.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c12a526b9ec27b12f65185e5f491b79048f2341d7c70eadb581dacdaefbf73cf |
|
MD5 | 0e5fc121309a5bf9ae3dfcfecdb29528 |
|
BLAKE2b-256 | aee2c980d3d111e3316b37891dbe64415e560c9a25163bae39b03570839c4870 |
Close
Hashes for ast_grep_py-0.22.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1195c54ed27d8985baff7b5d26f2045d513156bf65c5f3e611a002f6d73ec23 |
|
MD5 | 9c4229d9c1862d555fca2b7b97b2cc75 |
|
BLAKE2b-256 | 3304d73e843d18fe9aec0d5a065a5b2112f08e41d72a3daef5e1f54e44dfdf70 |
Close
Hashes for ast_grep_py-0.22.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73148874f103374287ee57299245dfbdba7d048c95c574c8040b0ae5f6931a65 |
|
MD5 | 72e983cbf0c92ea5ddd7546b2fc7c75b |
|
BLAKE2b-256 | 692b9045a127493bd5f93d06fd21ed84d26def1114309fff09e628624a7ec9f9 |
Close
Hashes for ast_grep_py-0.22.2-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a01638d09c93731a3a07f16df9a1daf640054e30f8dcaa65da917e2972154df9 |
|
MD5 | 612bafbf78576c2a0704c36811404d40 |
|
BLAKE2b-256 | 60195427f4baecfe945daa3d35b01016821bd9d0a6e572f02fa1e96bb7fa4fbc |
Close
Hashes for ast_grep_py-0.22.2-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0f18ca199c9ce8b3168b7696300763735232e362db0235f8960ac488b0ffa22 |
|
MD5 | 2f5ac45aee6b816e854c8135bf6f17db |
|
BLAKE2b-256 | a7f6e217112bec35acb057d29fff6322e40793d3e6f5c7107928a1b354284e65 |
Close
Hashes for ast_grep_py-0.22.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 885b891256dc18cc0b92fe905118f58d38a8e97d6cab56deded2a46923a2fd95 |
|
MD5 | ca0418c9602efa840388df030ef262f1 |
|
BLAKE2b-256 | c19b9dc19498ba755f37bd2e6ef11ed7c15d72b33f3b993b4a88bd96762f2ffa |
Close
Hashes for ast_grep_py-0.22.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43b94e94dbd363355882338424b528bc1107c79fd82bb11658ba9889febd5fa6 |
|
MD5 | ccb11ec31d44c53463be5232c3e2663a |
|
BLAKE2b-256 | 9c94ed8cd480e257cb2da2f6540a61cb98de42f421131824b2aad2a20055b45d |
Close
Hashes for ast_grep_py-0.22.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 288dfb4efd3f0bf531073c1de719158d0c766ed67fc92ac70537dbc9f3aa3581 |
|
MD5 | 0c12590c4bb392ac215f7952cba48221 |
|
BLAKE2b-256 | 12f6126daab4cd25925a1ab35fbb790a8431ce26fd0a7d99fac044e2055bea06 |
Close
Hashes for ast_grep_py-0.22.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9e9f1aa6a9a98fdd8dc3d3fa7e952f01ddd90944b3677f972bc7c31fa40f0ce |
|
MD5 | d4062a3f2919b450044a6d0f81ad90f8 |
|
BLAKE2b-256 | bebbe940291c16561d148a971c5e332706b58d56055fa9cb1f8d4b9a8650fdf1 |
Close
Hashes for ast_grep_py-0.22.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 092d877c6fd0c034a3f458e427fd4e5f799455d9d0531ccdfcadd2e48942eb5a |
|
MD5 | 8153f64188a9a25471ce9db072fc5dd6 |
|
BLAKE2b-256 | b261da54ba7b216f9147689db77f4ff319e2b0dd94c647706be2125defe17929 |
Close
Hashes for ast_grep_py-0.22.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0258cd0207b17d94d6249feab9a238a154d29b5c071e0026f7367d6d2b2f2a5d |
|
MD5 | 28603579dcc8167b85fdaf27a23fd867 |
|
BLAKE2b-256 | b01985629ff77e928115bb4098387ac7c600f1e84250268033bb1a7cc36975e8 |
Close
Hashes for ast_grep_py-0.22.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11dafc2b3bd004651558f55a431a9722c6439cf3ebf8faad151e0016c3876c33 |
|
MD5 | e656f4ce0533f660968d2b921a0edddc |
|
BLAKE2b-256 | 5cf4bfc49e9d664b9fce83a7896c01aeed004b7f3fc8f63da76e4097a87f1820 |
Close
Hashes for ast_grep_py-0.22.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44ccef08b8c75701928024d0ea047dc46cc903707d2abe6c31df146292574e5e |
|
MD5 | 2f100e3620551986c810ecc647354fe1 |
|
BLAKE2b-256 | 7193bfb204312de0977e10ce2729e309522336b130a4b0fa8e3f6301d85a3317 |
Close
Hashes for ast_grep_py-0.22.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8321289c80fba1b6007e3920d5db3eb6525934e067f70a8f3240cbfe156e3c08 |
|
MD5 | da70c23640ada9536b23ad3804db5692 |
|
BLAKE2b-256 | c125512632f117f0dceec242b7b009b1435b1f2341f3fc7b6a14822d82733cb7 |
Close
Hashes for ast_grep_py-0.22.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b4013739f16129f9979ba6b07fada1dafd8946582782230fd5b26de6d36db64 |
|
MD5 | c34358bb0f70282ffed19d4fdd19cabb |
|
BLAKE2b-256 | de84cd90896d40f185b97e56ad71fe35e9b37b3743212563f58664bd18fe78ce |
Close
Hashes for ast_grep_py-0.22.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c3b0109c3099824f23efc471668a2ae0ca2d1b600e2c3f10ac4cea92f40117d |
|
MD5 | 3d6622a78ba2b90590bb71e403b706b3 |
|
BLAKE2b-256 | 4b7092693649f656d1fd3b0b8ec92dbf4b16950b3a0cae2db6e9cefaeac33254 |
Close
Hashes for ast_grep_py-0.22.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cbc9040ff7561bf975ed037d89f1e77b44761671c83fdf6a4893cde517a483f |
|
MD5 | 329eaeb7b3a6f4fb767f17c914db2ee3 |
|
BLAKE2b-256 | 53957fd6d049eaf6613f65ac2926cf21e01663c0f5ba569a2cfbd5ced773e3d6 |
Close
Hashes for ast_grep_py-0.22.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 882cdb3b89977016eb1d75a116dc80c29d43bb93361ee8afba2931bfb62b9d39 |
|
MD5 | bfcdbc38a916b3f98096322e306c4d2c |
|
BLAKE2b-256 | dfd6612b2d6114cdef1a4fdabd69a1e87d163be6177a89de4ad4b235b9fc8aad |
Close
Hashes for ast_grep_py-0.22.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91cb156c7e2f22a6a4c95371015338859db1f4edd367e658797c91b5f1c48242 |
|
MD5 | 5f4d71a898ed7445ff5ad23e8e6c7d6f |
|
BLAKE2b-256 | 8e050069826c0132ef04e7592e3a1a5a139cec3004150b468165714c6c0168bb |
Close
Hashes for ast_grep_py-0.22.2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28e82a5a7fe625b86bc400d64a5a47ca4eeedceb03b098eeaab8f1734450e1b6 |
|
MD5 | 1f51f81f0cdf719759d13c7a6becf3c3 |
|
BLAKE2b-256 | 267c317fc6a42c5a1df107173666f55be0c677e5bea7d7a34edfe50d2e6e3a02 |
Close
Hashes for ast_grep_py-0.22.2-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a9a1b3bf2ac3ab1cd843016d8bf7168b4bf7c7384697ac47f196ea0e0e5d986 |
|
MD5 | 8814ea2468e09563ce11433c2749cbbe |
|
BLAKE2b-256 | 4106ec1b403a447ea1b5e71ff5c1eff50ff09259f20b246c30fa4d35bcad97dc |
Close
Hashes for ast_grep_py-0.22.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc0b6e74c7a81c34c106590b0402c5c86484ec4776d106b42cc4d6d40846ad1b |
|
MD5 | 23bbd35a2e574cbb9a1e519bdf153dbc |
|
BLAKE2b-256 | bc845a1022806e40fdbf35d3c46708110ee3e4fa37b1e56130e3c01bc6f8d435 |
Close
Hashes for ast_grep_py-0.22.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68cb724fcff4ebc303d487de027c3c888b0bc4ebef91d18fb6c93f3a4c312b71 |
|
MD5 | 2d1a9760e24b3df477d28d5beacd6234 |
|
BLAKE2b-256 | f6f25083cf216adf159a6198cead8d8f09502e162efa695ecd2621a0edf3cac3 |
Close
Hashes for ast_grep_py-0.22.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a505d1e538e7f07591bb1cc2ac059ec0a264b15fa0d3394bebb613a51722e68e |
|
MD5 | 68e8e95a12f419f8cbef85f57f035555 |
|
BLAKE2b-256 | 5f2def4fbf7cacbaa7aa5362afac4da5fc79004e675bc277492c8c99c1642caa |
Close
Hashes for ast_grep_py-0.22.2-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f91ee251d24af70926fd599b213506e0e5bee4d24991f9bd97a527bf0b7b0924 |
|
MD5 | 4b2c1639dfbd6531573ad2d477a981eb |
|
BLAKE2b-256 | f872eaeea61175a02589addb7e9069ce14628e2b560c4061791e81b26295a8c1 |
Close
Hashes for ast_grep_py-0.22.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdafd2ff4a0088ed2044fc3b183c8833eef9e7b4591a91d89f500166b369a1d1 |
|
MD5 | aa845497e9d15391f8846f838f897b7f |
|
BLAKE2b-256 | 2990931ac035a7b84fbeef47ef25ff0867609c31a23ad15c4dc5c163bfca7602 |
Close
Hashes for ast_grep_py-0.22.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee15f7497d2110f8498105e89f63b6e8fce9a78e8485f5b0853eab88adee0660 |
|
MD5 | 2a6980507572435d33950b31d7050944 |
|
BLAKE2b-256 | eca76687a9075330339fcb0a74cc3a1e4a948abea34ff8037e3434e2c21a4e39 |
Close
Hashes for ast_grep_py-0.22.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b94f2b9168d172ff2f2ea4c55025f10c939530f5b4314cb87b7052e9139f376b |
|
MD5 | 3f221e7bf0ea0348e24e7d404c233ee7 |
|
BLAKE2b-256 | 1461351e21986adf58401b0f7760c7dab052f4ee6c269870244de648ca6e3dba |
Close
Hashes for ast_grep_py-0.22.2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 837444c59b943472c08f281be71d2d7a42bf31d958a54f58ce240bf51f707ec7 |
|
MD5 | e38c32ee459378431ec9e6e776fb3e39 |
|
BLAKE2b-256 | 58c74fa420072e62f1c1ccba54b433760c275344c84e57453fea295e56402b1f |