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.23.0.tar.gz
(111.2 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.23.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0f356088347515abcb9f0fac3f33cb518c7f41202ebe7bbfe3d5ee3a485ad00 |
|
MD5 | 690dc2f6088ee5bfafc494826cab9bd1 |
|
BLAKE2b-256 | 53698b6b5c9c5c8fc03d8f58996e1e53c8f745743338187d287b283667958ed8 |
Close
Hashes for ast_grep_py-0.23.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ee8e95271d07167d0d1a8e214cab8480f1893eee72df40cda5e142591d0768b |
|
MD5 | 0d456c4177a778b545966bd948e248c6 |
|
BLAKE2b-256 | 48a1e19e23f5331926183acc1fd37585c6f5123adee3f6cca10336d169c1d2ff |
Close
Hashes for ast_grep_py-0.23.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce2a45e096a5e71df0806674c786f89b8fc2861632278c6ffd9217862dbedd94 |
|
MD5 | b5bbec321b52a7c2e0f9c29d36f12cc2 |
|
BLAKE2b-256 | 1ae8d3ba8c36cda323696a447597e5ace5d57345ae688c0a4cd8ab9c3a998080 |
Close
Hashes for ast_grep_py-0.23.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7c8254b4b1a35c64f7fbd4564e55229c737fad7bd2ac1a065581a56f5b2fc2e |
|
MD5 | 1a515098ee5c086b362e8a2cd5301332 |
|
BLAKE2b-256 | 4b5763ce551dbf68242d7a51d9148a53f7d46c3706c2b19bb52cce435cdcb3bc |
Close
Hashes for ast_grep_py-0.23.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95a962394380db16e3f7378c3993cc140ab166220d76a2074157b1fd819c1712 |
|
MD5 | 4d92c5475d7333fe46c4e5c6b2788d49 |
|
BLAKE2b-256 | c41ab8149a95382c1bbe675b401db4647a272bc303e41c7dca1158eb80c326da |
Close
Hashes for ast_grep_py-0.23.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eddaba22c0330e0be25c2f3eb4cc0e309b34d8055aabc94515a0431bad00bcca |
|
MD5 | a6d4ef817676a953e93829d9624e61b8 |
|
BLAKE2b-256 | e1477c0efd83940559a726e158e8b33f6b9182a9826482b2ae5958d251ea1e01 |
Close
Hashes for ast_grep_py-0.23.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0fea920ab9477359480e818a8b88d5edac6e3bf5a039c8bce986b25c8ec1912 |
|
MD5 | ed7b5a7feaf50d8095dcfc80dbef38fa |
|
BLAKE2b-256 | beafbc1cded91b1908191419a87e245ffa1d4979f1715e11b49cd617cb8b62c5 |
Close
Hashes for ast_grep_py-0.23.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 969068dd08d62074b6b3195fe0055c67109686cbc965f4640bc4921f510d8f43 |
|
MD5 | 5325bcb80e33b2e15032a3ffddef3bd6 |
|
BLAKE2b-256 | 1f4954847e9558536f297055d449f8c9b4951c391fe5cf9467defa4fbeb37e5c |
Close
Hashes for ast_grep_py-0.23.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe2a4820d5cebfca794931369ed78be67753b214e435ee2c4fbd3cb295d15829 |
|
MD5 | 42f1f41ba98c5b988763c9ba4c6edfdd |
|
BLAKE2b-256 | 3a672e827ece6c13d65b19b4cb6edb71b1a2eb6141ff01e7111cefa4e4e54359 |
Close
Hashes for ast_grep_py-0.23.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf7c6a24b25daffdbb2297607473d1282aa07605bee70865244d518214b84cef |
|
MD5 | c122ede16bbda6edc06392668f55fe1f |
|
BLAKE2b-256 | 76a5d08b656ea8f07f9e17bb4a9ceafb5a37942c32e232aa0418e503c89cd22a |
Close
Hashes for ast_grep_py-0.23.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0da5540b112a748c603e69ed5e3bfeb1714e3ba6f747319161b44b419d305a3d |
|
MD5 | e1288a8aba23422e3ce8f4ac8d1a3f4b |
|
BLAKE2b-256 | 8078fbd58c3b5d8a2c6715636ed3612a8c76a3f1276292e4f44d07db111bf929 |
Close
Hashes for ast_grep_py-0.23.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a093ee9cd2bcd67377de524f140ffe7f4b5eb5df5f05eb4c9696d97038115599 |
|
MD5 | 96bae0c412267cbe4b7c256c7878b5df |
|
BLAKE2b-256 | 9741c28ecf6f7b4238924bebdd651468455154f645efed74b135a26d09969eed |
Close
Hashes for ast_grep_py-0.23.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58f0199f55764e517c6a4c1e81eab357ddf40e803b85de2740d6b652c47ce362 |
|
MD5 | b0387d64811caa8cb55d4878966cf740 |
|
BLAKE2b-256 | 00a5bd85ca11767871705242a8be9ad71a8fcf3ead925f976c3da8e16a7a68d3 |
Close
Hashes for ast_grep_py-0.23.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20ff1469a877914a24bbe9bc2eff1ca452d3dd2ae325299be0372b10ba410690 |
|
MD5 | 4ea94e2fb44dd8e4f74e2e8972fc82ee |
|
BLAKE2b-256 | 10a9665b7214993ddd921d41911f0e0f22bddab116b6e17cb6251e063557a677 |
Close
Hashes for ast_grep_py-0.23.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1fbb34292d4070036506e4b96a49ff6417701c8e1c83da06a10e36e9717cc4c |
|
MD5 | a27d39572d70ad141b81c7c3cd119452 |
|
BLAKE2b-256 | d56cb6cb65f673e3b6d8c4cba9b78b0118969bf1c26bbd43a9cd14f5e0c4068e |
Close
Hashes for ast_grep_py-0.23.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d48d3ec8be67704190573b31ecec59d209e71f275f1adf1b27dd310049369f9f |
|
MD5 | a15b111380a6eacf4e9979838172ba6a |
|
BLAKE2b-256 | e9b9688770c35c2db4d18ab4c8d4097069db85ae3bea3af346c64650d0e99aee |
Close
Hashes for ast_grep_py-0.23.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4df199de2a0a241c46e156eea7b0fa10ddc5fc17f1e1a95a6a15427a04fbaa5a |
|
MD5 | e87a7097e7a9b4ce546f718f2771a2da |
|
BLAKE2b-256 | 488d0dfde8e77ba5af4ec8d4cfac33623169659d08e87efb4503edfdd83b12b6 |
Close
Hashes for ast_grep_py-0.23.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b5cd34d2e865b21b53257a527b532ed40c823ce1570658676d54ca877cbcd99 |
|
MD5 | 83e15b1595b819163fe74aa5782b9815 |
|
BLAKE2b-256 | a4ae88d4d336ba3a65786df34620c7e6bf458bdbb03cb65c888e0455db338b68 |
Close
Hashes for ast_grep_py-0.23.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3403fa38404ebf79ba6e9faa4682a0172d3e168def90d8fb6c2a4d0ea6fe7818 |
|
MD5 | 54db31d6c0aa9a8968375c0c3bb117f3 |
|
BLAKE2b-256 | f06ce1ed257b79973757f1ded88866d52fecbf134f9b497cc920ba2af1331455 |
Close
Hashes for ast_grep_py-0.23.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d800e0cd1041b6f244ae9da36aad70f3de6e6a5e23e90f46c9b94f48a130739d |
|
MD5 | 691ce6ede1c39f7203f768f517c188c5 |
|
BLAKE2b-256 | 5abc40597fb78e460af07aa064feba8e45bdc41638ee0f958082b01f96aee6ce |
Close
Hashes for ast_grep_py-0.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a02ed24b3e1014da72cb5f2335223970f53decbd3ae18fb845b4ce83cb23949 |
|
MD5 | 66acfc51a242af42d71944a0f1a0b12d |
|
BLAKE2b-256 | 7521357b3de23a247245202d778d97bc91ed76c0eb2d9f8a65966725b424a86e |
Close
Hashes for ast_grep_py-0.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adbb34c97a4d301bfd314b5f82a78aade65da13f357fe1c6764c755199e1e53a |
|
MD5 | 359275653e169f2f7a2fe56f11179b18 |
|
BLAKE2b-256 | 4490f789ef70b2208dade93d9eb85b40fca702100cf4fbe34122a69bb202d9a3 |
Close
Hashes for ast_grep_py-0.23.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd0eea1136c064cf1410d10c225ed07db013d46d4b283fa5fdb031b39065592d |
|
MD5 | 0d0fa149e1bcec93e475e6bb07556a56 |
|
BLAKE2b-256 | ad97ae74079320e33ab8b228b37c877546ac53eabfba4908fb3b252121975df1 |
Close
Hashes for ast_grep_py-0.23.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e076ddc7b4c0c2dec0b218be6cce1bcf76f2d9b068c754a5d8261a500ad0a7d |
|
MD5 | 3cb189c9d29ff2202e6a2dd5679cf842 |
|
BLAKE2b-256 | d69433a03e0068075f8262caedfa9a4987035df9e800b8079923c2b90d7db8f2 |
Close
Hashes for ast_grep_py-0.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b1b1093e11a355a799851c206405c1c77003a9dace13ed8210406a47cc2bfc6 |
|
MD5 | d1de5e7abec14c2a170ce150543898c5 |
|
BLAKE2b-256 | 1ba353f97b0883bc6ef1b435f3b427788b35bdc66230051262669dda934c055a |
Close
Hashes for ast_grep_py-0.23.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc8d9993a27ed81f1f4ef796b74e4c3f9510f2836e79a7ae56bc279c8b7b06f7 |
|
MD5 | 13a4c8a54fe44ff1f7716343f4a871e7 |
|
BLAKE2b-256 | 08e23e0fd755918610d7a1287984623f91f6c770cabf228c0903d2b48e4a1160 |
Close
Hashes for ast_grep_py-0.23.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2201153c2e771c88b576575bf65c6afca4144172c7e7bec21fab572c067f2373 |
|
MD5 | 8727ca9a74133b920af34d342340da73 |
|
BLAKE2b-256 | 709bee502928ad635657ed497da990bb34f9eedf89716554ca258897ce04684b |
Close
Hashes for ast_grep_py-0.23.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc72c096c6e34e59b8fe941ab4fe519a94149f20923447755f855cec987ebc8a |
|
MD5 | 07c162cc08916835d9fafe2dfb497f13 |
|
BLAKE2b-256 | eeec406beff1bde62ee3443c33d4ef95ce8df6f3c14d13abb632f8f98b704106 |
Close
Hashes for ast_grep_py-0.23.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfb4312822afeaafdfabda59819e36b999bd13403b67e13cab364c94eb474213 |
|
MD5 | 1f6f4ac76c7ba4c6863d9d695d609de3 |
|
BLAKE2b-256 | b9a65c341cfeaa42aecd5f794e8346f4a0a44dea42eb2bdb6288de16d52975d7 |
Close
Hashes for ast_grep_py-0.23.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c80725f7c7d954c2f18f9d08f7a84b57011246b1bcb9dc22ee08c128a3735407 |
|
MD5 | 2216d48db34584d16d5302a522b5bc09 |
|
BLAKE2b-256 | 96cad22cfea80d832cc020f9f1d626ddf6432618992d9baed5638cbe3fa70859 |
Close
Hashes for ast_grep_py-0.23.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08220075ab550ee3f6b01a6c26ad6db11f11949b4ef2a9776910088110ae6973 |
|
MD5 | 3992321a7972ead5f757b9bd32f322b4 |
|
BLAKE2b-256 | f9232dc79869fa480bb7831734f1bd29109797eabda7360daacba0d5907d980b |
Close
Hashes for ast_grep_py-0.23.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efe78513b1eba5a28c735fa71d983347dafccb9bc4cec18ce5d2118e9be8bf38 |
|
MD5 | c788abb7457470b8a20d1eabd9c384c9 |
|
BLAKE2b-256 | e3c7305247b4a8f35f52750d72b7d934f430ee7c3d7031cc837a1e22a7968952 |