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.3.tar.gz
(121.3 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.26.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92920b04894efd11e8edbc2ac1cd12f8a79e840a24d577a7cdd82bccde13674c |
|
MD5 | b494f504ba9d246cc5cc379cb9982a8c |
|
BLAKE2b-256 | 117cf676d8273e98fa68ac05986385b4e4251facc43b56a4b5a87e320553e8fd |
Close
Hashes for ast_grep_py-0.26.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0dd03c14c9111e3505711be7e1fd942d848c4b61870ba07b8bea4ae6980a86b |
|
MD5 | f711fa4d31fdc87c8fa03c09bf563238 |
|
BLAKE2b-256 | 4d243152577557f3de955f81e1502cad6b0932231dd71685e5f05eb0af61a376 |
Close
Hashes for ast_grep_py-0.26.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e9d6b6434e41e0a14f05ca1b07419a886624f953edd594155f817a75ca4c0e7 |
|
MD5 | 291af3f25fe5c62227c3a33af948f6aa |
|
BLAKE2b-256 | 0719c0f4cdf71d545507d0fe562f342c40bd72794abdb4276e64e4596be2aa7e |
Close
Hashes for ast_grep_py-0.26.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82e8e4ffd6b9f1c37cf600117928f865b92dc2b4648a58874ed17ac388c2d37f |
|
MD5 | 88b5584403ee21ed88aca4523cf49862 |
|
BLAKE2b-256 | 98e13a5410153bd26a374a608cd7047461aa2826f7a5a2308392c56238152153 |
Close
Hashes for ast_grep_py-0.26.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a3cd6ce495e694b30117168fa4e620ebe58dd35f8b0f33f9979e466aa0561f0 |
|
MD5 | 537382ff912217ab1d8546a2a7a8be2f |
|
BLAKE2b-256 | 594074a2fcb3ecc6ab0c6e12be6bcf1457686a95a4fbe8acf5c847a768388e7d |
Close
Hashes for ast_grep_py-0.26.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12a8b1146aa833cd3d85c6275d44c809fb3976d76655573e8e433d609246e3a2 |
|
MD5 | 67fae955a5f80167e67ae716fadb1fa7 |
|
BLAKE2b-256 | e72be64513f35604921582eb28c87abf15a576afef88eedb3f30949b913fdcb3 |
Close
Hashes for ast_grep_py-0.26.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ac58fa0c420a6ae5b54587b38a2481d8f268f300a54964f3dbfbf4bd4857a73 |
|
MD5 | ccad12603faac7b3f7690922eee879ca |
|
BLAKE2b-256 | 767cb6529a6c5ec7bc02c464d7376f61facd4b748b04d09f5f518ea964eb47de |
Close
Hashes for ast_grep_py-0.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 160e5043eee8442a09c055781d48410001e8b9b0adad38913bd3be459da3788d |
|
MD5 | 151f20a3d4ca88ab1c06c8135bff7d3d |
|
BLAKE2b-256 | 459c65e4038c4f031b564da7cce1a7aef56ef254ca99bea222b71109f471ce8c |
Close
Hashes for ast_grep_py-0.26.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 919409e0ace9d94c7d24791f8938c96a46320b014643dafa6d7d240cb9e111cb |
|
MD5 | f8dbb6419aad1a392086c22dd74bfcd9 |
|
BLAKE2b-256 | b573fd9c1b82a1749afea8b0591e3fdf39cb685e115dcbb991d3b7aa52490ba4 |
Close
Hashes for ast_grep_py-0.26.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dc63859c358070de661a52bc30b33b94b07c3ed8ffe45d55588545473d2cc4b |
|
MD5 | b3f573152923bb014f3e52f80dcdda15 |
|
BLAKE2b-256 | 425cac726d460b3b49f3012a0fca41ef33657b683d82963bf8d9751f05b3869e |
Close
Hashes for ast_grep_py-0.26.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6d6aed85baec09f98cc5c2141c736b554b5b192864b29ddf59e26d6db5a6508 |
|
MD5 | c1d5bb7e9f29fb38009dfeb23cc65d64 |
|
BLAKE2b-256 | a7812272d53b173d1f90363cdee6741a8f1428ad88369a5f7c48c93ad94504a4 |
Close
Hashes for ast_grep_py-0.26.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c126a6cd8ed55fedb204dd43a18fe74d87c455c51b113ec1fe9f9186376f7a9c |
|
MD5 | cad4d8f1edabd2867fe58b4d3027c52e |
|
BLAKE2b-256 | 255ffcc8436536089dbec791c81f4c1c24f4f389c139eda9e2f24a30f7782dcb |
Close
Hashes for ast_grep_py-0.26.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 661d15b9d17d2249f219e13b6a9f2e6350bd0abf280f9396f6dc92a54e586b52 |
|
MD5 | 644db3924f148a4cd2b00d014b41480f |
|
BLAKE2b-256 | 45c454f817dcfca528bee9a2a54a7c890ed5b63c2f0073210e4caf8c423eaf7d |
Close
Hashes for ast_grep_py-0.26.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73b3ef938f2f1b88587aa00b12097b9d8a0b65f85a5d5289a222a6499230fe7e |
|
MD5 | 217e912031a0d207048c33b2f1af75ab |
|
BLAKE2b-256 | 08c173ec6adbceee8c5a932d79824dfe3c07556da476ffb825b1f194480a0ca2 |
Close
Hashes for ast_grep_py-0.26.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2a2f563f243efdb0e8e41d7cfae74b7d79d39627802c06b26c8790e5726d578 |
|
MD5 | 2590e99e5c3e05d38d714a61f00da97f |
|
BLAKE2b-256 | 9f4ec9c850a4707fdc0f266916cea122bbf81a8ce80a09bb152fdfe5ff59727a |
Close
Hashes for ast_grep_py-0.26.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e667fc79f0207d8dd460c87cb2e3c9af849543d4766ebfa40b350f9ab2dc9fb6 |
|
MD5 | 280ad91e3e062cfa6fa7816835172b87 |
|
BLAKE2b-256 | 03242b9ca6a09a9c3f2b22236da131fbc75b9b4a5aeda441b66e549002a3dc53 |
Close
Hashes for ast_grep_py-0.26.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 624bfb951add274fe7798d20edfc95250d590b02c79bf6d387375cc0fa60c8d7 |
|
MD5 | 831e1bca60811c415c7d4859d1b26ee1 |
|
BLAKE2b-256 | 5dea3ff4166e5481c4e48739944b2e1903c43f45455974570696fe7dcc040e29 |
Close
Hashes for ast_grep_py-0.26.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b9c3b0fa60bbd7d4254a452e45770150dab1189b4887d02cd5a5140745bd38c |
|
MD5 | e0c9937907d13c07c523ba73205f3157 |
|
BLAKE2b-256 | d02822e3339fc54e73baea3fedc860db42781fbd5717714075250a671e7a81de |
Close
Hashes for ast_grep_py-0.26.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3232c7e5bc4a89a3c081338e8825c357ae93b604a4bf425337f9cd73eba6e2a3 |
|
MD5 | 88f3b42fbcea01434fccb9b8daad98a0 |
|
BLAKE2b-256 | fadf757689258060a7243b48408fc886f877be8ee5515f441db83932fcfec9bb |
Close
Hashes for ast_grep_py-0.26.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8590812d244cfcda873d468a8858ac2d5f03c237c753acdfd4dc98eab6148f2 |
|
MD5 | 8b50068926f2da4d529094f534e14f27 |
|
BLAKE2b-256 | 65d17ec7619030cd613c9a271afd6f8216237e9a7c12cc553066dfc5d2c9d2cf |
Close
Hashes for ast_grep_py-0.26.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9938d99e76490891c9bc9ca1c4709982bc84f843781608602dfbac1c526b76d7 |
|
MD5 | c827f5ae958a07337e798f4bb2e701a2 |
|
BLAKE2b-256 | 43756272241846b656508fef632987b56da58ac3e368697a038ea165d319439b |
Close
Hashes for ast_grep_py-0.26.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 151347ccaf0d1dcc3337b6f8e3671a395dcdc76a8d118de550065bfac3e445da |
|
MD5 | 827ccfce68aee22a80c5e98e38e52d70 |
|
BLAKE2b-256 | a97ad0e0736daa5ea776dc59a53095aeab8995832f5425c1bb830dd5038dc3f2 |
Close
Hashes for ast_grep_py-0.26.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b39666f2e6ed6721f27e67a11f4bd61e5959f393ae3157cdedb12fefe0b73841 |
|
MD5 | b5560040267e0f1f7dc172833b04f4ef |
|
BLAKE2b-256 | 0853064dcf43ae29fc98d525c50f85d39675d82f530773be3aa418fce85457dd |
Close
Hashes for ast_grep_py-0.26.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5dc5397d71584856beb80e0e0714bb626ac0bfce1a0d05f724635d53190531da |
|
MD5 | 9979340946b403b4c341b5aa29c5b2ca |
|
BLAKE2b-256 | 9455b7ca26b8d94b9dbbcad377533dd5a22cf81e3e57845a72c0657d5b0a4c10 |
Close
Hashes for ast_grep_py-0.26.3-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d454838356215e45595fc80a6bb85a279ad75d50c46f6d66ffa158b811eab1e9 |
|
MD5 | 9e94c89cd7e1dcc897f9606ab06c2136 |
|
BLAKE2b-256 | cfd4d5134d4bf703b9f0ed68ea2206cb94248023eb4d3d6508be7dc5a00bd65f |
Close
Hashes for ast_grep_py-0.26.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a68d2c3fd9e2c03f7293987bc1147c0fba7964957aa76bda5b2028fc3b9a91e8 |
|
MD5 | 6c3b02238e4cb1bcd72be8805f8e76db |
|
BLAKE2b-256 | 841dd46f5c2d59fedbb9e9f0bbd536e31b1f24d460de3dd420f865677b677810 |
Close
Hashes for ast_grep_py-0.26.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80ae896aee3c35f90caf84541a62816a4dacd0dede32d64f87255eae3d690c16 |
|
MD5 | a7c694f7b89295d9b4accce595274b23 |
|
BLAKE2b-256 | 705edbda852bb8ee868869e6a21ba92e1b5a9b006d2d04e1a296261942555602 |
Close
Hashes for ast_grep_py-0.26.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 895ae2510043c88e8a57df677f2c481bdac0ae7bdfae9534f2058cc32abbf6b5 |
|
MD5 | 7d31b6587549a02796a3f6520927db3b |
|
BLAKE2b-256 | 59ee549ca142dec4de76fd1a9373e29a9cdfc1d892d497cf8d1a689e2ac6d44a |
Close
Hashes for ast_grep_py-0.26.3-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2778b0f4e59bc8cc1e06c5613ae255111cda4e670eb191892f671ad7656cc9f |
|
MD5 | 02a482665230ad71837df48d7caee37f |
|
BLAKE2b-256 | 6d877f6c0db0c195b23569a192e7ab8a889ca93c29aef956e40db1006deb8d4a |
Close
Hashes for ast_grep_py-0.26.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d22431185c64f0f5c7f753f2d6c2ae31fb3a60874d9af2e22fe4aa797c570e2c |
|
MD5 | e7e713e02eeb96e1525b336e40476926 |
|
BLAKE2b-256 | c268cafe46d1d8b33d10bac2e472f355bd4fa652f16f96270a68c89885ee37f7 |
Close
Hashes for ast_grep_py-0.26.3-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19a5ae62b4970302a7a4a0b78a7f6aa1c284323f61949ed7bdfccf8c29bf56da |
|
MD5 | 4024cf14ef78fea5c9371a11b8cc1e1c |
|
BLAKE2b-256 | f85a5e888641800a5e442e3055219aba91a41e8590e652ab46d13c11228bd0c1 |
Close
Hashes for ast_grep_py-0.26.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42967a36e2691cbd968dfc8e341a1ceab6635776dadf6351b0325bdb56c19f07 |
|
MD5 | 3815c4808922fc7ecd7fa969025d9922 |
|
BLAKE2b-256 | 147e65a304eb3e1ee61fb9d254734228abeb6698132d28dac34c7fb9e0dd449a |
Close
Hashes for ast_grep_py-0.26.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9b00bb11440936b8424bc339a6047194dcb8c4df992018fcd8948220ff70b91 |
|
MD5 | 3a9d9d21bd09cb012dc3d47216b31a41 |
|
BLAKE2b-256 | 7bbc8f5af1917bbb4e1ab686afdbca676d10fb74ff3ade9548ea2ed6ed0b32d6 |
Close
Hashes for ast_grep_py-0.26.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 304e1f689ddda1849ab8c98c458ec9d929b3247975e86737af1c9df526427f2b |
|
MD5 | ad7fb0a818e8daf886c65630e5bed957 |
|
BLAKE2b-256 | b787650d7f455d74880f4d468ffdffe42b2886be7afd9aa8a7e44e4a7d1409a5 |
Close
Hashes for ast_grep_py-0.26.3-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da2aa9988557c0b7f38f659e83b2da35d2ba5c1a5e5b4f28ad11212643cb92d5 |
|
MD5 | 444c173b0334b4a65574a0f7356a4f00 |
|
BLAKE2b-256 | 59480ccfddc1a8f2c89e131581013d2dbd34cc1e87576ebb798fc19728c35c1a |