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.15.1.tar.gz
(93.3 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.15.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35790012d32da5385e8c98bb54d8a38f9c609b9636c2a77abdfdfead781a259d |
|
MD5 | 1aa48f17beb78d3c0e33082b599807ea |
|
BLAKE2b-256 | a8b214a072239785c0ff431d2f7118286143a0ce39facdd321aafb9bdb78bcf1 |
Close
Hashes for ast_grep_py-0.15.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cb7f578b84b8a69cf5513c736cbc794850ee2aca06e6c8f3151a9754dad3626 |
|
MD5 | 5b12262ca55ca6bfe5a5bcb7935e1b76 |
|
BLAKE2b-256 | fecf3851d700692d1bd424fd55425caeb7fbce0252357cadd31662ae57951a5a |
Close
Hashes for ast_grep_py-0.15.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b50b649499b3539eac6c210f1bcb3efc502a083024be0b2b3fd2e10ca43d5f4 |
|
MD5 | a9719315e23d65f8d1f81573442bec91 |
|
BLAKE2b-256 | 627468d94108002d9fd50b816bab0ad3fe414887571d0b773bf963544dbc8389 |
Close
Hashes for ast_grep_py-0.15.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a2a9f9415e6735c47de279712a244a1c64c7d6b5478501866cbd036bd82a1fb |
|
MD5 | 1e0f6ef6b5fd4ac2cddece26377f39cf |
|
BLAKE2b-256 | 889f300cb3f9f211b8cd04064f3b1013bfa05c7056c600d83ce2d7deee5691b2 |
Close
Hashes for ast_grep_py-0.15.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86d90206a88c41cf7b0b794c0730d3e884ac4487a8827bda60700920b758175e |
|
MD5 | cedb7d59bc42aacc72ac33377927a5e2 |
|
BLAKE2b-256 | f2570276691ccf4031a1d30e61d4dcb7c8596c26cb6fb2f4bcfe8707b60d8339 |
Close
Hashes for ast_grep_py-0.15.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ee0c8e3a786b5fd633a78bd71742e08523e9ca70f0af5317e11319bbbb52d67 |
|
MD5 | a437f228ea7f5920e8009fd3affa1f5f |
|
BLAKE2b-256 | 824139f9f28ffad8389e8291a8d2da5f80234e7857e636ba402d6eacd094e603 |
Close
Hashes for ast_grep_py-0.15.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1d568cb29c794e2ada202cd6daada42907e2fa2b81d983f94d2b3bf4104082a |
|
MD5 | 392c96e1d9fbc908321b04b9ace56c06 |
|
BLAKE2b-256 | 891f5c1a41a8ecfde28f406aeb88dccd315ea6db7f16a67c101adfccb41a3a2b |
Close
Hashes for ast_grep_py-0.15.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fa8614e5d18900a39f5ed752811bc28df1c31938a530212c7f838c39ea552b7 |
|
MD5 | 266f283df0867c7db41305ba8be3df20 |
|
BLAKE2b-256 | d4080fe7c840a0d50e921275079e2a941ac8c039d9cfaab8abee41a7952d3761 |
Close
Hashes for ast_grep_py-0.15.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba352c4fc0f2b482931e25b6cca02eb5ff4d3525cc7e628d2e7e9a38ce59337e |
|
MD5 | 7c1c6ce6836c37f311bd499c7276da9b |
|
BLAKE2b-256 | af35068a464b34fe49ebfc3c10cfd8e6c1fc14665f49dbe2dff007e49657a9f0 |
Close
Hashes for ast_grep_py-0.15.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffd784777a7c93595da7a6c58d497ce22e8824b5a60144288aac5a2e2668c8d2 |
|
MD5 | 6b21bd4605c6860c7baa6ab97ea30fd6 |
|
BLAKE2b-256 | ee2f52d9cf22cec791987c937f7aa22a4de4b6f2ccd6f6dfb9925527e7da92e4 |
Close
Hashes for ast_grep_py-0.15.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1255676393a46042e9db29a631f50e95bdcb02c1ada2dd366532bf4ca3bf9b78 |
|
MD5 | a73d9772de27c6c2a7d58fcd995dc7a8 |
|
BLAKE2b-256 | 373339f1af24ea6606276a57e849450d0d737feb1c5b4673cd3db2dc79afbc35 |
Close
Hashes for ast_grep_py-0.15.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07b062e3dd1ed39735caf7d464c850d74011851e2efcf4c9275ae78936828107 |
|
MD5 | 954648817f16e3c3595b1eaeb30ae1c3 |
|
BLAKE2b-256 | 3cac4fffafaa78e06f9b2c53c1c54f39ce045c6de081297900dd2d7db0b20888 |
Close
Hashes for ast_grep_py-0.15.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fac9195443320958e92d69dbdfe8cadbc1035e3cfdced8eb7c54278862fc342 |
|
MD5 | 9fdc34e0d3362e44206cb5f79f72b3fb |
|
BLAKE2b-256 | 3994dd3fb8fc509f24d23969dcf20d4676f5d2b210532bd9bf19aa3e14775589 |
Close
Hashes for ast_grep_py-0.15.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bd6c09e6e31308a9bee7ad081431acda857d0c889f2c610fbea39c8e28d111e |
|
MD5 | 29e7cc5d6b02df6cd36867dd45d42d03 |
|
BLAKE2b-256 | d868ea37e38a40d4725f21f766e398a4fb994096187c8d1124fd83b68f418126 |
Close
Hashes for ast_grep_py-0.15.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4d922087e5332cbcfd67597cad2f439bce7e7edb9f81483b12597c22e78010b |
|
MD5 | b201ca76b97546589b3dd7799e0fbdf2 |
|
BLAKE2b-256 | f96b7f1c08682de108cac765ac956ce6b7fefed105a73d85bfa916b076a8f14a |
Close
Hashes for ast_grep_py-0.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91801c8beb0f21031b237984af48258e36b16fcd1570dfd63989cc23adf3e519 |
|
MD5 | b9b19e1f1f5674770aed6d5c12812311 |
|
BLAKE2b-256 | 5d3d076dd1281086f3b6bec11ced842d540a26810b6020d2df3bf5c369177142 |
Close
Hashes for ast_grep_py-0.15.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98e2e0195ebf6102224cfc6c096adfd00b4e184972efd1bb2bddf8e0977dbead |
|
MD5 | f37fe2e7cb6ba79dffc57f68cb902aaa |
|
BLAKE2b-256 | b42fa9028e976b03dd0b55ddbfd5b5ba02f8874254a423ea330380d5b5a0f629 |
Close
Hashes for ast_grep_py-0.15.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ed837acac5aaa8f407ced095fcd7061f9e56f2f9e58b34389e34676d4adb8b4 |
|
MD5 | 333aac804cc476e96fd0ebfecd330063 |
|
BLAKE2b-256 | 3e8cd33040fd11f6ff4c1f2c00301c4468f139d6680b61d831ac7190e84f2628 |
Close
Hashes for ast_grep_py-0.15.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d30dc9be1612caabce23fad5a31da043c4f07a98099313f1325c80709c7326cf |
|
MD5 | 671cc1deb900f170f6bcbcce8591b22a |
|
BLAKE2b-256 | 93d0962057ddbcb713e8b536b096e68b8256aaaf0aa881bcce910c770b89c9cc |
Close
Hashes for ast_grep_py-0.15.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed5ec991a5f3dd27baeb9eb58f8779b7b5c83c6528118d62fcc81a067adbe689 |
|
MD5 | 460ead466020c6e59d013f522c230528 |
|
BLAKE2b-256 | 25043d28d592e7b9cd5f19fb8936ae6c2b9a2fe86afd18ddb21d007cd4bf2254 |
Close
Hashes for ast_grep_py-0.15.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c02d48f9fa9e8a1763360a055e34e00834d90ade136d579e4e553a57ebd3239a |
|
MD5 | d2f7dc8faf5c556513e7dcf7d1d77c81 |
|
BLAKE2b-256 | f5ccb80cac082fdd55615cd2d77fc6886b4f77da980275872650959c9803804c |
Close
Hashes for ast_grep_py-0.15.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52516c8df2015662a816f085ba41ab285c1f51cba58809a6d2f27463717d3bda |
|
MD5 | 1591be69e29a47f5eef78e3e6c070ef7 |
|
BLAKE2b-256 | 2eb55cadc018ba643fef9d1caeb13a09a1cf69dc6f8b9bad047eccf053f6ad3f |
Close
Hashes for ast_grep_py-0.15.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db72bd1df80347d1ba50adbb7938a3fac6dcfbb6cb895edfcc0434504c6b1558 |
|
MD5 | 4bb01e4ee9a322803215b63ca19478a1 |
|
BLAKE2b-256 | dae16d238e3e2af1e16aaa75327447b02444d3ad9f93b9ec3f2b441102436494 |
Close
Hashes for ast_grep_py-0.15.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abaa28aa1eccf5f1ed8c99c84c70cdc82bf1a2784862ad8eca0946003af56903 |
|
MD5 | 03fdb11f298f251ac618245385a5d2b0 |
|
BLAKE2b-256 | 53f78bd048b35d77767a056b8b3e3be55d7c9e1e5c57ed6162c7799e9ab15cb9 |
Close
Hashes for ast_grep_py-0.15.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f3b3a27d0952519099ba418ad19ead2cd5fde21a3a6bbf9a4e02d12f890afb7 |
|
MD5 | ab5e947fde413bc3a8b0f0470cf333f3 |
|
BLAKE2b-256 | 4f8b6f6f7839259632193dcffa0bceefd55bee32f361fd80101e23a733ab6519 |
Close
Hashes for ast_grep_py-0.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15d1fb23accf12986049f15b69d97dc3de405ef04f5c93ecf3027ade923c910d |
|
MD5 | ab3ebb4ff71ec14bf21b0540242d26b4 |
|
BLAKE2b-256 | 608ab0bc77845972f5d714acaf45ad3a519cb57f6deb836fc69e3eff27388c18 |
Close
Hashes for ast_grep_py-0.15.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 152bde80e845622b789705a20483e104dd95afc3fc9c5822fcebda563d4a4883 |
|
MD5 | 0813ce86ee0734048e0cf146bc5d8c91 |
|
BLAKE2b-256 | b67f65bd0606df63c93f72d0683d2574fe877b634c8313612ff9230219bf7f89 |
Close
Hashes for ast_grep_py-0.15.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb6c5f547c8f53132702a0da887c15ddc3dd889a5c5c20928734f8e129e391e5 |
|
MD5 | f33aee18c802b1c7d2615bfd61c060c0 |
|
BLAKE2b-256 | c1f295dd5caa677d1eabbab5a4be68f2497787c639ebc06fcc862d79550d904d |
Close
Hashes for ast_grep_py-0.15.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 456749ccea9a4c7c6125bc2762c279af3b0192f4714356d6a1df9b061f9c9d4d |
|
MD5 | 6820f332437d6249f2f1c3594d02a5f4 |
|
BLAKE2b-256 | ae06e4bfda93399a57a47f07418bbb819f3d5c0f73533b1690c2984d5c4a40f8 |
Close
Hashes for ast_grep_py-0.15.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66970eefb0bede2cdb5bd5e579cf8f4ecde38db4c031909eeb14b056d09c7c3c |
|
MD5 | f9713f075d0aac752a5b3ed07a52d56e |
|
BLAKE2b-256 | 05dc3012dc03f9a36d4face02017568132bcb586c5305837a646c370f3d6c30b |
Close
Hashes for ast_grep_py-0.15.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ef4dc2be7e508ec33e9aad0ffdae0b14c893291b534358080f90ee170838e4f |
|
MD5 | 072d175f3909091139a4cc67fb43417d |
|
BLAKE2b-256 | d19de13fb2edc6cab14d996f96b0fdbf00ab80f9e127b1cb0b7f246ccfcdd04c |
Close
Hashes for ast_grep_py-0.15.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18185e3501bcf728ed0bb164caff304b2f51374c5f1e41b459a76fb21aa2e40c |
|
MD5 | cf7af2f06df84526e25582850ac4a805 |
|
BLAKE2b-256 | b8c756b5772e2e2de9f14349ba3690af5c331cddfa85bdba6de761a77eae842e |
Close
Hashes for ast_grep_py-0.15.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b91fb0a5ababc5f96c183d697698d458cd563ae3d1f69171a57c4d23cda17c6b |
|
MD5 | 4957da1d8e87efc1109b09af9c568254 |
|
BLAKE2b-256 | bec985b5894605965ff1942064ad557f436c2faddee72d43ac3e141f6410591c |