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.27.3.tar.gz
(121.6 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.27.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c8e1e68be03e5df9313d0ecff355ad9002ef07b9163cb2557c8d488eee5c4a2 |
|
MD5 | 83d0bf2e4c64c84ba620268a74a46b23 |
|
BLAKE2b-256 | 4e7b1ab3be23a52d49393c4427813f12ba4e815801c3e63bd2559e6eb76bb0bf |
Close
Hashes for ast_grep_py-0.27.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a24c9714141b5d34caf863944649fe182aede27572e30b85c71e14ef2c2c7ce7 |
|
MD5 | 8857ab791336436940248ceb194edc4a |
|
BLAKE2b-256 | 94cbabd81fe46663a85d45901c9862b1c9dcf2d263a1cb4582d698daa3ebefab |
Close
Hashes for ast_grep_py-0.27.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f12f31705bf0d955673ad8386897d2fff9a68b5dfc73bb546b318c1e08faecf0 |
|
MD5 | 5b1d0eeb0a04373d1ce7a7b942c6750b |
|
BLAKE2b-256 | 993b38309de9a49ff543a8c08f8cc6cab366c6052a89683e6c366ba4f25140ff |
Close
Hashes for ast_grep_py-0.27.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4af351fdb1d4c81a45d4eb27019f55a85b49b5761d5d29251d844aed359516b |
|
MD5 | b345cdcc11246307a55f2f7f098067fc |
|
BLAKE2b-256 | e408b5313cd7f20fe36fb95bff21c59cb5c279ac4e4a86896e1c7c740dc6c36f |
Close
Hashes for ast_grep_py-0.27.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8abb35a10ad24ab676e44db37386b66e84083b400abe8be9cacf3d2f4d740e3c |
|
MD5 | 0082d38e51fe5723054b79abdaa4ddc8 |
|
BLAKE2b-256 | d08368fa274f26e03da156f6d62ede72395ee4dd02ffd5d135b3fa89c62d4c44 |
Close
Hashes for ast_grep_py-0.27.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fad5962bf70b2388b64e3f3dda614545ee97803fae15796bce5fc4bf0cadfde |
|
MD5 | 060677f705c87a0d790d773fea0a24f0 |
|
BLAKE2b-256 | fc6e4795047684876998462371bfd2a6ae5331291546f2c83ed3711d2de9c34d |
Close
Hashes for ast_grep_py-0.27.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa6f338fcf6780729e7c91152eaf2f5479560101da3afc1c62d8e64aa51b5416 |
|
MD5 | 1cbfd4485982ad5c61c4f9b16f10a607 |
|
BLAKE2b-256 | 50c90b78b05eaf9b313c38a766ec3c19e785a65d839665668f11d9d33dd0150b |
Close
Hashes for ast_grep_py-0.27.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ca91c75964b6df925bc4568caf4e1c04acc6a28e93cfc12f387196d66d1efe0 |
|
MD5 | 116d893a172134e83ed2f0fb64067f57 |
|
BLAKE2b-256 | 993b47c6a333ad771e0b3acc3c93b5bfe4c68ea54d7a31decaa5178042302f44 |
Close
Hashes for ast_grep_py-0.27.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f7682c0878bd18100c554880d2620577e41723d7b756c7f7842ea958f1a2191 |
|
MD5 | 600921db9100865ff23e1c4f6dc95b10 |
|
BLAKE2b-256 | cace37d3cd879608afa0243d7f41f0cb5df5f237128bcb1833d95120587ec029 |
Close
Hashes for ast_grep_py-0.27.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 805421a5af6608e3b3d43efe9dd41c90f9aae1da1a5ea7588da635f64f27ff15 |
|
MD5 | d98a5760c442f1254b34ba6883863ae4 |
|
BLAKE2b-256 | 8727ada1caa83ca737613eaf57d76f0ae097b6204ab467753c4bc2b408bfe957 |
Close
Hashes for ast_grep_py-0.27.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f92b6aeb04b0d8ce475c9fd7fb2396f59402aa7f72d99b09ac55c3b6fdf90a63 |
|
MD5 | f44c190dd332c1b4aa75fe033a1960c4 |
|
BLAKE2b-256 | 2bbacef387caecc8724339bc8957c3f26dfe64e06c071e8c3aa165355893864b |
Close
Hashes for ast_grep_py-0.27.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e95fe9b089dcfe93a996f00501db82f5f9cf1819a5d9e8d8a78ea896d8d1082e |
|
MD5 | ff79b7070aee70d085bb5da5a977a9fc |
|
BLAKE2b-256 | 71594bbf9dffaefa1dd01964039408ad98748b802888594df1ab22cab311967c |
Close
Hashes for ast_grep_py-0.27.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2fdc62b81f406e51348d46d600adbcc73dc64f8eb958b4cf75f203cb49d485c |
|
MD5 | 419b62cdc475f6f0f07409f5e16f3bf7 |
|
BLAKE2b-256 | 28478b674667d73cb3f306ea2fb416b8128c5fd247fc2733e2bae69e97419c41 |
Close
Hashes for ast_grep_py-0.27.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 444dcd73b7fdc3852f8189204960de4ff08a6d13931e0830d060cf4fb1dcebb6 |
|
MD5 | 6fd87869e29e527e05a28df5b269756f |
|
BLAKE2b-256 | e95ee84d003d6c262d9643cb7e64145d4b66eb198e05d934904755503588c751 |
Close
Hashes for ast_grep_py-0.27.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b1bb0d2eb77e786e15ddf96b934637a65bf3be03677a0f4a8c09a09bee1fae4 |
|
MD5 | 0b71ba757d5b1dc969e402e8f1dd2044 |
|
BLAKE2b-256 | 5368e2a8e511d05ba62fc782f6685b0530d2490008472c60a71cab6ab0ee336a |
Close
Hashes for ast_grep_py-0.27.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae84ca9bba5224efd2d854f180fcbd96431b616f082cd88f2a2f21e6f931a64e |
|
MD5 | 1f8c5d5cb151071af171f7a84b249170 |
|
BLAKE2b-256 | c42904ab32e19dd6105bcb815b879d233b9f5e766c70159cf494ad05371fe070 |
Close
Hashes for ast_grep_py-0.27.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fdad930bd57d36678e4f20f0612ec356c54d8c1d1bdd9484461aceaa93bace9 |
|
MD5 | 6597066f3b538e28ba3f5e408c375541 |
|
BLAKE2b-256 | de8a19fc4306ab9b2559b7259e172e526729cb310ddd4858a2b9c5069bb60712 |
Close
Hashes for ast_grep_py-0.27.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c1611b17f0afc279320316ac618b3a2cd61f9f1dec73253e6dcbbe88565de44 |
|
MD5 | 9dc039c08b5dbe467bc06f467cad6caf |
|
BLAKE2b-256 | c464749f27a7cf36c21eed17898a7854a20f14005b730cd0cc30f87275cb1608 |
Close
Hashes for ast_grep_py-0.27.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af1451072417048cdfc5dfd1519b95b4b89929c24bb882db2b8fd088f4179b2c |
|
MD5 | 0239e305c907e5aa5f121f17f8d2a6c5 |
|
BLAKE2b-256 | f5bdc6eca066c15263fc99273dafa7d437f99accf3b557e7e0a26e688ed4a31b |
Close
Hashes for ast_grep_py-0.27.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab0d3fb3b90ebd43fb68e4901bb975ac05b39e4ed71f5c41c1c0ceb8d9fdd894 |
|
MD5 | c96081149873ad9d90f2b3806ee8ed92 |
|
BLAKE2b-256 | cce7ab3b3232d92b873b18fe659bef5ebf6bc629f55ebc9e8118895295802f2a |
Close
Hashes for ast_grep_py-0.27.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c347f92c57ab320be388368ecc21d77a621f01dda3848e3d293e3de296228bf6 |
|
MD5 | 68b0c696839ba7a9e347b40ad739495b |
|
BLAKE2b-256 | 6966086d49a437e5db22041a5d1894e988e8440076397288800cd1e436dda29e |
Close
Hashes for ast_grep_py-0.27.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b2aed24242dfd22d5022729efd973e86d00c6d592dc8485ee25caaadc56f7b9 |
|
MD5 | 44faffe27a0faac9128dfb1f4cb4e558 |
|
BLAKE2b-256 | 3d39af0438271349571d589a9d9f8162cc58eae7fb2181b4a4f0f2903d6257f3 |
Close
Hashes for ast_grep_py-0.27.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 555dafbbe53d995a919aa2e7882b0b1b1da15871983aea3e29488fe558c6615f |
|
MD5 | d4ff269061869b16f7b1860ce8042660 |
|
BLAKE2b-256 | 7606c079ca7bbbc23481f96a41e35d007ac11b93c2b259534f244254a64383ac |
Close
Hashes for ast_grep_py-0.27.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6eadc102138e2eaa9515626ca21b7fd4b99c46c486aa871e801bfb4a7f3bb6b2 |
|
MD5 | e97242c624854b8020731bddcece9e8f |
|
BLAKE2b-256 | 5a37f9040263dcbce907e1aed8d2b871a8f87165f1052bff1443c3ccd3421143 |
Close
Hashes for ast_grep_py-0.27.3-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abea6bf05d91f96180b695feec23186e3001eb479876034bb4a2c8a6d194b2c4 |
|
MD5 | 0360c15979bee8a6d00d70f412051d7f |
|
BLAKE2b-256 | 4c5c67a6a854c162c314c09891ec70ca723120f0800a23757c45e22ed92532ae |
Close
Hashes for ast_grep_py-0.27.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d5041cf583db875c86488048f24f60ade7a4ced0a28a5a46eb92a484565b7af |
|
MD5 | 4e06009feb3510644d7534b1a726a02a |
|
BLAKE2b-256 | fd830121b89bee1d68dd3c6ad596d622050cc584a5766da606aaf17df14c1618 |
Close
Hashes for ast_grep_py-0.27.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1013117e2ba62b22755822e150f598fa972e8d29741ffe6b7b201f800339e451 |
|
MD5 | 617cda739318374b76563af93627bdd6 |
|
BLAKE2b-256 | 8c3ed098fddf3dc717505c2fed9f50c4e1fa5a178d0dc2b324ba621f4c9dab56 |
Close
Hashes for ast_grep_py-0.27.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e6229f53637c9e8e3ebefb4084a17bc0ab49b6c53727f376d2f341a576e36e8 |
|
MD5 | 5aa7f25aad8c12c04e5b95daa32fc3b9 |
|
BLAKE2b-256 | 5b364e84247caf8f2a773ec03ff9c1d7266f0a6bcd69de66e020b87fc81a24cd |
Close
Hashes for ast_grep_py-0.27.3-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d50a5be6d1181c0b72cb6495a9afe4bce6d3b895fabf45656e1b762c3c6162a8 |
|
MD5 | 66a7bb49cfeabd4129e062776155c121 |
|
BLAKE2b-256 | 4e1e05518d965f463b1f67c8cc6f3158c8b02bf2d74ce2bbfdc20a80d398f530 |
Close
Hashes for ast_grep_py-0.27.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96a70126a0eedd37a6b1ed72a294657b7ac38b446c7202dd29a44502897d7523 |
|
MD5 | ddae3c3be2461b5a0cc8ccda6c104f8c |
|
BLAKE2b-256 | 75401d285d4d756a469f18ef286c380718cf623648f8095069ec078106df52de |
Close
Hashes for ast_grep_py-0.27.3-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 172d92eb25e3aa11b207a2834606abb35eb4bbb1836df4f7184ff853c9a1f2e7 |
|
MD5 | 01126e64573f4f4fbbec9d5c3ac47083 |
|
BLAKE2b-256 | fdea4d850acc470cd7510527d8bae67c1415e81482031595c385a610f6d23c46 |
Close
Hashes for ast_grep_py-0.27.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c75368c0f70e56c85e6ea1868e5d7cc264bb991f1046f84bc7cf93a40715c7f7 |
|
MD5 | 1c799bcd993654d6d790b5c904fe21d7 |
|
BLAKE2b-256 | 96226cd90b38990df0627d2c4a3534253ee2389ca2c41a65c3010f3157e69748 |
Close
Hashes for ast_grep_py-0.27.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d73bc02345745fbd0786a951c850dc7f5e59c67fd420177130b515bcbf0eec39 |
|
MD5 | b4f8ed2d430b9102e7b4ccd643d9b7d8 |
|
BLAKE2b-256 | 0769bc401ad8106f41e00eab727d501d3cfdfade1588d9dfc9ca211039f981c0 |
Close
Hashes for ast_grep_py-0.27.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2d937506a6e7a7e84f4bce93cb687f091e40a58519d3524e50544eada894cf5 |
|
MD5 | f934d70da33ecb986b51595795ac0ce7 |
|
BLAKE2b-256 | 66b2a5ac832900831e728418ab102fc581f25dbe27e6cb275b237c84652e4eb8 |
Close
Hashes for ast_grep_py-0.27.3-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2ccbea4fba7bf65437289c9a8c73ef6120439c579ec331ead3bb0737b53d143 |
|
MD5 | ea388769610d42dad2b6879be10623fc |
|
BLAKE2b-256 | 4572400e9ed578dcfaca37ca38d73b668063355f2c1d185e90f1c990df9e7fc1 |