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.20.4.tar.gz
(99.4 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.20.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2970559fe0b923c6007eae4e3e3f37502eff0f882359647d8c060c2ffa685e5e |
|
MD5 | c6252d46fc40c80bd5289b3d5a9ff487 |
|
BLAKE2b-256 | a2dbc3fba562c7fddf0f145786549c1861f45bf41e6c190c2340715bfa477162 |
Close
Hashes for ast_grep_py-0.20.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fab178d06df6500811aaf5243ed438c31545d126baafcc44ef4e79398ddd58b |
|
MD5 | f776298bca4b7e76d30fbbb667ec8832 |
|
BLAKE2b-256 | c8235774c5bc719ae1ce287b57515735c5872a568df9bb3805f3be02b68541d1 |
Close
Hashes for ast_grep_py-0.20.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 775e810d85e716e2536bae08f100fbc91a889860e9a8aaca98a6529ebbedf094 |
|
MD5 | dacfdac03644defc6451359f417d9a08 |
|
BLAKE2b-256 | 6280d6f8a8d7c27c1bf48af9a3dc0fe39320bd2c4bf40ac880d6eb2a57be5722 |
Close
Hashes for ast_grep_py-0.20.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55bf13567413bc284680e8995cf93390bc928d9dbaade57cbbf3c41390a8071b |
|
MD5 | 0c571aa7135ac8f743909d060a01264c |
|
BLAKE2b-256 | fcbcfaa50faa0014f4121063d3cd5b78e3e65c6dfb9734e65661342883318eb6 |
Close
Hashes for ast_grep_py-0.20.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 296415b9cc1c85f3c0ba629a1a2311d0e23e779dfb8fbb6b853459049fad30a5 |
|
MD5 | a09697932d12e33f6afa676cc82add86 |
|
BLAKE2b-256 | 0bf099eaf6003118f171a1ae4e94ff759232314a66fe6318c300747ba1256fe2 |
Close
Hashes for ast_grep_py-0.20.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff14331a90c28f08345a4dde15ab287e0367ca006275a5983d886bfe68d178cc |
|
MD5 | b085cbf37b1029a06f4241ffcffacf56 |
|
BLAKE2b-256 | 1e0474a4a354788527015d2bad1b91b337f7387222bafc8ae6e438505a40e584 |
Close
Hashes for ast_grep_py-0.20.4-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b107945745c19799b4baf1501e4f4eeda3d7e3dc3c9ae9f7192fa1f0884370fd |
|
MD5 | 5139d1e51a69c60ffa50664b9ab39766 |
|
BLAKE2b-256 | 6f614f6814f3fc41d18e2e654b3e1eb4e1294f454386dfb1e7e19a4912d210a5 |
Close
Hashes for ast_grep_py-0.20.4-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3c643c5d9678c5daced13f6fedb78ecc6def74206b5391e544f89a65fbc3d73 |
|
MD5 | df4d165d08685e6fedeb6ff44f806222 |
|
BLAKE2b-256 | 07f6ba5e856ae6265559cb2edb008f64ef3fa946a2a64b0c765104f4e1160a94 |
Close
Hashes for ast_grep_py-0.20.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f34b6aed30e1128974c4fdc55c05cc0c83104cc830ef7093f11016db10614f61 |
|
MD5 | 679f411dfc4f85c081c0771d0d88602a |
|
BLAKE2b-256 | 2da539781df2935834c0ed6c19098b25d122b5750583eedf0ce6ee915451c2c6 |
Close
Hashes for ast_grep_py-0.20.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f45ed172e49a89756cad5936f75a562eb0a212bf0985d579f1f2475310bb68f7 |
|
MD5 | 47ff8f6b147208b6f316b7b6a59692bd |
|
BLAKE2b-256 | 08c045696adfc75d14929437f61ef815696832d9b7e96f85d3336363f7af7c63 |
Close
Hashes for ast_grep_py-0.20.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c30a0c0f02d7824691b51557604de16059fddcc27fd42f2073180833f5f62d8b |
|
MD5 | 0c67967e65bab22ff561c86745bf5645 |
|
BLAKE2b-256 | 7a790167afd3fbf57d4eedfbff0530fd08a03077109a52f61089defd643e587b |
Close
Hashes for ast_grep_py-0.20.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 505e2e45a80e52513e1000b7ce4019aa9b6164d4d7106db0ee565233a780948d |
|
MD5 | f4470e489858f1a676699274f13b9d35 |
|
BLAKE2b-256 | 2e809f7491d0b2f2e499100b92acde6a986ada5c0272126d35e2ca6aa7b664e5 |
Close
Hashes for ast_grep_py-0.20.4-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70cdf5568a81fae64b6dc7133fef055138f7bc05069945e67be158e65a8aed40 |
|
MD5 | 52899029b893d804ffec3cdc70f2a56b |
|
BLAKE2b-256 | 6420dd6fb38d9ac9d0a43e6baacc1fc89ed8f9e80e38b0b5b09e3d7ace340eaf |
Close
Hashes for ast_grep_py-0.20.4-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d472c3dad80f2f64385a8480f9c45ef395cc2cc39d43ed62ffe2a2a05544f50 |
|
MD5 | a16422eb5f762d6fc0ce8a7adefacc8a |
|
BLAKE2b-256 | 21efb78b4a3befa17b39d271cbe0f795e9796bafc5320dadf7aae2c3e0c9dbe2 |
Close
Hashes for ast_grep_py-0.20.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a1dddcd0c50df01bcaed381a2e4b1b0358bec615f3f40637855860599c480f5 |
|
MD5 | 4e9fa066a6e58911992e0c257d431479 |
|
BLAKE2b-256 | 99ab52fde8d87d108caff7113b3c987e66ec281b2982a04e9fa5ae5a9133a7c0 |
Close
Hashes for ast_grep_py-0.20.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef2dc952541c6586b5debae6e09c641dfe653b5fa2068d21651119b28a350724 |
|
MD5 | 351cf7156ebbd0c25c3818eeaddd153a |
|
BLAKE2b-256 | 51d3c3314c73308cb1676c2a6e8fc3cce8742ad4636af91fb4af8dff35c3823e |
Close
Hashes for ast_grep_py-0.20.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af169d5022f89060013b68f5587564dc86641c79988d276c6ae674da8f8c9fbd |
|
MD5 | 48b9e72693439698fad29edfb5276632 |
|
BLAKE2b-256 | 50d435f9e130a69a0fd1054e55e45c009262693bc0853d14e6340edbb7dc6608 |
Close
Hashes for ast_grep_py-0.20.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 769504c284ad20ab87fe2f03dd89ac093667c8f1d6f149b28ecc27278816b725 |
|
MD5 | acd6e88556d2b01a753c1e51f654c6d5 |
|
BLAKE2b-256 | 778e80bc82965bf1c07f63b3cc53b31e5e2e1db473b9ad9b05963f2617e10a4b |
Close
Hashes for ast_grep_py-0.20.4-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87cc605b5b1bca03326b4d196c7be73880554c773829a0e04958ff679411ce9a |
|
MD5 | f04fb8c95e6fbf2d0b6a455dd577aeeb |
|
BLAKE2b-256 | 61bf4fb4b6c176f3f4dcf5017b7942cd5666e5633951c035b2fcf0a5ca28b0b1 |
Close
Hashes for ast_grep_py-0.20.4-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13442ab94906e649234ae6c63b6cfc8a116fdd24dde2968e700da06509b95b09 |
|
MD5 | 3aeba3415d926a820438cf0548b1b242 |
|
BLAKE2b-256 | 33bd17b5e2d947de8f7dd4e7612c2166b951232ae04cd3f7f4fe97885691cf3b |
Close
Hashes for ast_grep_py-0.20.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5da99919b027b78e14dbb7c1d9f503f5828d9911e2b099629eaaffa60ebba78d |
|
MD5 | 28dfb4c244d21f32ac8ce2d3ea0ef557 |
|
BLAKE2b-256 | 6087bd7cb65569e4a3f812dae0a043f7c7bf2cc276154970e8bc7d9d9b81f090 |
Close
Hashes for ast_grep_py-0.20.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a21329b9a937ab634533c0da8742a26bdd54f70879c48039aff2c62b87234b58 |
|
MD5 | 9e440739494694271dd4bccc07c3b679 |
|
BLAKE2b-256 | abb532584ceadb361fc05c602d08b4155f80c0e19850a68740c21fddfb1a2bf8 |
Close
Hashes for ast_grep_py-0.20.4-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e599b290e6a12de7b55da686d1b167250ce050b211699a605d97a97056d09875 |
|
MD5 | 855f4b74bb3b754e2188ef16d14b94f3 |
|
BLAKE2b-256 | 31512c8108e421a7a2e787b07bdd1729940c962e9167a99652fdce547b40b9dc |
Close
Hashes for ast_grep_py-0.20.4-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f5f867f5b169f58437da87d8d69b90bad97e33a38ca4bf8cf9c9caca77f903b |
|
MD5 | d108385a60bdf354682d2f50538f03ed |
|
BLAKE2b-256 | b11b66486051a216d7d61619af847988cfe7f6ae837f4475a3ef5e66ece855cd |
Close
Hashes for ast_grep_py-0.20.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9caa42afbe99192275b70c81b7e8a62815f741c3d9d909550155ec66120f0fd4 |
|
MD5 | ebb33297f6aaa677f34a599a77b897d1 |
|
BLAKE2b-256 | 22ee9a455d3e79e3bfd9b85e5756824410a912df03e7964ccf4170394c6146de |
Close
Hashes for ast_grep_py-0.20.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35268642b32f193d56c618b2104d6bd091a6b65c9e0944a3dc6b3f26d699dd26 |
|
MD5 | 2f8a6eb593f5e43edbee48b70bfb37e0 |
|
BLAKE2b-256 | e16cbe3137ecbfa4de7e43351884065bb1802cbfe5cb94a1b6e34c814fb1c64c |
Close
Hashes for ast_grep_py-0.20.4-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5d6088a8ac113853421888fa20344fe2dba3155b3f28077415e753347137d7e |
|
MD5 | d5ff27d66bffc6a3488833b43a32d369 |
|
BLAKE2b-256 | 0a43cde72d06301b5cc33fad07cff01c10f3d2334349ebec2172dbe2a609c0f0 |
Close
Hashes for ast_grep_py-0.20.4-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ddf6c2b710a58301fa68df9f16214aa612054aa5886832bc6d377d31ed5cb4f9 |
|
MD5 | 1e715689e6272f8a24802771b73addd0 |
|
BLAKE2b-256 | 87a97cf1a63e3d9e5dee2d44b333c811f79da15bc6a7d27676ad95fa3bf5d557 |
Close
Hashes for ast_grep_py-0.20.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05bbb1a85f56d41db821c5f5314151ef3314008b87955047163edbd75d0e308d |
|
MD5 | 02e43e226a515f829df93c2cfc395ce0 |
|
BLAKE2b-256 | 7cb8e22f04260758a5e95fff91494d6ec7cf61844db21261dc065bc46a446407 |
Close
Hashes for ast_grep_py-0.20.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb728efbc5237d41d4ad88d923c8012338f810dad035f948ef8509c29085cffa |
|
MD5 | 5b458565573edf6caa847bb795ce3da9 |
|
BLAKE2b-256 | 31a228ac7315d54ac18b1c99654c9f396408aa6d55b1c9c39eed4904bba28f5b |
Close
Hashes for ast_grep_py-0.20.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aab4db18cc0f45e2f1450aae3fa8ba0e046df73ed410024e13969579f080f67b |
|
MD5 | 84869244399365dc5817bbb7ee396e8b |
|
BLAKE2b-256 | 07fb6c45ed9081cf2b6b6f4698bf8ef2cd0f2c37a27dc4514e56b520212ba1be |
Close
Hashes for ast_grep_py-0.20.4-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c94076aedb18cb05c651154a5a8edd4ba72066374dff54b8977650814d735bc |
|
MD5 | 22707af5dbb77576a6b39ebb5ddd093c |
|
BLAKE2b-256 | 35fdedefecfc22072825f11b97c0245e87b8b9fcd2867a4d7d2b2f65cca2a737 |