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.24.0.tar.gz
(113.3 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc37fc1df62ab4a465dc7e72ac205b5b6c439a99da67abc84bf74e9fd3dbdce6 |
|
MD5 | f23fe7160e31888ef9405cd834e2eeea |
|
BLAKE2b-256 | 4254e32d240928bd364dd0cb4f4d3bbcef0e396f60fe4fe933cf20d9fd4c9c52 |
Close
Hashes for ast_grep_py-0.24.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9805d4b8a971251abb20efd7767d1dab337bb8729a70f4930a185deb4517a7c8 |
|
MD5 | 62c0fafbea931be5448c0b72979a9dc3 |
|
BLAKE2b-256 | 3011a8e94673ab351a422c75e546a2c4d74a782425336766a5e9ff21cb7ea362 |
Close
Hashes for ast_grep_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f11664346408c3dd685723a291c8e7ba26b6858e5d1383b0f53544d55834a4f1 |
|
MD5 | cdcd479408bf2570616a22f30654f96f |
|
BLAKE2b-256 | 6b62838c3d282f2de62e8f97776939dcc8db071e05640d073939124e7ff893cc |
Close
Hashes for ast_grep_py-0.24.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b7cd0d0309605b2af25823ab6f34421164add7d7836636875ef7455befa53a9 |
|
MD5 | 7f725f1c16fb342408c6c47873f79610 |
|
BLAKE2b-256 | c555636690ca987cdf75ed87f2d816488b4c50c0f8ce4e01886f7b674d3ffdb4 |
Close
Hashes for ast_grep_py-0.24.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28c986984818e20da76b77c2981529c64897f2ede054ce66e09f021b0005c06c |
|
MD5 | 28cb95a0eeea566bbfd7348691c38b2e |
|
BLAKE2b-256 | 35d23b4f2d358c55f1b69f1a16eb3c3830b988cd5b240fb3bde53442aa303bce |
Close
Hashes for ast_grep_py-0.24.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01d060aa540faab28ec1bac28ba4dbd9a54a5660b3d5a6c46b9c834e0464e443 |
|
MD5 | 55289c3e2a0cc1ff821bf5c08bb82788 |
|
BLAKE2b-256 | 3302a243b60bb4d7312c398741fd8ab721d014f900ac08e28b2bee51d7d40077 |
Close
Hashes for ast_grep_py-0.24.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7d3bbdace8fc5bfe893b9793f4d6c0cc12c8a5551ef50c081486da7dd538c4f |
|
MD5 | b6b9bdb9fa4e643a01dda48c6c779747 |
|
BLAKE2b-256 | 574d23d4f5620954a877d6e1095d27957e3ef6656399c78236a9ebff8ec1920d |
Close
Hashes for ast_grep_py-0.24.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39a0ef70a6f51580d11b5910d02fbec8fd5020de1063c7d11d710b3ac5d5f268 |
|
MD5 | 7ee0bdd8853bdbbc9f121960c89414e1 |
|
BLAKE2b-256 | 0112117aa4a1b700f02559688b55b3a9ad43cb4f94d3f270b7996f4b8bdf2980 |
Close
Hashes for ast_grep_py-0.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94e6afca7bbe95b585d5cb5bfee5f0f16f27a5c7b115e27909022efbed359159 |
|
MD5 | 76be51b5171ce8fabb507c18b06dc794 |
|
BLAKE2b-256 | 96c2e08dcd95b25ff7722a0d0131e7236eef975d7964a9b16547d176eadd0729 |
Close
Hashes for ast_grep_py-0.24.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be4be8f3cf5abfe2fc1e905ec4966058d3d3c04b30b8f7c6d1071790d7a631fe |
|
MD5 | ea34137f03d767cb9ffdc16d3012bc8e |
|
BLAKE2b-256 | abf221bd3fe5770976a6918e6c0a164d5df2d6dde0fdc6c6ac3955e97abc92d8 |
Close
Hashes for ast_grep_py-0.24.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6351af53122ce278be23c6f55839836cb73042256e861bc94f172c8c7a39ec2 |
|
MD5 | 38247f9b0b751128204919e82ca3a8ac |
|
BLAKE2b-256 | fecddc3080796881dc6c14de41176cecec87c0c76211a03ca557dc6251fc6235 |
Close
Hashes for ast_grep_py-0.24.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ee4c48944784d8e5641fc5b1db7d5bd735151886f07bfb1da1190609c6d8644 |
|
MD5 | c81b56b9da3fd8d8741845da8d2c25c1 |
|
BLAKE2b-256 | 8818f1a3471228f1cb5cbe0789d9b0078d27885c25ebbfca41cf9e2251285dd4 |
Close
Hashes for ast_grep_py-0.24.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c37520be010c66041222e0ec8513b33dd777c22b36c05dd3e2ecd077a654b6c0 |
|
MD5 | cd516b4c2bd7947b1ef65895cf48c4a0 |
|
BLAKE2b-256 | d7160cb25ce934ccb318fe54dd6203746e7a70bf22c8c24841bd82e327320062 |
Close
Hashes for ast_grep_py-0.24.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0b78992a63b4b67e347875559f29dbb0164d50b4baa2e2447f975e1babc2122 |
|
MD5 | 6ba29893ca9f95bcf153d4d2a8ba5466 |
|
BLAKE2b-256 | 02f9e6360efeffe055a13fac204ff58fae2bc7c181f52f45fa60ec54d8c6d20d |
Close
Hashes for ast_grep_py-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e916a8b282d468bd5abf72e23eed916959591c9bcbbd694415ad73cb26a0f10 |
|
MD5 | 2aeb22d83e7adac26f070f7c2fa88005 |
|
BLAKE2b-256 | 9d6fd63868eed86daf771143fa2963f631b410821e3bb6e645b0c2f96c82d531 |
Close
Hashes for ast_grep_py-0.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e3af04c97bcdd04f60838ea4587800173c8b8862065db2371fe543f0b3b9595 |
|
MD5 | 9479994253f59aed11500dd3182f00f8 |
|
BLAKE2b-256 | 38277ac18d39c7c6a34b07316565c2b6038785717b97ed29e3b66b7e4ed15369 |
Close
Hashes for ast_grep_py-0.24.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5734dde6938c6031e0623883e7c567cdff571f728b105022e933509b2366c89e |
|
MD5 | cc0f372c73e57f43ebae3862e1de93e2 |
|
BLAKE2b-256 | aed6479cea52d9b3cb41fc58424bb3ed02015ba042f05936ce62a8fd619ff4be |
Close
Hashes for ast_grep_py-0.24.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28c67e7894bfce6b9037a52ad6584745800320b9abcd8b2bb9db04bc157b327d |
|
MD5 | 4d59b37ac627789b5429d3d723131ba7 |
|
BLAKE2b-256 | 492ab43ca1eca9604c8aa28efa2731d7cff771aed82a12eeed5405275a7c0da8 |
Close
Hashes for ast_grep_py-0.24.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba3a65586d890cc9ece0af199e73a82a27be1d412f57632658145f83cb6b2a3f |
|
MD5 | c483f25174503f15de0d8a53bbdd6a7d |
|
BLAKE2b-256 | 97eb31ed9119a01a2f049136a2ba08b604d7247c2839f129b68b58ce14874a47 |
Close
Hashes for ast_grep_py-0.24.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa6e6b90fef7c17e2b3acf3c1961912ba12e530ac71601f99cde565683046630 |
|
MD5 | 41d7bbeacec48536849d1617315f536f |
|
BLAKE2b-256 | 3dd41a88ddb79dfe197fbbbf5ca606264dfe6e68698c9fc198990696053ffe50 |
Close
Hashes for ast_grep_py-0.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 348f96bcd22bedf6e7d5a358c7e1ee87f86bd85fd62def330dbfaa85280b99f1 |
|
MD5 | 9057fe3ad13777794232abd07f7e6ee9 |
|
BLAKE2b-256 | 4b6fe20ca196573db5d0819d1412aaad6c27798b92542a19f0f0e35a51cf9cd1 |
Close
Hashes for ast_grep_py-0.24.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bcd26dd117b5c2bf6a47090ea19f832fe92432cff94b84519cb9e141549faa2 |
|
MD5 | fd8096feb73b18cd6065bff03839ab12 |
|
BLAKE2b-256 | 81e0a461daf69d424a0b8343562ae1f686a6ab7d14df72df1ce9a3f670d59aea |
Close
Hashes for ast_grep_py-0.24.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0e9a7bf7b14a7b9ccfc10dad4bd1cb32db94527ea29637a96150afbf43dedc5 |
|
MD5 | 36daa03f75c535c8f6ebc190da14d6ba |
|
BLAKE2b-256 | 44f860fbc60c5f076cec51f800faabb3e67328018692507443578a1f769711e0 |
Close
Hashes for ast_grep_py-0.24.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02aa9cda015649e248531a227e313346218a6431c938dfafbbfe96658284922a |
|
MD5 | 570c336ddbe71d2502b4a876ee945982 |
|
BLAKE2b-256 | 6987b45105a66875cc272212334a260f96aab9390151e5d1e1fa0cb6206a95b7 |
Close
Hashes for ast_grep_py-0.24.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3460ced32a890c1463d6d5769781195227102d113b3ea2451cf770451bba6063 |
|
MD5 | 60911f61748f04ead6a09f49ed661bae |
|
BLAKE2b-256 | 5e4089d36f3720082dbdf8c7dc24ebd70863b6a5707da5a7c2d3ada537bd9346 |
Close
Hashes for ast_grep_py-0.24.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dbd554c1bc9a34fd201a441357fe1c4c2d81ffa363bbfc1ed3ef529e01464e4 |
|
MD5 | 0252aefe4d0b7d78efe9197dc77922d2 |
|
BLAKE2b-256 | 5f79c2c95eda738805bd46fd3e15aea855b5d6acd0ec0e670f8c0b028b21af64 |
Close
Hashes for ast_grep_py-0.24.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5b13aad866760fcece1e5be6028e43a8a096e785c9b3a558041a4dba780e6b7 |
|
MD5 | 8ca3d226f5a2e8e6a861575c486596d1 |
|
BLAKE2b-256 | e7c778acddcdd63ec9b2991299e8511bee6b13978e5ce8cc83dc188622281590 |
Close
Hashes for ast_grep_py-0.24.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2c5bed8c5be01858df3da09dbabbd4f233ed63477db4c883b305b00a6de1b32 |
|
MD5 | 666d1903ca4de2f5256f48e933893080 |
|
BLAKE2b-256 | 7f4711f61f8eccaf13ac5aff075eb62b521a5f273714220a7db7dfbdabeea51c |
Close
Hashes for ast_grep_py-0.24.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c539888da7c50b1b73bc3fcf0ee4fe1ca3d50763aedcaea4d47c1dc40e37987b |
|
MD5 | 4ebd09fa88bd23a5f3df1d65d2c8736a |
|
BLAKE2b-256 | d6a171951b5030ab68aaf14b1060e8e7106cae7c18c8433a06d1e908ec94dd7c |
Close
Hashes for ast_grep_py-0.24.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23405557a9b2d9f1b2521716660473614794bf56ac86f5fc318d61a3b8b70e47 |
|
MD5 | ef40ef4c80bfacdd3256ce4c08b034d5 |
|
BLAKE2b-256 | cb6f00b4dae506af97259be8dfd2bcfbbd3229f65b73a877f83a2783c45ada75 |
Close
Hashes for ast_grep_py-0.24.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a67fa1c82356cd7d2bcf051b251d33c2fd8a520d9f8d997279f8c8f0d13adf3 |
|
MD5 | daf135bca7bc45bf5e9989bbac1a3492 |
|
BLAKE2b-256 | dda5e0bb9612d44b07d349a41a8a0e7e3b37d292d93b693c331db146d0310fb8 |
Close
Hashes for ast_grep_py-0.24.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8339197947c6657fffdb2f6b89c900b830c42ebe401c393e2a107404db465b6d |
|
MD5 | 210578c31d0ed9801503b88fa058720c |
|
BLAKE2b-256 | c95e8d37e01892a01d26f7558f2015acf4b64b21b3f397077d4764c5f9d9d428 |