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.0.tar.gz
(93.1 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.15.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d721f5e8c0041e4de9e708f75793a1371874b884cba4f4df039f51eb81b55525 |
|
MD5 | 023fb60a701f5340fe5ca3f6f67a4fbe |
|
BLAKE2b-256 | b85ff6d91d8c19264a807f43abbf7c66a149c46dbaf1e2186f1776402c030a22 |
Close
Hashes for ast_grep_py-0.15.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a956e849d58c136d6a7564485ed9e7a2f0edf56310757307280e2e68867b464 |
|
MD5 | 0ab22b80fe0d43f49195816d5657518b |
|
BLAKE2b-256 | e6fd227005556627e900ef53a5ddbc669c941a6681835dc308535747db850ef6 |
Close
Hashes for ast_grep_py-0.15.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fab0fc0e267a2160b966385d1cd7f0446e4b0c68db350ac210824c6b66fd956b |
|
MD5 | 3695d14a0023fb95fd19a0dc0ebb8a65 |
|
BLAKE2b-256 | c69592bdeb2ca16bed254b4c4dbb12667be11895702d5d585f77918ab174d434 |
Close
Hashes for ast_grep_py-0.15.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbf6a0a6ad304578b385534e88b38253d1035f6af1ecd59fae7af27d12ffa12b |
|
MD5 | 4dd0321e01c082eec62923e29fcb741a |
|
BLAKE2b-256 | aa91296869d3cfb94e30fb75208bff180d0a460558351565311988397fbfecaa |
Close
Hashes for ast_grep_py-0.15.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75cd011f8f07329387198c03394d42a44ecf39da2ba140765b73d95b11687cac |
|
MD5 | 595e9a3eb76a32353650877e4bf44654 |
|
BLAKE2b-256 | 1d797dc4205c126916d93843f9e49bd9c0e1355121dc40352f502678b319ba71 |
Close
Hashes for ast_grep_py-0.15.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8adc4352d0bc3b7b120fdab3cf62a47923b743b762d9788831404a8d713fa82 |
|
MD5 | 83447fbfc6da66be282a96c118c6942c |
|
BLAKE2b-256 | 5556feca26ce66731871390106990406f79ef630a3e886faaadf5093ed0c1d7f |
Close
Hashes for ast_grep_py-0.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a480c5ca52db4d98ce23f393d8995d54d2165e5cdaadd916cbff15391f2a736 |
|
MD5 | a875f7f4e833d25aeef96e2464ec79b9 |
|
BLAKE2b-256 | 6a8770859970ed1c1d8d6621eb58f9632cb7eb6a77472701c65f1c3e86ae7667 |
Close
Hashes for ast_grep_py-0.15.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6adc70b8161ba2db7d11042935d535679addeb4f4e059b8001ad3963ad5903ba |
|
MD5 | 1992351ff59c758558f7204e5eb61bfe |
|
BLAKE2b-256 | e987ee895aaf6bfff1ec612603f9cea7cee38c93dc3a7537524519ed5c97974f |
Close
Hashes for ast_grep_py-0.15.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e3fd3077c3462816cecd53cf939c773a826a48d6ef351f9f1c80d89ca53b506 |
|
MD5 | 657896de7060a163a1617bed5472d48e |
|
BLAKE2b-256 | 43326dff44602387350ae33262966e5ba88df8a09e176f92ea639f7d22c46e53 |
Close
Hashes for ast_grep_py-0.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10df3c133c86b43cddb404802589adf3d980a9b0a7c0cb9f8ed76aa0fe5f1d6a |
|
MD5 | 62c1e4b2b07be54e1a2a47548c6ec9eb |
|
BLAKE2b-256 | 53bba82ed4e512a9febf466f7549fb6cef1137b3ddb44d208195cbd4f50e3c99 |
Close
Hashes for ast_grep_py-0.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bb8b96bbb96759ca845779c8e72b787c3c4926c44ee2d666244cba638547ae6 |
|
MD5 | 9954ee909643e577399ffa3617ad640a |
|
BLAKE2b-256 | 18808c8dba1f1600a98d254802d201bcd70699436315f4cf6d11dc27448ac59f |
Close
Hashes for ast_grep_py-0.15.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84fe3448d86e1e3cbe453065a417a655156102b30fb3618e6692e8ff0dfaffbe |
|
MD5 | e7556d216f63f8cedf4979baea09abda |
|
BLAKE2b-256 | 441799285ec31ffead0a7004352f28b1a5ca08bf0ea3440b331ad44d482473e6 |
Close
Hashes for ast_grep_py-0.15.0-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5693b6dd2542f868a9efb031bb528804db34789bece066a22de69c60c943b64 |
|
MD5 | 7adfeb3e35df0614b4e532bb8feb5add |
|
BLAKE2b-256 | 87f0baa2306a370c65ed59e579cf5f6d9a2caf382258c1ab23aa5679b3cef1aa |
Close
Hashes for ast_grep_py-0.15.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4f73d57efdc1306570206a5960c700c2c62e10728a7356f7c33205589c7a8b4 |
|
MD5 | 4f565ad594eef674f87a4c3674193ab2 |
|
BLAKE2b-256 | f55246f89115d818c056f393222336788cd6cbcc52628242eef114d8492491c2 |
Close
Hashes for ast_grep_py-0.15.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2511f5c5b7970879867c2ba6d7c5e1e9ebed4f5e1e415d29a183f7da6c43629e |
|
MD5 | ebc5198afc97b3d56b3b5c5e175cd028 |
|
BLAKE2b-256 | d48e437cace2fba3604c82231bbe07ec8d9eb686375013cdf18fc800a7dcbdf9 |
Close
Hashes for ast_grep_py-0.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7db1ea58d638a967b197eb6577a4220eb6cd3e71bdac87ae1a7f4ed2e34f8ed |
|
MD5 | 6ac724d633f53be45a4294a0c9ba8611 |
|
BLAKE2b-256 | 0cf2a5918c4a663e8177bd7e6c6ab4d93e2ff8fee5b913330255fcce28985af4 |
Close
Hashes for ast_grep_py-0.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4962aebac18cef10b8ad4cd54cad4163d22d20ab21ea5f3424150deb55c302e |
|
MD5 | 98af2ab2d825996cd8a6873c1e821987 |
|
BLAKE2b-256 | a54103bf86dacd8013884dd0c8d040b8e7e5fbf66b3c0c4ca1b55dd290ebadb5 |
Close
Hashes for ast_grep_py-0.15.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f89ba45fa8eb03ce12e46ea465c7a5bd48728a51d137bb1cfcf0567df4fdc0f0 |
|
MD5 | dca9d031896fcfbb3cb91ef6833d9b35 |
|
BLAKE2b-256 | 5a1d181312e5380641df2401ba44d0436b3ee751f1f38a24fe490db6dd9056c4 |
Close
Hashes for ast_grep_py-0.15.0-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 369588fa85860bc6a75d04c61f8504233f168e17671f7e352b87e6263cbcceea |
|
MD5 | 7ae243705f8adbe762ea5357b45d6305 |
|
BLAKE2b-256 | 74f6c0a7fda63d2ccf7fe28edade6b0fb103ce803bea1e48626cc6c269932c79 |
Close
Hashes for ast_grep_py-0.15.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c2a6e96beeb5d913ba2bd13952dd603e671c7e800554252d9fb8a727ae4626c |
|
MD5 | f4cf1c0e95be518b4b79a8f4b9945f4b |
|
BLAKE2b-256 | eb805de81504995150e5cf89d2ca6abc001fae40265c0cea56f78f3e03256c41 |
Close
Hashes for ast_grep_py-0.15.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d7fed43936a3d373dd17122daea21a2476e65b49a0357ad14fb1e708a185907 |
|
MD5 | 5ea67637988f891e91698014c5ad41d5 |
|
BLAKE2b-256 | 8b4a4b1f7f4396631d1d43b5184ceff5287934fea1e0cc25931d7a112bdff6c0 |
Close
Hashes for ast_grep_py-0.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bef5b7635327d843f5d636f97eaa12fd1a3e524cbe923bc62f47d03382481827 |
|
MD5 | 7918003dcbd8c32a13d27fc835b427b5 |
|
BLAKE2b-256 | 06a722a7b2d28a64c7b3c2dc89584f5471d89d50cfd001697e6e5611ffbff934 |
Close
Hashes for ast_grep_py-0.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 182c9333046559150cebe2ea66614b5cfffd1820ee51867999189b6869168445 |
|
MD5 | 0d48440711fde1c8f118cd29837c98d5 |
|
BLAKE2b-256 | 4137db3ceda7fd43d989bcbcfff6dce44ec2ac989b08c0bd9796cd3b402ca710 |
Close
Hashes for ast_grep_py-0.15.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2baa170930a89c113a08cb7cef3de4c1b5bea8e1bfd0e4153354cb7d0f961792 |
|
MD5 | 678b794a522c422fd3fd12ee03e264de |
|
BLAKE2b-256 | 54bd2259f0ba96466aaa49e65f965780bbf078468b96ee1440c6e53a968ffa4d |
Close
Hashes for ast_grep_py-0.15.0-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c082b280f5e2b6b4cbdacf38d8b89354e61f9062dc5f057779919136f1c4b3ca |
|
MD5 | e8fb1353becac76f3a7ab5776d196d3a |
|
BLAKE2b-256 | 877af54e08248cb2c4e500150b170ee55646265aebfe3875566ac3232f7997c3 |
Close
Hashes for ast_grep_py-0.15.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8973ff6f9f7b2cab8d9ff1b9b9720d08204a9368c3a113b57894f8f3b7e57959 |
|
MD5 | 82ab20c3fd2608095c276449ea7868d6 |
|
BLAKE2b-256 | 92c78d541accd13f4542c3db22b874941c425b60525e33991d20fb0977a6d631 |
Close
Hashes for ast_grep_py-0.15.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7686e0ca6ab4553d130450dc3a193cc3b122ec0915877b91b1baf492249a6f48 |
|
MD5 | d12833b4c57b37481c77188c720bb527 |
|
BLAKE2b-256 | f44696b2c9bbe98acc8756ee057efcaa94d56935ce38bc0300f763e4182830bc |
Close
Hashes for ast_grep_py-0.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05c63d03869e1f4e294cd048d6d3448b8871e878839cd9a49bc3e56b6c456b27 |
|
MD5 | 32950ce35954413173fc44b65eca7916 |
|
BLAKE2b-256 | b75cd6c2dca3ce6adc812398f4ff5ebfb2646e782506add4d6fee3c132c1ba30 |
Close
Hashes for ast_grep_py-0.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b44b31c34e9d51fe78259028993a18f09ab3db2f408b3ad4e74e2fe5d505f7e |
|
MD5 | fc67a4470086bbd40dc739b15fa0990e |
|
BLAKE2b-256 | 0decb4839a7fcc91f5b072ceea29484cd42cd2ef5172be3b6719327d7b355a19 |
Close
Hashes for ast_grep_py-0.15.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d163699200c0504ef1653f6408078dda1304742d8b6e0529a0b0085cebe9a43 |
|
MD5 | c0fad21f9dae28795009ab9de64cf535 |
|
BLAKE2b-256 | ac17b8494a45523e95f71c8bad21ab45bda2a5dfc38928ae812411aaa12a6d3f |
Close
Hashes for ast_grep_py-0.15.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a6eea9ab5475c47702ffdbba2d4795f5663dd904df4f6ff4d623b7d9e20c1e7 |
|
MD5 | 481007775a9f388bcc6697ec99a0bcf6 |
|
BLAKE2b-256 | a3aa9df5af4012fd28db66b60903c96dcc8daac56a486b5ec4025ffa1fb6b3c8 |
Close
Hashes for ast_grep_py-0.15.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 508cdb1a256c3af247a04c4ce182a2d23223e67ed87abc94c9e75f76f8cce715 |
|
MD5 | 9f147a77f532743e99f944467efe1bf2 |
|
BLAKE2b-256 | 3ebbbf351b769134acc1ed1e5edb842b5190deb922a7d819a3572cc737274b47 |
Close
Hashes for ast_grep_py-0.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b703abfa38e2e25c6830a4197c85d1e2a4e537c1fe6807dbea7c895856d42ef6 |
|
MD5 | 6b38838c439066b46714e2f08405ce09 |
|
BLAKE2b-256 | 6a5d2dc64489a5b420c62607c9e08ed4b1bda22d016c8b9e8498db1ed3e268d0 |
Close
Hashes for ast_grep_py-0.15.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5e1b5fbffa28908945e0069c08009496ef745ee7e430c60c81eb931f5d2141a |
|
MD5 | 362e043fbf99525ad569fc4eb4c66ac5 |
|
BLAKE2b-256 | 82f4d71b318f35c71a8e112f2227d53164f766d28f25e210695d98fb2ffe79fa |
Close
Hashes for ast_grep_py-0.15.0-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e878121777131ec3fd05ed172afe0bcaab45d2e4043cec3e206c095a5234c93a |
|
MD5 | 2441bd43eb0ae9b81b2ecc087f28fcb6 |
|
BLAKE2b-256 | fc20b0d3315d33e035c11ef31133109c47b904f7e39db7a1ff66e05de11b7a70 |