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.17.1.tar.gz
(96.4 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f879392c540c5019b5832bbfa7c78ef587125536b5a51811b35cf6252aad1e4 |
|
MD5 | 915aadaba7991847b6643d502524db76 |
|
BLAKE2b-256 | c27e3905bffaba4c47a488a628f443417f9c235baa3e2bc140f32e5ed4bf576e |
Close
Hashes for ast_grep_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14641c3b3e5817bb5324e939e7ff3dd3ca0adbd4be22bbd4836e6387fe382df9 |
|
MD5 | 476c62923360185e5c6b96d02fd05043 |
|
BLAKE2b-256 | 86b11d26738ade790d2695ba5a3449b6a94c24dfcfe7e7781e3718d5fffb5f99 |
Close
Hashes for ast_grep_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dced83b1b8fbdddeaea6a7bb2c80e3495ba4245b860138f8448b443f4e4546bc |
|
MD5 | 2222189198120e5ec622e6c0cdf20221 |
|
BLAKE2b-256 | bdddd7166ccfe40fa1335a05ba5abea578fdb96efa60eba95692dddc070d11bb |
Close
Hashes for ast_grep_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2cde1d9fe41f05cfa51143fa2f9546a2e6cc58d603fe53f0633b540e8e09756e |
|
MD5 | 936a977b93c34373e220558c631e0862 |
|
BLAKE2b-256 | 349dd8b4e4a9ed4916fb51cd8d9ad038ff5b8dd36e63170b6c30537b28cf5636 |
Close
Hashes for ast_grep_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d227d26769d59362cb69061ddad906c84599cf12a1b673f6221d40ea94197b35 |
|
MD5 | 2fc6bd0e51bed3dc0cd16945b60de4d9 |
|
BLAKE2b-256 | b6a490711b0edeb9d734a220a7d3618066ba8d0160f1f48303554cb2956010f8 |
Close
Hashes for ast_grep_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d331cb8e78608031ca26bb10d1bf79247b27ccc2f1169fa85fd6826a6204ebd2 |
|
MD5 | 1bcc614fac1db7683f2e47bc6e060730 |
|
BLAKE2b-256 | 7cca3f9cd56c05966524401c23964dace686517b187a525a7e02456002da945a |
Close
Hashes for ast_grep_py-0.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfd64d47362febb39232976521d8e9253eb8f15f1d04c7a681108cd9d73883b7 |
|
MD5 | dc4a0b154530560e7b40ddb26c74d813 |
|
BLAKE2b-256 | 41bfd7ae977bc68ab1eb793d556f7996337e761c0b146717db77d253af7c5556 |
Close
Hashes for ast_grep_py-0.17.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e94ffa4175c29baf8c3c50ee697f1b5593b0ea7b68100bb62c2968552a4d59aa |
|
MD5 | cf7c0541a809fa1ee54ef56d8085050a |
|
BLAKE2b-256 | a39e3feb345deebb7acb470caf32f570a5f01f12db066ca1043c4f9f81eaef5b |
Close
Hashes for ast_grep_py-0.17.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf755dc428aeddce5fad5ceac03d8e015b7d052e05802c4984e325e4348fdafc |
|
MD5 | 58d266ba185d205263ad13f2e28120e3 |
|
BLAKE2b-256 | 996692bdad61ebd867d0c58f83bd8c09f61eec4ab6e6f6d98d73f4c9304be15d |
Close
Hashes for ast_grep_py-0.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc6d7a56160e59dfa3551a282295484a907debc1d05794f258417c139955106c |
|
MD5 | ede5dbbd7c2146187057af691f28675c |
|
BLAKE2b-256 | 47f2306c9bf85a9fd771632dc0e1644bfbc2d2faf766b1e72dc63dc97cdb707b |
Close
Hashes for ast_grep_py-0.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | add09bc8ae17a1010783a688aa2c81170530f767c7557caa13a544724482f146 |
|
MD5 | 00f48c0dc34e5dd02af717af50be0047 |
|
BLAKE2b-256 | aeb78fd16ffc7de6fc10a33e1b5350f8cfff383f21be02579fbed0cb3e28984b |
Close
Hashes for ast_grep_py-0.17.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3c662a3084dbb54bc56f87ac7ef6d36efe12baecbb5d1a704a93c4565bdbb0a |
|
MD5 | 12748ade2415ac74ea15ea9d11440b70 |
|
BLAKE2b-256 | f9692080b3d72fdbcac4845c885e8d151fec4c45fb51f370221e18c9c24e155a |
Close
Hashes for ast_grep_py-0.17.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b0e20f151d6ac3fe28146d4547ca67656f352ed3f12ee60a6713315fbcf57ad |
|
MD5 | f3102217d0c2efde0d9c29a8356be266 |
|
BLAKE2b-256 | 0440cdc68b4e6f8e6e5959e5c7862a72ea6be900b37e9abbafbde66ff6cf3a7b |
Close
Hashes for ast_grep_py-0.17.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11a3e243e892574ef2c3f1ef2a2d72042b08297d971dbf21c1666c3889befbbc |
|
MD5 | c4f51305bc475e8e139d79e3e20629c3 |
|
BLAKE2b-256 | 4a1f4359dfaf969ba73fd3e0df992cc9b89c6eb209eada9ee7a94b9bdef6aeab |
Close
Hashes for ast_grep_py-0.17.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a501395c4fe711dd3489baf20c8f815c4421ad30a28bde8e271a6f89db46054 |
|
MD5 | 5bdd8ba4c4c1fc7e2132dbf7345038be |
|
BLAKE2b-256 | 3b5495dc3e1d3e333353b185d9fb0f4f70b1eda0db547b48ae78434e110afb4d |
Close
Hashes for ast_grep_py-0.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b785596d07b8710dd381c328d1aa5ca79a00454590230189bdb70ef7c73a627f |
|
MD5 | c8c0f758cb2a94ac6b7f52f8ed35b7b6 |
|
BLAKE2b-256 | 181ea352cf00a60f74bcfe84d18196530cac47158c2c47a336481be46f766577 |
Close
Hashes for ast_grep_py-0.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bd3f13683834b4253134521a707b06086e0ca527de1fa76dc361e4901d1c825 |
|
MD5 | 99d560ef6d702f130d116273ba0fcde0 |
|
BLAKE2b-256 | ee756ad8cba56a1abbff8c80e406ab7a802b21e2fc5efd12f3fc68a2e8bb83dd |
Close
Hashes for ast_grep_py-0.17.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f83a508a0aab3212caaf06863cb02e1de9fe6009ad31dda0a08ffe79e17e913 |
|
MD5 | 9e07a9e1f6f3869e398140f61bf71669 |
|
BLAKE2b-256 | 2e3490f0841f8a799cd295f505ce9a47d1150ee238755f8d20cb5afb5d9e0548 |
Close
Hashes for ast_grep_py-0.17.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f2d3ab41d742e4b3f9627e3f6e627e1bdf6f85afcdc07d3ffc53a3b7d9cb496 |
|
MD5 | d41fbf4d90662e0786b848609b48bf1a |
|
BLAKE2b-256 | c5149ed20c8aac8758c21c94e123bec60df4a6ebb72b4824285dc06b2e406074 |
Close
Hashes for ast_grep_py-0.17.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c52d3fb36684146a3fcce0c9dd7ad0f6021dd228dce2f729c6b20dceb1801687 |
|
MD5 | 2435f96864e5c9fcba865d32f929032c |
|
BLAKE2b-256 | a0886ecda5ec4b90a3fc77b76b665534877d520c8d6e81a9e51b78cc9cfe9b24 |
Close
Hashes for ast_grep_py-0.17.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d399d6b5ffbe90a91b71d644c00b00ae8c73ba4e5715f01d4b673499b647c9cf |
|
MD5 | 855e23c89c2954c5452abbb5b6b1941a |
|
BLAKE2b-256 | f1b03086645f322e16ec2f05def1632384d5f0608233f3bd8c20108b04e52b9d |
Close
Hashes for ast_grep_py-0.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c48e8a00c4fc812c7abef66fb106c2d4e47dc26bb9a5bc3fa00d99ab96b7f6d8 |
|
MD5 | e4989c8f59d89f92812c8537ecf36b06 |
|
BLAKE2b-256 | f0278857453d3cd8c047438e75c2485c2ecbb7cfee8a1e89500ba879f97eee45 |
Close
Hashes for ast_grep_py-0.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6b5f1222e1010bf04ceb18afcc7bea57f9ceb511c3d8b3f8af0cdc8d395dcd4 |
|
MD5 | c9a999285d5d590f313a4f2b259c03a6 |
|
BLAKE2b-256 | 0588db7045eef16c9df86315fe510f5366da0fa8be642f180d27fb14009b1031 |
Close
Hashes for ast_grep_py-0.17.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46bc6946a2149a4320c2f2831be5debebbc226ca35e9f3e3585f261f9ecb42a3 |
|
MD5 | 171a5a969f7f974b1cdbe00e8e93bc5f |
|
BLAKE2b-256 | e144aabbf4ebfde279ac5edac4dd0229050848cb5ea56d8a89acb30be570a5a2 |
Close
Hashes for ast_grep_py-0.17.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 008263df772fe2e3672f76c8e4b43d07149445ca9766fca9b5a3e07ce6e97044 |
|
MD5 | 29d26a0892e758b6d6b0a09feacbf1f6 |
|
BLAKE2b-256 | a06a89b153c40bd1be14056e09a3b7259ab1a4a5393305255038ae061d3bf9ab |
Close
Hashes for ast_grep_py-0.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a1f95802878f8aeb8d294f9b3354c45ebaf27498a3371424204deb67ce28c75 |
|
MD5 | 42f00fefde4f2b18cb74a871426f4190 |
|
BLAKE2b-256 | 95277f0424e7ea7d93784626ed6d925b0546ef19f48621d6eba33937e32a402b |
Close
Hashes for ast_grep_py-0.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06e97fb5dc1aa980c14fa785eab3a4a014a1d15f870ff1ed7cd7b2e0ca803602 |
|
MD5 | 851e0538f32393a78eb86f6fa3e21549 |
|
BLAKE2b-256 | 467bc83491ee2ca902579a9d2492b17104b6d57686e3c01cf248e46354ef5f37 |
Close
Hashes for ast_grep_py-0.17.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 396b0b2bdaff0c6c6d96cfc08e33b796c69098a8feded46b786ad0e75481d184 |
|
MD5 | 3a17f24c13cf6a6063cabeb9ab4d4429 |
|
BLAKE2b-256 | d49aca4393fd19a31dd8cd2f6b3944d46298bd62ba154ab1069a0dc3dc1e2163 |
Close
Hashes for ast_grep_py-0.17.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e431ccceb7a9a2dd43bedbe1bf0fba61c3703404de660a71cafed48b2ec6730b |
|
MD5 | 2abf5ca1424edb2e433230cd96528833 |
|
BLAKE2b-256 | dee68566973bcd4fa4a390a2c6009badff96c7f3102f1e0b5920fbce11418f4c |
Close
Hashes for ast_grep_py-0.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3d912f2ea7c26dfdd6ed9a41526b061c5462ea18addece9db6a5a57f9ce4d51 |
|
MD5 | 4073b00f792a03221002da8fc53e0f9b |
|
BLAKE2b-256 | 5f2552721113f0e23351efc30230ce10b11b3e4b3d502fe1f5ae8316d6b729e2 |
Close
Hashes for ast_grep_py-0.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1928af50b548c7d364ab69e0ded9e21c5670808f56158629cb329ce411dc1768 |
|
MD5 | 8a06aaab9fa949b03fe5e23bcad24e82 |
|
BLAKE2b-256 | ddc419448364f16f780864915d2187ecd21a3fc47e8e4790096044602a642dbc |
Close
Hashes for ast_grep_py-0.17.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e86ea3e9b24888bd9c8f434a1e623534863ab57644e309d2a1b994acf4f84bf9 |
|
MD5 | 82e133b3586046436c15f5e1ac96117c |
|
BLAKE2b-256 | ea1845791591df2b994394c484068ff90f3eea9dd7a7720be176a8af2d2a0cfa |
Close
Hashes for ast_grep_py-0.17.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 816de9fd0e244b046e5e5085b3a7b749855651bfaabfc3d8f6fc27bfe7e26232 |
|
MD5 | 2444e5c84ee5e1c63ae98e929937b10c |
|
BLAKE2b-256 | 3c864d7d07ad48a1358528e01edb7d9b0a11d3264c81e6ce4836082857257166 |