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.4.tar.gz
(108.1 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.22.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6a7f9fefb1cda1d1f2fbdaeb760499c615af3bcc23394134221e05d60bd0cd1 |
|
MD5 | ee21c272b4c7d96cfeae9658493ac2f1 |
|
BLAKE2b-256 | 792dd468049015ed115a88e7bf0454e34c8a0934a94bd6fc73d12c1d89cdd68c |
Close
Hashes for ast_grep_py-0.22.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3eb5b2bf43a3731caca328c7df5a467c0696b023b4b78541384e2a2eea8d6697 |
|
MD5 | 43f8fbe64266cf435c3abc7293b64128 |
|
BLAKE2b-256 | 08d60b626b3dee480405e91d48a03b8a9f788053cdc9e5115158d658ab7a47b3 |
Close
Hashes for ast_grep_py-0.22.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6242cbfe877fb193a63847566542345c787445cd6956abcaa735e96ab5a4ed8 |
|
MD5 | 5d7658888cca1a81734b3a62981daefb |
|
BLAKE2b-256 | ac83337fc19d18641e6f424896fc13dcf75e3ddd0f30b07595b9ba40693e63ea |
Close
Hashes for ast_grep_py-0.22.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fe6e8eec9508a58799d9df9bd5b2419b6467d28379613d624ac69ba33ea4945 |
|
MD5 | ff4751697bbc3a676725552d6307a354 |
|
BLAKE2b-256 | a8c00ff922be8219a328d58146bcd7d7657ea61e3382a8be0c14cc76dc65e605 |
Close
Hashes for ast_grep_py-0.22.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5319b3735321fb87290710b520ce0241af944c0d01a7b70bf67d2351d14aa92 |
|
MD5 | d0b418d52c928c3addd0a4fd04808517 |
|
BLAKE2b-256 | 9cc50b08463db0b3d0dc96e5aae4d1e467def06599fbea004378330f272ea277 |
Close
Hashes for ast_grep_py-0.22.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73e39442eeb0838ea05efe96c00683ae52e5265b4b810c96594ed506de994810 |
|
MD5 | f4df2953325bca94115f07d97925b098 |
|
BLAKE2b-256 | 6c6f0d9fe0f769dbefb859ff35b5bfd96e81f990a5bb0082c213bcb9ffa500d9 |
Close
Hashes for ast_grep_py-0.22.4-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea1b23def5e014cada0fafb8579f7772050cd7f7395b9b976aafd1f229e0d0bf |
|
MD5 | 3019d7954866cf34daa5261d9c843297 |
|
BLAKE2b-256 | cd47a519f4d5d0708e6440fc94125f73f8ff65576b8b7d1efe30e51418000658 |
Close
Hashes for ast_grep_py-0.22.4-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd47cc82030322ccd2c76e42f21c21c29a36d331ddecc958b764592ed6ba59a9 |
|
MD5 | 5ae280530c5b8ad1685120e4121e25aa |
|
BLAKE2b-256 | 69a0bcdd66950a89afda12ab136b35a45b341ca64ae70af54c75054dac1a2038 |
Close
Hashes for ast_grep_py-0.22.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75aaf322a7f9a7c37dc58fddb65834be30d1eadc1acb4faf5d5b7147e1e72419 |
|
MD5 | ae72be25c4ea7d89c9313333f8a874c8 |
|
BLAKE2b-256 | bc3b57656d501f446687440ddbbed4e4ec4ddf07776031eae4cea0c60681ea5a |
Close
Hashes for ast_grep_py-0.22.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c303ffe3ceee79cf5a1984a796b23429149e389dadb6d4686e89483224a07e04 |
|
MD5 | db92e6c8a3895294bd679de6c0ce9394 |
|
BLAKE2b-256 | 90cfb6a63221b3872a8dcd401cafb6c0a6b567c7c56ef82efd2158c44c87cc3b |
Close
Hashes for ast_grep_py-0.22.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39534285a866e876d5a23cde066ebe86149825a0fae07133367305b4b48edc87 |
|
MD5 | 7593346a08ef71d066ac8587b408bf3c |
|
BLAKE2b-256 | 59dab041b3065eb5ccf611d25f80b864c78b840c7e2a89007e57894afb6d65be |
Close
Hashes for ast_grep_py-0.22.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6767c479e3cde5c9ccb20fc82ed7c2bd0a3d523b84fe247dd28e3b534c67a45 |
|
MD5 | d31d4d9955f49eb5f414f92090ede5c4 |
|
BLAKE2b-256 | eedcb602b8027fddabe50271e0cedcaf90a40a88a8a2f9e516a1d541eed316d2 |
Close
Hashes for ast_grep_py-0.22.4-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16392f9db3f4f79e66efd615d53be53fa28659e3749ae1dd50a139a1991196c0 |
|
MD5 | 1b2731f6ea1e68f9b4a39a1445cc3537 |
|
BLAKE2b-256 | b1a7a734aec59f10a31ec602522c84cd9a619acf0ef6941193cca12f4f147fc1 |
Close
Hashes for ast_grep_py-0.22.4-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ede91a7d80ecb581065d1e2add40ecccf7a600857f20cafcfb9d92c96a5a7fc7 |
|
MD5 | 02c9f528efea196d94002f37092f8887 |
|
BLAKE2b-256 | 5e2a39fce070b2204599312826ee1d2bd41339db511b9138953d4df9e167fe78 |
Close
Hashes for ast_grep_py-0.22.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a31bad3872a0049819c3a659ab1dc2b25815916f4ecf05c977a1c9b67bef756b |
|
MD5 | 138d28a1767566389811e103f91c57f3 |
|
BLAKE2b-256 | 87c0e507e78704af9f76a14b50b5097ed452d60b52074cf3194afa503e126ed3 |
Close
Hashes for ast_grep_py-0.22.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68e79a3b505449c7b198e93936dc22273d47467a327becfe7fbf6cec401b51c0 |
|
MD5 | fe615cc9e236b45b3a9a7cbee7c6d6a7 |
|
BLAKE2b-256 | 204a9a399c1037316d42cf881fb0303cbcb0ffa8b196209c8482d8d1ea23e8b4 |
Close
Hashes for ast_grep_py-0.22.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95b6eb972ea293a659c7728c72062208c78a3804a4ab8b40ff823d65ae16d81f |
|
MD5 | a7c1d3bc1b11ab310f7586216e63a6ca |
|
BLAKE2b-256 | cf210d99b163538e19e0042bf90602931976c3afabc4e69bd593dfbaef89bbb2 |
Close
Hashes for ast_grep_py-0.22.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 522801f3e82113ff600270f5cecd2c54fff902532d5144e83dcbae2002ea8b8b |
|
MD5 | 668fa8440fe088bee6494a63dc9a59ff |
|
BLAKE2b-256 | 0c052c8c7ef42b4cee93b2aa465ef998df585e44c9853ccd6cf55415e2a92798 |
Close
Hashes for ast_grep_py-0.22.4-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a9c57026f0dd25dee33cc46ce36f58103037445cac57074a21d06379401b323 |
|
MD5 | 28390b0ee8dbd49174190ddf9b094282 |
|
BLAKE2b-256 | 871af2039ec4ed5965a1be9d1b0acf15bcd6c8576a09ee8275c32eeffeb4088b |
Close
Hashes for ast_grep_py-0.22.4-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 165f51c548566997069dc011edd80f56d981089667fa9e888b1c775b12d6e97e |
|
MD5 | de8adbf49fecbeda88e02e2b98a51f1c |
|
BLAKE2b-256 | 821b0d8748d8b00e8ae06b70b50e8f908e8bfb52c1004eb8ff56cade287ff533 |
Close
Hashes for ast_grep_py-0.22.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4999e00f43b2ab1c0aec37bd5dacb8e460a370b43c7fbda6155a8300ae4a9c9 |
|
MD5 | 513ac45197502f7bba7130939fe85770 |
|
BLAKE2b-256 | e9a6bf56985f460e9f0b261494c92f4766394156373f4fc260565ace0358e7f3 |
Close
Hashes for ast_grep_py-0.22.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dca5e70cab3fb089b2ba677f8f4dbac1c0ae9be5c28f434c9fc11e3120a8fd00 |
|
MD5 | 4b607852da6f796d2aac6bd55b0a3380 |
|
BLAKE2b-256 | d4db8e5b0b2f29bced3fa95b24e6b39819f9f66e95e68c4e207bd04c3d380a86 |
Close
Hashes for ast_grep_py-0.22.4-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d34b26ee6e38775653fbed98d9e73ee09b5bbe70b7894bb825a71dcbc12ffd1 |
|
MD5 | 97a646eb6a78d64d82c09b7342b38832 |
|
BLAKE2b-256 | 533e48867e4b9fc9d1d44577fa441cc40a3d3104b3847aa1413c663524f19458 |
Close
Hashes for ast_grep_py-0.22.4-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f5f85c0fc5773597080368a846e73bc205162482f17412bb7c24e1081453344 |
|
MD5 | e5ea204232ade403d987f3cea338e082 |
|
BLAKE2b-256 | e3c0437c10a00e4b4d1606a0434367eb9347bcbf6bf83cef0e7d6f69e0823547 |
Close
Hashes for ast_grep_py-0.22.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c17630f794b48cf72b1ce9238fc4990a8e7f1f5bdf30f0b75b5076be004f4fd1 |
|
MD5 | c08f60eee5d602baa7c75841ff72fba2 |
|
BLAKE2b-256 | 4b86d40904895ef80a1082ae158b2ea62e3fa6bab51affaa0b7e6432c4654ae2 |
Close
Hashes for ast_grep_py-0.22.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd00b0d1e6ae3865d25d2861513469139d96b0c446b6febefe96ae818ccd43bc |
|
MD5 | 75e39634d6e2ce877495475d0ab32dc1 |
|
BLAKE2b-256 | e11e3cc084af4c8917f6be5cdd6086667b54743998ae6d07f0793f45fed680fe |
Close
Hashes for ast_grep_py-0.22.4-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d54b1932e5eacf8ddbb8b7f1da4b8440f9447650aa48f4252dd63f9beec9082b |
|
MD5 | e85ba9cfdda15de4d5a72e76c256ed86 |
|
BLAKE2b-256 | a7bbc67930d37fbd3ca95a2c42a1cd60ef17dbf6a7cf86fc8cc314b457f127d4 |
Close
Hashes for ast_grep_py-0.22.4-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31fa431bb51dbab4662a82ca0665b8a27c192707d1fed43594653da0d856b6a9 |
|
MD5 | 3eddd89429b6fa2aaf8b66f7ed0c8307 |
|
BLAKE2b-256 | 615127f9c3080760bf3988dfc524de493813de29c8098cf8f8e9b494eb3f10a7 |
Close
Hashes for ast_grep_py-0.22.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fedf75ba09c97060c33069d64366fc9ce46b3ed35f90bc6b6d7340473138395 |
|
MD5 | a28e633e1cbae5926f7981d9594466ec |
|
BLAKE2b-256 | 38ddc24e2087a87e69bcc2f4550e9110e9aa2c72cb5e048e35aa7ccf79fb573a |
Close
Hashes for ast_grep_py-0.22.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a142d38b3c6995f66677881295d49ac082a112a9d311f3a66af640c81dbf3a61 |
|
MD5 | bdf24544a4b82618c62b609f4a4ec398 |
|
BLAKE2b-256 | bcf1803a1e7cf41c85d9c719155a518c03fb22e147d6ae6b3f8f5f338f9421c5 |
Close
Hashes for ast_grep_py-0.22.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e65e77e12187e5284d4f9bfdd5ddebf4f58c56482b18f7bba8ba48b9aa25d8c8 |
|
MD5 | 1af8ea727ac5359b74ef42ec1953f55a |
|
BLAKE2b-256 | cbaf8d21eae335425900056ef70697752b1a1544b2edef4f17cf063c0758922a |
Close
Hashes for ast_grep_py-0.22.4-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6aeb142be51fc0b071a41c93ee02510cdc64c40fab6c9b406292dd6085c3ef40 |
|
MD5 | be22f423be7299fff50a0c3df70baf63 |
|
BLAKE2b-256 | fa63d847f9d81db0583534e49a7e3323673f6f81229cf311517382c0f7a4e418 |