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.1.tar.gz
(97.3 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.19.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 252fa66d4e5f3450aeea79f1e7a84d6fbde342233ed576d03cb76eb9a531618f |
|
MD5 | efd59a14e9f44ee1768ff2dc4cb5ae31 |
|
BLAKE2b-256 | 36757ace0ce88dd0f1c784aedbe651ab09b44c682e36bcd7f6f67c3bfe59a8a8 |
Close
Hashes for ast_grep_py-0.19.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0a930abe590d62123109dfd74834483386c273cec1a14892b4b53935f2a2398 |
|
MD5 | 1d74dee74c29bf31f3c4dab096ebb041 |
|
BLAKE2b-256 | a4dd70997e4efdb951bb347d2ef0492ecbe0282452fadd5e717fc76918f4692c |
Close
Hashes for ast_grep_py-0.19.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 920f35d5e15fb6d5887b1fadcb045b38a1f4a9bf89a34f9925430ad5a53f1d0b |
|
MD5 | 690fe82d2daf09ddcdc6c11761ede61d |
|
BLAKE2b-256 | 8cb3691b3e983662032237bb75b1f317724e512fd6a5bfced04ecce93dec3468 |
Close
Hashes for ast_grep_py-0.19.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51704f559634ce34f883b001a38ce3c19f3b317a483cdb943159f9766f6821f9 |
|
MD5 | 83aae2136415431c5399eb682fc8d4b2 |
|
BLAKE2b-256 | af70e91c62a9733cb9e7f6697069a3bcdbe6ed935bf47100aa44ae6966a61de3 |
Close
Hashes for ast_grep_py-0.19.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89a3b9872a5bc3fd27dae782500127a1bd2e9e4a1b22167f4cccd79f596e3d06 |
|
MD5 | 4ace03e9f598daf77c880869957d2a0c |
|
BLAKE2b-256 | 1e16c18daa0ec7df1339d3e93088b2d26c5641d1514023c8defa75e9c6e0dc48 |
Close
Hashes for ast_grep_py-0.19.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb22e2aaf7b431a4906e0e51cc45c585552501779ae9c8659aac71ffcb1bd4ac |
|
MD5 | dabfa9ba8a28b694cc5500dbf785b1f9 |
|
BLAKE2b-256 | 4e854ef002c4ea46c2740c3480e8ccbfd7e1373f0af5aeb43f6a349070a896d3 |
Close
Hashes for ast_grep_py-0.19.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb2bd0c79ca645457482cc41b20dd77a6caf9c6eb3bf2d7852d14bfe4bef018e |
|
MD5 | 33e653ce2eee31e77d3defd977ee76e5 |
|
BLAKE2b-256 | ae40369354ce9c1e2c498806c7e710b1a192fb459432fabdefc3e2bfeaf8be8c |
Close
Hashes for ast_grep_py-0.19.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b890d4cef9c32af762a645e17920185d982b21254212e88719231f91fa519126 |
|
MD5 | b7dd54eeca8bca6c5cd9fb96255b87f0 |
|
BLAKE2b-256 | d37b409460b1d483894cddf6d6786d1e0393375aad3ae896220b203550d1cb67 |
Close
Hashes for ast_grep_py-0.19.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e639f1a913d518e4df3f2bf014afe2137ee2ca80546442c3856a743266c66f0 |
|
MD5 | 9531b28fb0e9a7490559e506b4fda5a2 |
|
BLAKE2b-256 | 974a9b3aec2f71829f49401459f57d62a73a0989d4a53ed0dcd712de0019fd68 |
Close
Hashes for ast_grep_py-0.19.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ab5ca7397711a0d9db2a0ba0985cd46a75276b7427d9746366e0a3718d16ca6 |
|
MD5 | 53ff3d8ceb1737c6e5a39eee20c04aaf |
|
BLAKE2b-256 | ad25897d337f4532213375e9bd8c5590440561b645d40d1b2e1fa89531fcc05a |
Close
Hashes for ast_grep_py-0.19.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc7a3fc7c5d3dcc51918e477ed274b0062df04bdcfbca7072673fed74750c760 |
|
MD5 | c7d1d0e7ea64501ebe2bf09091f21858 |
|
BLAKE2b-256 | 0136bd705bcfed489910a2ca32c18aa935b74d9b7d5866792e6edc284d1948cf |
Close
Hashes for ast_grep_py-0.19.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05208240f4b16dbdb436c805cd57bdce91a1b9ab095d01d4a38cb0048b28dfb1 |
|
MD5 | f644d90870581dc2d8fa3063448addb0 |
|
BLAKE2b-256 | 8bcb91de1114127bb6b578561b1ed17b330c47f7385fe4d4adcfb1b27eeccbfc |
Close
Hashes for ast_grep_py-0.19.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78e0727e8d96849f86800b4bceee8d1e278c016e21caef3b87295a05b5917dc1 |
|
MD5 | b499dfc81410524800b499d0f4bdb8ec |
|
BLAKE2b-256 | 3811bf5cb5879f69e9eb434991da257404bb9a1febd3dfda7ac57e9072dcc234 |
Close
Hashes for ast_grep_py-0.19.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b84af080a5189b6918649b0877b40c19cda23077458dd0046c44df34afc99ed5 |
|
MD5 | d76012b82d823e48eae847ce8ea7415f |
|
BLAKE2b-256 | 1c5588faf159421b92359c67ef08a6d63a28ca04819e4a25785d0795df931319 |
Close
Hashes for ast_grep_py-0.19.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 184e0810e6df12ed355e9ea16c8cac15bcf580baed074da457d68776c90c08f1 |
|
MD5 | f9a68da5309bebcd6c20e28e593b4786 |
|
BLAKE2b-256 | bb9c287e8dec8068c838cf843cfeae529021aee2aad199c73edbc6a3f017750e |
Close
Hashes for ast_grep_py-0.19.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8baa4e997273286f0f265caa6627fce5f002a2020e892b055f8dc7b13629ee4 |
|
MD5 | a992ce35555c8ef81629ee669391a142 |
|
BLAKE2b-256 | 59f4365b9c2d24238346adec8b963480260848a67aa6577a2024d7d454391857 |
Close
Hashes for ast_grep_py-0.19.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e3641cbfc66bd993d5ff5046e94a36bd08b190f190cd5ef405bdd2ff9a7726e |
|
MD5 | c39cb177da986f2403e61cce74864624 |
|
BLAKE2b-256 | 57f13087cf4e1ad860ea56ae9825fb26671bc66fdef6268d5951874ec4c232d8 |
Close
Hashes for ast_grep_py-0.19.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e10924178824aa674ee8af66205f8f0bc1cc1e9ea645dc72765f1f8693bd2a84 |
|
MD5 | 4292efc8390d911a131b04b27c5fac4c |
|
BLAKE2b-256 | 2420e4c9df952c6e21e0e61813d2f7c68fd7eabfa91516671c6a494cd844aff3 |
Close
Hashes for ast_grep_py-0.19.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 231f9080847879e6e2a0faabd4fb4eb6b100b0914659b8b49b83a5261db3908a |
|
MD5 | 2970fa1b99b62db47c718f09a84c4c94 |
|
BLAKE2b-256 | 0b155b9e8034c987f5b65816b97b4369de76f2f51d3e20004bf107cad4522b0f |
Close
Hashes for ast_grep_py-0.19.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9bd6e83ea6465b92124bd03807e89546016c62bb721421530040fc486681950d |
|
MD5 | f7cade6775525dc5f120ad87e1cf1d50 |
|
BLAKE2b-256 | 65b972e68b535041f1d71b83499a03ab7c5a7761972a9313347b8ac9c2475391 |
Close
Hashes for ast_grep_py-0.19.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07d52ad50f11356ceeb746d8ad150f8dda670f945cc8c82faa6c6f95a6ae4478 |
|
MD5 | 41b1b10f80248161c96d8866f0393414 |
|
BLAKE2b-256 | 82479f01f6ca5f5feba2d572410c2d000bf89c06063fb0b86b86f8370be622ce |
Close
Hashes for ast_grep_py-0.19.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08ae119d66bcc34ae1eabfd833a542d1a6d84bb5b2e70c56b980af275b7f0b8c |
|
MD5 | a3e1715a5475cad53844b42dd3de96bc |
|
BLAKE2b-256 | 61a595cf9315ab342c9c797b6c41b08a8a4cf03f3791477b1b84a91608365491 |
Close
Hashes for ast_grep_py-0.19.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d95b18d1d71f8d28f09aa9a81ff8a2f22b89ce1184a7f78bdb38a9f4deb116a |
|
MD5 | 88d94c04c53c2b1727e242b1dd2d36d6 |
|
BLAKE2b-256 | a3cd6ed2a1b6972bf47707489338419eb70e53adbc69762a1b7d3fb80acbc3d9 |
Close
Hashes for ast_grep_py-0.19.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88e42c03aa12739a512b5d6f2573ded8e2934d6dc2ac4169f638d89c346618af |
|
MD5 | a3445eb913ee686ca25911a9bba01a31 |
|
BLAKE2b-256 | 878225abdf1f690045d3b5399a65ad48c66090f49405be84a7bba26484a21719 |
Close
Hashes for ast_grep_py-0.19.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa9a9ed38ba5825bf45c46d6e7b49e6bb008ad8b064e52dd8b09c569f0cbddcb |
|
MD5 | a50fa309032aa01d9f9db60ec0ff529f |
|
BLAKE2b-256 | b1c8602a6afed19afbad734b16920cbef60c06141953f76673d2e9bbf220c84b |
Close
Hashes for ast_grep_py-0.19.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 995fe159e30319c31e7085e0bd9ad49f9716745930ef501a6ea76ccc0fb41cd0 |
|
MD5 | 937a830ab8ff6114513b0e5c623db125 |
|
BLAKE2b-256 | 8dad8d083355dee99ea32995b12fbde055bcd7b00cc03ffe029dda547121b0a5 |
Close
Hashes for ast_grep_py-0.19.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d72b19dc261268715dfbd65bc188d8d5a5b16f80d87490e0a7642aa3c239c55 |
|
MD5 | 171fbb8bbddc0c5631f9250519d39f79 |
|
BLAKE2b-256 | 2c26068eae721a684e779679d4af982e807244a09d55f273f0156140afb982cf |
Close
Hashes for ast_grep_py-0.19.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44347d9a16a090752c7245a360ae9bb2fe2d24e9646f63f8390aed39844962fd |
|
MD5 | 6befee70bfa13bf2a3d1458b7b01f317 |
|
BLAKE2b-256 | 6a426e7b492d3f1a6c3d38cfa2b2333f15b80d1db94857a829d80294899ceaa7 |
Close
Hashes for ast_grep_py-0.19.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56a0d61b95a31cde26b88a3b216dd69a73761122c81d92e3db4aa840bfd62f10 |
|
MD5 | 6ce84953b36d18b14ca2c5f4e975e55e |
|
BLAKE2b-256 | e6f57b3963c15a3aa74a961efbe9f479e8c478b046b2ef85b830731fbda9cda5 |
Close
Hashes for ast_grep_py-0.19.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c76ccc41559a58224323aa5846f22879c859f37e3d447f42a854acb0797411f5 |
|
MD5 | 93d1671505d75902811f884aa3b2e850 |
|
BLAKE2b-256 | 1055530974a68e3a1881db1adc5ac3fe30b5ad2101130a2a801c02747d0549a1 |
Close
Hashes for ast_grep_py-0.19.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50acf865dddbbe55110b2eaeed989a33342efe45e6a468c2c4e94cd471757e2e |
|
MD5 | 1cc739dbb101000c526bbbd8acfeb679 |
|
BLAKE2b-256 | 66c60ec72bcef5c7718e9f2496dfae4e949bd5a13c4022f8c486484b12fbca29 |
Close
Hashes for ast_grep_py-0.19.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d376a128c1ea3058f22aee1699c4766a07027e476adf495bdff8f0b1f600bb0 |
|
MD5 | dbee16071e391ba1937e9268598ea8df |
|
BLAKE2b-256 | 8dcab32e4eeb095391e4a710a7279ef892856d4afe13555166148de961f8c54a |
Close
Hashes for ast_grep_py-0.19.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9df21692260e4cc449e2b76ac922e81669a6a2fc0e1822b9120a5b921b2266b6 |
|
MD5 | 6a185e2d173cce9fce24d339f78f00e7 |
|
BLAKE2b-256 | 05580c8e29de800914065de9edfbde29fce269ba2c9009c9a346bd2e9ad362af |