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.23.1.tar.gz
(112.3 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0610bd719c8b13e69a79c8916458f019920de72c3e807961e3bf40d61b62b2ee |
|
MD5 | fd98d84c847a0485807921c90dc8e2bb |
|
BLAKE2b-256 | 8f4a6faaaeb03daa00ca31ac8c9eea87cf47b8060a475b3d9476a1548e182126 |
Close
Hashes for ast_grep_py-0.23.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a31b9000b3d716038fa541497879ef486e7626adeab2d84045d21e467c4209e8 |
|
MD5 | ba2bdc7167b9af196e0a853b26f13f18 |
|
BLAKE2b-256 | d7c8c62284333d1da375e4982f3d35dce4d929da538aa7c6c1b22743d849d5de |
Close
Hashes for ast_grep_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba726208d3a4d050ccd4fb39d6b750c0e11e1b045b9f1de06e35daa0d2762c33 |
|
MD5 | aee52af89874d6ec14c6ad6ad774849d |
|
BLAKE2b-256 | 95413555dce24414dae4eae092cdc230a8028235dc0dd91700327f329f2d8624 |
Close
Hashes for ast_grep_py-0.23.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c82f5da28b2c80ac89bdb10c29bdf2b35cb1a8881d0bc789a7c86ab9ec4813f9 |
|
MD5 | 61eeea55a3171c96372736377a619191 |
|
BLAKE2b-256 | c2af58569bd4e52c2e1aeb2f618494538c7cb05f86c57e0f28caa62becb2f6ee |
Close
Hashes for ast_grep_py-0.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca95e59cd8e31970c9df3e44bac4090ab8eb420123347b0ae86df0829135a91d |
|
MD5 | 6ba108bcd2286e8034a01d9ab79f396b |
|
BLAKE2b-256 | 679b4d51c7dbb44a4501e160c410fd8b1cdde6ddbc8793237def99abd4bb2f27 |
Close
Hashes for ast_grep_py-0.23.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5aaa35b3d6d3894fdd5d4fe9e0812774870645543b4a406bc3753318da272bda |
|
MD5 | ded991782ad9f3a601804caeee4ec91c |
|
BLAKE2b-256 | 8e7fde5488178d414bc3ce07157eed3bf67837d5a561832927fb72f32f059088 |
Close
Hashes for ast_grep_py-0.23.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06adb9dda3c80f2604c58242da802a525f672a8c0702dc8d14384c91329c992e |
|
MD5 | e4d6b75dc1d100fd340c6a961fad397e |
|
BLAKE2b-256 | dd46ddf0d80bd01d654a6127eb9a0db88fe6e9291b815e361b79639b0f357b00 |
Close
Hashes for ast_grep_py-0.23.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65b9664d44a138448d87ff3a278847656453c3329bfd75fb2299a70b0be4fedb |
|
MD5 | 949e5160b4e9942259ea80a2115e0a9b |
|
BLAKE2b-256 | bb7b96eede21bc7e490c1deb9bd1bee29ed7de61aa7b8188789681dadf7e23a2 |
Close
Hashes for ast_grep_py-0.23.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14b1868ee331a629a7ff4671f67454ca238e4b54c88ce1d3ee21a3ddcfeadd56 |
|
MD5 | ba0313e0e3d2593c27111d898b0ed8d1 |
|
BLAKE2b-256 | 69e5c3287d10363dba888e00a3707f63667ade3fe89393c571e680d517b01238 |
Close
Hashes for ast_grep_py-0.23.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1315898d31ae5fbf15c05d9fa84aa899b2501e25add7b7c2da823a89544cb40e |
|
MD5 | ad5db6f8b5d6372b39504588701ce193 |
|
BLAKE2b-256 | 8c0815130373962ae525212415f024c0c1dcb64aa3ebc5dd19ff3b2c805fb9b8 |
Close
Hashes for ast_grep_py-0.23.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c35088b299956236af48425fced267937cff52b3c4038e3030513496f46e0fc2 |
|
MD5 | 039302af5c75c0c735754211dfbc5326 |
|
BLAKE2b-256 | 8649f532a002ba7f3b258e43e1862c7f2548d98add1d2a5bc4bc453c3a6524cc |
Close
Hashes for ast_grep_py-0.23.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e6f0b55204b1dae5a98c1ba2ce8da14d58254d1b38825c78f0916d86333cd2b |
|
MD5 | ace4f7c98c3e9b3465b5aacb68257149 |
|
BLAKE2b-256 | 4d478259d451b85770c520e8d89b4bd794c3100c33d70feb599e74695c56442a |
Close
Hashes for ast_grep_py-0.23.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f49e0e88d20f5a6c49ac48b307f4742598932c2284b0f48039bb875bf5f9e128 |
|
MD5 | 79f76b7a42bfad014f96dc0501b48572 |
|
BLAKE2b-256 | a4e67d42d60e35cb095047d64fef5319acd031d201f71c447c8a8cd1fdcfd562 |
Close
Hashes for ast_grep_py-0.23.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1788a11a9c366d64017174f835be4aa4aafb293f02db00f6568a7b521ddd1b09 |
|
MD5 | a7742112cd7d094d2b8d5523f4e9b083 |
|
BLAKE2b-256 | 710d82ab874a3757942ffc323a463b2121ad7d2421b5f2f1dab101ed1b1f679f |
Close
Hashes for ast_grep_py-0.23.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7599b10f8bca9a6bd7869dedf09b0c7ab689ed6ab46be8797b1c9b676a0cf1d |
|
MD5 | fd0ca77d676f8e3bac4124ea825e5f45 |
|
BLAKE2b-256 | 208f6f4dd9c8454e65b1745baa6b66f5888a881a840246136737f066f111551b |
Close
Hashes for ast_grep_py-0.23.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d9d6a163a9ddbba88d758d8f5c6649d02d38158752d39075b2d1bfd354bb77e |
|
MD5 | 2a265f26f4775812182d2da379f269b2 |
|
BLAKE2b-256 | 0bc5dc8fa27d0543bfb33ce91355689f2d6af1ac7f1f9a9cf95ad39b7e4cd4e7 |
Close
Hashes for ast_grep_py-0.23.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ade91510fa74f4b8af835e93493f545f8f9f8f8ffc12271cbab7c845a6697abb |
|
MD5 | 2b0e652d5372a05d2d7d8a83a95af71d |
|
BLAKE2b-256 | f7923fd2d8825a33344960461c382ba7efaaff3f5e2918b1ff2eaa6d6a41ec17 |
Close
Hashes for ast_grep_py-0.23.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 658c10e7b404fb3dfd7fdeac3934fe4e5bbeea577bbc0361d9605813e61b655e |
|
MD5 | 1fe1601369843dfc4cd321a867712335 |
|
BLAKE2b-256 | b236022f0ca08b6b0fb975bf3784377e712ebba1bab2981945acb4aba366438f |
Close
Hashes for ast_grep_py-0.23.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae52056875f34d6f809e9816536db661b3e996b4f46323e468f55a613f827bfe |
|
MD5 | 37a14ca0e54dd565ed8a720999cbe54c |
|
BLAKE2b-256 | d7ef4b2ac60f2b537a14a79b64f0a5ff795ba5ebcf8274ffa86956988b519f64 |
Close
Hashes for ast_grep_py-0.23.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1748693b7c9c8a9d147cd634d95f233ec2358807bb5f2f39814598487fa6dcb |
|
MD5 | b792148ba455d7998c974679e2d80ea9 |
|
BLAKE2b-256 | c67f4fa86c54a92a3581be5a56211ca2c9556d697f80b12f486871bee8dfd5b0 |
Close
Hashes for ast_grep_py-0.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37ff2b74f4659dd4b21d5502d193076ff03320aa248c24beee159a4c72f483e9 |
|
MD5 | 2fbfdde1df5fffebd74a977e126a2c23 |
|
BLAKE2b-256 | 64e825005c118508dea1d18d777084d87a6aa6e9ef894d7eec61539f1bc14be0 |
Close
Hashes for ast_grep_py-0.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8a7bf5742d208249a439956e28cac46b2028f6ad65f5bb0382bf563ad495b45 |
|
MD5 | 6a46bf0ab033217ea2e816bffb49fd72 |
|
BLAKE2b-256 | 4df1dd166a4e7289bfb101eb847cbc23e6aadb3fdbacf66d91bf4a6aa7694d23 |
Close
Hashes for ast_grep_py-0.23.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba87d62c6d34f5d072f3250412a121e02cf3ec5e565958c439c0203f6a7e9006 |
|
MD5 | 02a5a629cc2ada2b64a66ed0d089dcc4 |
|
BLAKE2b-256 | a9b30978c33eb097c383f0ec3a75f26300749e138a501afd271aee2657560c23 |
Close
Hashes for ast_grep_py-0.23.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2139812c27a3c08cb823071f00dc31983b12a7eea3e0c41e111daae19265b0ed |
|
MD5 | 4c9250ce2be6810e1a7d77231529d1d8 |
|
BLAKE2b-256 | 28540b466ee70d2ed802e02f936d887a28d9e14c0bdaf1abdc2910b5a9579a88 |
Close
Hashes for ast_grep_py-0.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d938794ad573062b500dcd9cd90d5773a9ab51a07e82c8365088aa74f1ed059d |
|
MD5 | d5ec6dcad37ec56155fa587fbee87dce |
|
BLAKE2b-256 | edbea09d5a9af6ba514adfb45c5ef0134261b12e48210f675ff01b0dc5745a2a |
Close
Hashes for ast_grep_py-0.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1584b3cd35cc22fcab0c4c9805aee43035f475dfe47705ec3aa224389f1f115c |
|
MD5 | 05a073a6ddb85f71a27f6d77130a577b |
|
BLAKE2b-256 | 1ada2a4f40f45a2dfff2c7dcdf00c4e0361002f611715fcb61ea790568d2b1f6 |
Close
Hashes for ast_grep_py-0.23.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e58c59bfe7da79e50e32391545d259b68201e32f7f4cd332c22d18e35d956c2 |
|
MD5 | 1d36b53ed2d07082476dd2a470cb77ba |
|
BLAKE2b-256 | 4c6579b02a8318464bf47314fa7e729f6634cf41e13cf3eaf107f0c1a4ad767f |
Close
Hashes for ast_grep_py-0.23.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7de7e504c549b1fed21d90bf5b77a846cbb39f612e8396d2668a222abf9e9d3 |
|
MD5 | 438c2e0d972254b615b13f8b0a941dfa |
|
BLAKE2b-256 | 90fbe147c1ebc594c5f57b5ef362c21d3a39bed4208db916ea4e4de1e266d9b0 |
Close
Hashes for ast_grep_py-0.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef898dbee75a483f510fb2bdcb6738c69d1823331b7a9c2757cdb987853c87f7 |
|
MD5 | 7093f582b599afff85d6ca73dd157295 |
|
BLAKE2b-256 | 9386d5900da3dc536e78be7bc53db3baab733c111d768b2c8d8b2b9c247aae23 |
Close
Hashes for ast_grep_py-0.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 089f400bacb2b62a1abb28fc6699618ddd43295500ece4795754d0d6c7c81d50 |
|
MD5 | 367683292f49f3ff99281a47e3e10d72 |
|
BLAKE2b-256 | c8a53fbe613c1787614e9f6e1fe4fb3a75d14701cfd99c574cbbec4dfa67c455 |
Close
Hashes for ast_grep_py-0.23.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9896ea3a6d4b825677598bc16f199860f608861facd6de06c8f6e0c513a65440 |
|
MD5 | 4fe11ee5a9a9e13f6644e8ccde4753e9 |
|
BLAKE2b-256 | d4826b32395247eac7f3a86e2ac54b1dbd8bf71318aebf992b54be8e604f794a |
Close
Hashes for ast_grep_py-0.23.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72423406f3c1eb1aecbc6a56c0d3d014816c7c2dda9a170653f9e988dd8f532b |
|
MD5 | a2967c4c0f374e840fb31bd1cad5efa6 |
|
BLAKE2b-256 | cb6b02be7f937807e06537e7ae966133f21091bcdc8902d510b0724de0b1b70d |