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.3.tar.gz
(106.8 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45ee0c874364d969fc3bcedcf34869dc639f0be5e8bc8762956cc8f39a6f724a |
|
MD5 | 347b4b8b75e476922c88fe518311f106 |
|
BLAKE2b-256 | 64bc1890ae4a9fb140b840f602c490fb2cbeb2fc4d32856eb2d3fd4105658dad |
Close
Hashes for ast_grep_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 830db5a8b91801c7dd2c870f0a5c3767a3039dfb5fa9e794f6b2747af5a3c04d |
|
MD5 | 01a9c2fb18d306c214a5fb13983d6b7b |
|
BLAKE2b-256 | e16d39cbfed9e18e2befd63b52ebcddb8b7e488a9bcea404996a659ccb15525a |
Close
Hashes for ast_grep_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8aa1935468a8632343b94675d040e2294ea5e6534ae273cb917681a1f013c0ff |
|
MD5 | eab2863c0e66a381bf538aec11b3b32f |
|
BLAKE2b-256 | da140889fe1f2c95cc6e7fd6d5e60b49b734c044c427f706bd9a5e83bb22ce42 |
Close
Hashes for ast_grep_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09beab620e08a992f6a96eea75f77e110a1843717a10a4b40ff6de164a8ccfd8 |
|
MD5 | 4a8c825a6b40b67444289cab04a72891 |
|
BLAKE2b-256 | 7915b98ff44b3206ae0a677e8e175e35620973fb3841a936a5061b52ce26b3e5 |
Close
Hashes for ast_grep_py-0.22.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e51d73b49cd89465ca6863cfa2cb57ae727041941c83e966f0cdb7cff9f665cb |
|
MD5 | af9c1922256dcfc0a1a6120ec57f8ea0 |
|
BLAKE2b-256 | 9b268ae90be94f4cf674b32edcea1d9bb4440b885b47ef94bdf3a4dd703dfc19 |
Close
Hashes for ast_grep_py-0.22.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 616b93d4a68af34ba2b350967714049212c006459cfea1e2e9f19b2edcb1b942 |
|
MD5 | b50175cda8b9a81fa3ef824ebe77c7d6 |
|
BLAKE2b-256 | b05c3de0abc6257cb7c2cd58213e6ee3fb6bdd168b769fac882f6fe55a7878f5 |
Close
Hashes for ast_grep_py-0.22.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 782e028239c0cc6acb3d7ade612f3a32651023ae1bdaa5bab3140e0cf6e03ebd |
|
MD5 | 59b60fcff960791b1d3fab0fefd1de10 |
|
BLAKE2b-256 | b28e08cefbeeee927705893ac4b59fcaeeefd54c80888e163393426f32916fe6 |
Close
Hashes for ast_grep_py-0.22.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38326cbdb4cb80d288edf9a7b6a09ece5ed7b80d426fb53d8df691133a9e3fac |
|
MD5 | 8f99c6ec69bba1233536b14e392e4e1d |
|
BLAKE2b-256 | 081c3d8874c2c474f3225cce21a70a10a799aa571a1f96fbfba3d3adb7b0d344 |
Close
Hashes for ast_grep_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96d0120b13eddad0fc222cefe2d0a2e7e730ab763f7dc8106bc24fbfd811e728 |
|
MD5 | 684228ea582c8f26d589c51b04c8d036 |
|
BLAKE2b-256 | c52f2166559e733bdf5faa5586391f5ff1cf890948c5f81bcd3088e890f4ca1b |
Close
Hashes for ast_grep_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 554390d3a2ded8178320dc66697dd5b5f7c234b94bfc6538aedd23dbf230fa78 |
|
MD5 | c7e24e052400f72927bc7376e9c0a820 |
|
BLAKE2b-256 | 2d54de5f49cd3a11192169a2ed7ba8904a6d2336a95e415789f972b5ca870986 |
Close
Hashes for ast_grep_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcd50797b55aff2ed27fbd2a1ee1d65eaf53d1120bcd606c661694169c38100d |
|
MD5 | fa542eca0264bf8862dc43eda6c560c8 |
|
BLAKE2b-256 | 0e959b6570f38ab5e37635c1b7f2c8e5e5237145aee3880669942f052e884f83 |
Close
Hashes for ast_grep_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a153493165e6fe3dbe77bcccbf61466cf90ea32eed1cbe6988775edf7f68fbd |
|
MD5 | 7cf41bdcc1e157313c8a4472d8914fe3 |
|
BLAKE2b-256 | 54bac1b2e82a8a42f7b76492bae57e9838ca5ffc66636d69d4f1b289acb86f34 |
Close
Hashes for ast_grep_py-0.22.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b7944b62785e21c1a8eb5e54caece16a829d7e9feb40d8be453c22706d3669b |
|
MD5 | 76e6f1357042d3db86bace39904ca772 |
|
BLAKE2b-256 | e677ad77d824232cc1df2f050e70a652bb545fd3507d36ac1c6fcc8aa666f1b9 |
Close
Hashes for ast_grep_py-0.22.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d43d85b597bc537081382d2fe94e2b5674a7bb69d86290e77a5b4c7988cbe76 |
|
MD5 | f29c4145b5365492ba0002141ec21675 |
|
BLAKE2b-256 | 01b40c446fee64586fc3cce8be4f3f4f14eb428c9cfd7807eeb7eeaa9518d4fd |
Close
Hashes for ast_grep_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 777fd1a3bd6fcfdc88f5680070d2900df33cbe2e53dca2d5dc3a8977b16e75bd |
|
MD5 | 5acd2761f46086a17d3eab76fad1eef9 |
|
BLAKE2b-256 | 1ff9ae59a9a6a7667a07ceabf5b4eac506416a8b7e1af92357aba2cd1a1f5c31 |
Close
Hashes for ast_grep_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f90b4a4e534adec7748e38a6e16ffa99781268bb21fd819fc9bc2849d31dad9 |
|
MD5 | b73ae0f277caa709e75912a8182d8293 |
|
BLAKE2b-256 | 8064563707b32df9bd457f2f10211cff64ac82d73d746a5653826d41a636df04 |
Close
Hashes for ast_grep_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37c15b2f76234e283fc2de606c36883163c375ea67349ea5430b7c05f51a0107 |
|
MD5 | 9b6e47beaa60bead5c46de0130dec0a5 |
|
BLAKE2b-256 | e95eecaed555c61c19e1c5d626838f03b6b1ae73a259b64ed4281cf9d5c47b63 |
Close
Hashes for ast_grep_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f5759da88d91f334eeb49c58aa00ff0617334df8bd47eb5e1cb149fb7e8c603 |
|
MD5 | 3f229bc94eead15ea0f3872f0ad428c1 |
|
BLAKE2b-256 | 5aeaba3bcc1416d94a831f5b0eb5d3a31bb9f27ca372fae7265dc88b34eaf876 |
Close
Hashes for ast_grep_py-0.22.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55a3cb2b39d3b5d4f0f1f35c13ec10166c801a80512ead3a64b664aae60f69a7 |
|
MD5 | e2f42ffb67619ea1f4c59eefea4cfb0b |
|
BLAKE2b-256 | b76f329f272dd0593e59c678933f751f0d90d6d9468a8008028439cc45689d49 |
Close
Hashes for ast_grep_py-0.22.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22fd5dea35208d4867696aa6cbb109fe20f09f94eb6e12cd909e1553844b8f9d |
|
MD5 | f69020a8603b1aaeb3913d9c84ff81f0 |
|
BLAKE2b-256 | 304318fd626da9aed54f2fb37620f3aa212f3568301896cba7574d670c89e87e |
Close
Hashes for ast_grep_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e75527e922aa5050a237a60dfe2530b1e6bd1ba99dc82d8c048f1730e7d89f6 |
|
MD5 | 96870a7a7c7e3f1dab6362dc174cd797 |
|
BLAKE2b-256 | 46a0dc1832781408b5a950fbd0673fdc04727b1752f349d264133a7446c1fbd2 |
Close
Hashes for ast_grep_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9623722410cae869515695adeec31dc8a7d4f7c7445ee1262af6103f009894e2 |
|
MD5 | 1564ae7658d81c4622704a7b77ab89fa |
|
BLAKE2b-256 | c9171ed2589871728043154fad877bc36156fd008d4c381b76b7f6bfa0887e95 |
Close
Hashes for ast_grep_py-0.22.3-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 99e39cc801f0dd6ab783ed9380e05d0b2f89f1d356d36d2a443fd204f623ae7d |
|
MD5 | 16954e7cd0b02bf95ad8f75c9ed83459 |
|
BLAKE2b-256 | 3b20d995426e0f9ec8666da3f61b68ae2719bb290d04ff5c802c1831a61b84a1 |
Close
Hashes for ast_grep_py-0.22.3-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43686ced2c6cb2a543663615b3f8d91b79bf08ed2dba70e57ec4e16965550868 |
|
MD5 | 4e9381efff06a63616695c7cf350964b |
|
BLAKE2b-256 | ffe5fe1aaa89dce92bf912c669c50474a3869dc2bf8e1378ddd7952ff925b47c |
Close
Hashes for ast_grep_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0301910c3b28c17259de9899262bdfeafd9e3de0f04c73eac1832a792316545 |
|
MD5 | 32c8141a60332ef31ce0fef1ce03319c |
|
BLAKE2b-256 | 5ea4298f3454d2211bb9506b3e688abcd61dae7252b287f37737b68a4c5e868d |
Close
Hashes for ast_grep_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c13f3280a138acb896a6ac28c35a81cb6d34ea7a57aae8ba5a93e9fbc10e746d |
|
MD5 | a4e15a1076100a271930cf4b70583c97 |
|
BLAKE2b-256 | db24cdd4917bd09ebf5b15f139915bffaccfc3be4bbd72152966e826566de925 |
Close
Hashes for ast_grep_py-0.22.3-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7adc00456b7803e01b7ad34500821bc57ae0237e307b3d1506ec61b547bc0f1 |
|
MD5 | 9d36d45d3ddb8d6d4418353e8f376052 |
|
BLAKE2b-256 | 02325202d324a62d441a073c874010d7a123410e4b71dec59fb2e1226eb58cdd |
Close
Hashes for ast_grep_py-0.22.3-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5bc32c2ec87c48a9449e3643309c88870934ef4db2384ceb1efcce1fab052e9 |
|
MD5 | a56f127c051f214f369cd59fa198cdae |
|
BLAKE2b-256 | b533efc5632d3d8231db5de7fb35e28cf54dc0435de5e47c748d471ff93fff5a |
Close
Hashes for ast_grep_py-0.22.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79b6ff867ae5a8a8280d3c73382cdf148cdfc91cc8e14f2f2fe5731cdaae3b6b |
|
MD5 | fef0b27efa87c031d5fb18736da61296 |
|
BLAKE2b-256 | 7cf462b72472459647414ff5228b746399154c0f33b4a51247abe26be6d0f327 |
Close
Hashes for ast_grep_py-0.22.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2e34fbb2548e0f43f0ae64bd3fb18ca520d68498115c7b29bb8324a2e9f8b26 |
|
MD5 | 1d9e4a1663fcc5e21e56bef17275cbff |
|
BLAKE2b-256 | 40693d4fc8e9c62cd820b9b183ab90f244e843b08892781ac96646df79eb4a9c |
Close
Hashes for ast_grep_py-0.22.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a2ddfccebebb5a26bd3446c039093d975614173e54c3ea86bedbac66be46a7b |
|
MD5 | 51b20561b70add5be3274f526b379d1a |
|
BLAKE2b-256 | 24eed116dc79ee97924df8499886421bd60041efae40b91d504391ad9a6e2599 |
Close
Hashes for ast_grep_py-0.22.3-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4f1783430f3fff695cf10e4623f49b2320d4262f9f5c9c215432e9ef14d5bfa |
|
MD5 | 7df48a4f9caec5f2051df4e6c964248e |
|
BLAKE2b-256 | e932d76cb74d9863d83e406a2c37f96bb2291b251cb55384f8ecf05dfe80c0d9 |