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.19.3.tar.gz
(98.1 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.19.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c632f34be1553d13dff97bb8a30b3b8112c191693dae66a8c9c8eae6dc0babcf |
|
MD5 | 7bd8621b5358b4239871f5410ad34a59 |
|
BLAKE2b-256 | 1228967af74cd4107805c9b6755897faf7c7e5f721b12255a9dc9d69b6898756 |
Close
Hashes for ast_grep_py-0.19.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 131a9de8114e437b4f0528c5229f0568f873ea91aa8f3433cc52fb6ca74d4d22 |
|
MD5 | 18a322dc54ac4bae7867bdfd12d790bc |
|
BLAKE2b-256 | 2c89733bd808359e7b0b70de783cd708030ffabf5a8abade0203caf75c888666 |
Close
Hashes for ast_grep_py-0.19.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9e35b3d57e3bb76ff0fad607c8e2ddd2f713e7961fd35a2cfe0c75956eaeaef |
|
MD5 | 25eeebeb51a1721d2cd6847640da998a |
|
BLAKE2b-256 | 9339ef0d2663916dc969e1cf2add021c29babdcd20e47dfd84a27974afe65076 |
Close
Hashes for ast_grep_py-0.19.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c564d386c94c9bf94df89d7f48afa8bb1b14c9540214ece493e28a70d880b94e |
|
MD5 | 535b84528668f7013f7076ab1a1ae26b |
|
BLAKE2b-256 | 3c1edb38c95868a0a07b7109b2efa5bc2d3cc26a6fd7a06541c49e87909df501 |
Close
Hashes for ast_grep_py-0.19.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7251595d7e7c54ecff00d1a8f966410179ec432ef4dcda06f5e88be663049783 |
|
MD5 | c95e4a43ae22fc46a7a59897499bcb12 |
|
BLAKE2b-256 | 9a1f99901a93f20da965633f0a919890702c6ff387aceb8827e13d722d37375a |
Close
Hashes for ast_grep_py-0.19.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4414dc498f1f735610af990e4662d800775105a3be323f082b896642be4512a2 |
|
MD5 | b903fd602e0c34e6762d086f14b5cbe3 |
|
BLAKE2b-256 | 47c0182a39f99e3946da59adb457ad09b3dbb424840aa7345786c9b1625fea89 |
Close
Hashes for ast_grep_py-0.19.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 144271e7733dc24378823e190ec1457505e6ea16c54a4729b22cc08e545cada5 |
|
MD5 | ac97e33526ace400e34a063b1c49cc0e |
|
BLAKE2b-256 | f7f92f778fb4f9604ee45f3456216f13fb88ac0010648b7f7249a018e9804d42 |
Close
Hashes for ast_grep_py-0.19.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de9afe943b34bb92b161786fcdcfcf44b042f50f80c06a5512b2b893c8d7ef80 |
|
MD5 | 77d10e62ecaf8bac9fd68d2de0081468 |
|
BLAKE2b-256 | fa84a318d042fab7e8f19f4c3b5c34a75fefd8babfe9b9d00a0a736ffd248eb3 |
Close
Hashes for ast_grep_py-0.19.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bc37c05b1ac9d1a750afff98417d0dfaac1c088cc12b7b4cfddbeef86db71a4 |
|
MD5 | 4b32b2ae50d687b209a6a5156dd3cd03 |
|
BLAKE2b-256 | 9cd5de74004bccba4367c4e395f785dd62a88d66916a3de273ba299c841e9994 |
Close
Hashes for ast_grep_py-0.19.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70e2f0b01d2218905dad714e8984ceabac154b2344e0a6e3890690fcd6f7dc6f |
|
MD5 | 4231770b3642b896056b8ef6107cfa41 |
|
BLAKE2b-256 | c82be43ccf263284d5d5674ed36fc72617f312cd291d5640d09c78bc4a85a3e6 |
Close
Hashes for ast_grep_py-0.19.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2516fc4b2bca9c48eeb64e0a711333439d6e1f2e5840f23a5038913565c6e69c |
|
MD5 | 9d3e8bf44cd27d5d4a249a06d2780446 |
|
BLAKE2b-256 | ba71d8746bb91ac7617a01436d15300b72be1a6cae638288827e3c4bf1a7a1a5 |
Close
Hashes for ast_grep_py-0.19.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c52ae033fe9dcdb669d5e4bbaaecea039ef158fbb14df0192589ac61280466dd |
|
MD5 | 8da95c80dc047a3baa08d255036a2ad5 |
|
BLAKE2b-256 | bc08f1f5bae7e788e6bda2f191d38ab593493acdd3073532287a87ed1258d06e |
Close
Hashes for ast_grep_py-0.19.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9151ce1b6b2ef952ca8327ee9dd5054dc61db74c71276d949d1de75a9d3af356 |
|
MD5 | 4831ccd69818ef0649c405a1dd27214d |
|
BLAKE2b-256 | c1f716a65abfbea0213ec8a3342fb763531f5782fb9cf01a4a4784eae1bb1f58 |
Close
Hashes for ast_grep_py-0.19.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84fe10a8ff767bb0522e25e828873394f05489869dc9d87147124655710a0bd6 |
|
MD5 | c47936a888b5cecc7fd686cc86291c0b |
|
BLAKE2b-256 | 391b793438237a459344d8b91c16987498f0011a624c902232536cc43fb05cbf |
Close
Hashes for ast_grep_py-0.19.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 261498e5ccafdd1051b8f20f9f45e0e1f27b91c492829a8ce9a3c24242400707 |
|
MD5 | a405921882681a2584d4c6909bfa6391 |
|
BLAKE2b-256 | ac2243b4c91e4edd12717a33bea492038b95ac5066c3f6a8832a4bf031230f82 |
Close
Hashes for ast_grep_py-0.19.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5c18fe780eeb8b2db5ab903cccfebb506474f2b609f50676df4377e2f113436 |
|
MD5 | 481978090b586cb10ea8cb1d5f13a5dc |
|
BLAKE2b-256 | 90b01fb0fd2d99af22d441162c4545316b3b199787c2a6ed14636e7a1f9bac1e |
Close
Hashes for ast_grep_py-0.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 797abfc1fe3ad576d35c319134d63874f26bb5da5d4a788757ca020dc35ff2dc |
|
MD5 | 2dd0f3d9a929811981eaa7d0f1476297 |
|
BLAKE2b-256 | 8d451a53daad1277e0a7c39214115d2c3eb5c798439b4b7a7f1fda16fc531d40 |
Close
Hashes for ast_grep_py-0.19.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4b11e93d070eec34d804a0fe4da3e7e132c5445c7bfc56eefba5243dbdb81d6 |
|
MD5 | 822b34f68adc28ec917257bde99aac4a |
|
BLAKE2b-256 | d219f01b27d9798df8288ef4a89b304b39249bc4c8a91558fd49e7ed88cc5c4d |
Close
Hashes for ast_grep_py-0.19.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97c721eb24ad5455321f4c7b6336d17b9d193869444212fc55122075a0e3bdc9 |
|
MD5 | 97583e46540505a92c2c0182e312fd36 |
|
BLAKE2b-256 | 537bea4b89453fa4ef82f8405c61fb7a3611a52386061ab3c1bd0912b7fa229c |
Close
Hashes for ast_grep_py-0.19.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98231609f12308ff695c9d49d5ad690334942fc6eaaac7edf58ecafe494aa2a4 |
|
MD5 | 24a7cf271a9ee37d81e3e5abfbf07e63 |
|
BLAKE2b-256 | 5df76e827aab7614606722bcc49717c6419617878f92f128e58eace80fae705c |
Close
Hashes for ast_grep_py-0.19.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d4439f90eccde03b1fb2347ab6abe4ef2e9352acacafe9ed7d42b3c2172a165 |
|
MD5 | 16b7e2d287b88daef87989b5bed32f03 |
|
BLAKE2b-256 | 16f9cc93a84abb8f7b4fd82e59f0fba1171c64ed39543b3f06d105a75c32357e |
Close
Hashes for ast_grep_py-0.19.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9aa4d18d57db2c80dfea056364f927f296b9f2faf56b494a04612235126c79e |
|
MD5 | 87bee5dd0e9b3e3d4a84235f8a250ac1 |
|
BLAKE2b-256 | 58069e85a27f1914628f5f627e81d34164a5b19cec4928ef41bf3e5530b098e8 |
Close
Hashes for ast_grep_py-0.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8512aff894335b83f1cd4d2e979146f8a84c43db0f898e7d621f0ae304bc1ee |
|
MD5 | af9b3a12c5805610ffab4105ebc3efba |
|
BLAKE2b-256 | c9b2522a5f0d59e1fd8e40f058587fac73faeaf5ca99460d14358e4971dd2011 |
Close
Hashes for ast_grep_py-0.19.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d49274f9d1a6c3a1d5c344503f83a821640bbb83d069a6923b07e901f3cd0d52 |
|
MD5 | c0f75596ebbaabee7ac3bf64c7cffb5d |
|
BLAKE2b-256 | 8591bfe30059c037a3761ad59f1fc6a4ff6e37d289586b2567a579dd8d30a2d0 |
Close
Hashes for ast_grep_py-0.19.3-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2786cbb52686fede060bbe92b20126f949effa63100f004adbbfda9d2183b2d4 |
|
MD5 | b7842d1eaf7d112dfbc679d0608e527c |
|
BLAKE2b-256 | 6dc0628136202fd4a3e547e7eeb71beb5d912a157474bfc8e668389547e8ae64 |
Close
Hashes for ast_grep_py-0.19.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 599b45ac093649f53cfcfd37bd09143ea8f865274704462ce770ab8786fd1345 |
|
MD5 | 51c32e736d2d0092e3b5f55aa76482d8 |
|
BLAKE2b-256 | 4f9081bf8a4447f3a8838f045c8e451cb3cbea8d3edf86f2103b99faffef9110 |
Close
Hashes for ast_grep_py-0.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a72e86c7dbf2b4c39abec251f1b49e156257fd0510d8236a8c1fd9f35d700ea5 |
|
MD5 | 03fce80fcffb195c7441245ae5bddaad |
|
BLAKE2b-256 | 5414fd2607f1da81421f376d7f660b5108fa27390db10ebf9dc8a2ff9ef2080c |
Close
Hashes for ast_grep_py-0.19.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f0d530fddb82453070a0233b3b0bcacb622140588490fcefe4e0c51153ef07b |
|
MD5 | 7bb862c9e2b0688fffd7207a794c346a |
|
BLAKE2b-256 | ab895546ecc20e3e956e340a94e772f76adc47460f19f0c5a2125a3b8748c450 |
Close
Hashes for ast_grep_py-0.19.3-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 332010b6b2ec563068c88ec1a3af4b765c55d69a4e9175fc5a9c7172550a4149 |
|
MD5 | 7975bce41566a56dcf3e5c795a38e784 |
|
BLAKE2b-256 | 1b127f89dccb84fc85037dc3e4b06a7577b9f9cb38c84d32d1b0554db2c3f314 |
Close
Hashes for ast_grep_py-0.19.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 443d04da595c19d77c158ea85b00a379f37972fe702741f831b6cd31d201f63e |
|
MD5 | facbaea133d0ab7b32adcbbfdd82d238 |
|
BLAKE2b-256 | bb27629e0c5e7d072663d92c07bce7ba0120e6bbf2c7166b55640a6ff32a6b37 |
Close
Hashes for ast_grep_py-0.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a674adb642ad4eba51f8a42872bc0e9f758560238e69e878f70805bc52a788fa |
|
MD5 | 67c0d5889874249c3f671cbd2beaa5b3 |
|
BLAKE2b-256 | 0e644024fd42df546487a907da58b8645869a4f281c0c68c563171069d6d6d31 |
Close
Hashes for ast_grep_py-0.19.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ec1bd4ca662f5ba521d01a24cb71197c7c2a9da00fb120f40bfb62981a02c7a |
|
MD5 | d68c8ef658f0e02d166eaa8fbadde6c3 |
|
BLAKE2b-256 | 2061657de9994433d578a1fb3a95f23d70e4477e30bb8219a1c225a16e66f5e7 |
Close
Hashes for ast_grep_py-0.19.3-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28d82c3e63b8a362ba7a22a09de2fd60e6df3eecf54036f345bd006e97740f05 |
|
MD5 | 13ce94b2d2848170bf6af271ea18c1f9 |
|
BLAKE2b-256 | a923581de2117e76d7009d9afd84ec1a407ec1c3a40ae26758555ceb0f7ce46e |