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.14.4.tar.gz
(92.7 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.14.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3ab34f57150a4b6fc26928d9cbe481aa20830d8750aecf57cf4dd6a5f1128e8 |
|
MD5 | 0e0cac6939069f32a06566fa64ef7963 |
|
BLAKE2b-256 | 9d6ead87ed4de9fe3f6db592dc3d8c72b1839576b6e699b7a1faa65045715a23 |
Close
Hashes for ast_grep_py-0.14.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4178e4e580b9c9a73b24ecd40db18c5dc19b90806c673c9d024cabac97e67a3 |
|
MD5 | ba81943dce339ded8b290ee82c3835dd |
|
BLAKE2b-256 | 4a2d50bb7563dee6e9d67677935b2a7d3e820f92f734e751b89cdeae5a46186f |
Close
Hashes for ast_grep_py-0.14.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd7e2f5fc9ec5a621fbd755fcef86df456984fbc8a2a8ecf28cfc16383d28046 |
|
MD5 | a85c244ae6c926c747bf3be94a4d387d |
|
BLAKE2b-256 | 0562baa83ce878c6d27489623bfe9aeb19fa1cd235661966fbcb6e4c6c1a88f4 |
Close
Hashes for ast_grep_py-0.14.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e62118437c62d837d998351e9701502fc62214fd1cd132d88f22ae852de3e0a6 |
|
MD5 | 5dd4f815c9b832015ad6b7c0ae48b296 |
|
BLAKE2b-256 | 1cd4741609d8291be20f0957e3237204a9160a6457f4f017f7a177d54e842a3f |
Close
Hashes for ast_grep_py-0.14.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e51f30c9ca31fad2c866bd9e1a38a53e27852c411116c5bbdb2504f1f3784bae |
|
MD5 | 252542dd9180ef78a2ccf58a3d92844c |
|
BLAKE2b-256 | 6e058aa1b19239c3cff0a3217118c8ddf35c289d70c30277243350129b6beee9 |
Close
Hashes for ast_grep_py-0.14.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9220ad6e41547ff3340890c9e1d45c4bda28051d7315e0613500eae2cd1b625 |
|
MD5 | b060ef975beb3d88ab81f6bd4afd8eb2 |
|
BLAKE2b-256 | 88ab32cc0d378b2b2ce229cd8f79cf4cf8fbe65177c284e5333c17fc542862e3 |
Close
Hashes for ast_grep_py-0.14.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24c9f952a498e8c62a3f3d42ff63ca69df4f4c0d95441effb3b9a22e8cd61e7c |
|
MD5 | 95e686f9f7d57736e8ab4e82ac15b8ce |
|
BLAKE2b-256 | 99d3c746d80436e1bfc6b59949a00aebbd8b135dd40523e7dfb3bfc2c398b311 |
Close
Hashes for ast_grep_py-0.14.4-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e7bd781cd25c85b5116ed65333293208a6a624a87c3f354f13d64ac1df10a59 |
|
MD5 | 2af03075e1a64a3f97185cc73da83d35 |
|
BLAKE2b-256 | 60106fb3165141071839b2392afe802b036dcaeefaa45ed9cf63f33fff540d70 |
Close
Hashes for ast_grep_py-0.14.4-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8110c849e2332223f27f249a943724546a73fba93ce5bf4ff6d70921ffb39bb8 |
|
MD5 | d38eda1092d1ecc5bafe6508a5ccc49d |
|
BLAKE2b-256 | 03efebf073ef0cd4289800be0aec64004eabce2795bff1cc2bedee537075a8f8 |
Close
Hashes for ast_grep_py-0.14.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2ff2af7dcc2eb114cf133510f9f29a16b71b84ae425358e59b6a0065a353056 |
|
MD5 | ec40bbf589d155470bca3e40025ed412 |
|
BLAKE2b-256 | efd1a07cc79d578d839b37e256967e9153e168fbf0d056c4b069cea8bef1f6dd |
Close
Hashes for ast_grep_py-0.14.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74df3c1056bfe4c7ee82527b7c424da93bb4891d34efdf3b3f4d8999cd1acb6a |
|
MD5 | 6c70a86b63917beb642e7b5d9b0aa79b |
|
BLAKE2b-256 | c9c7d60ab053969f2a70570176c50a200465b908740c070ac216c04f094f16ac |
Close
Hashes for ast_grep_py-0.14.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97c0d347a8d63f613b355a73d7657d6f1b2834a70de5b795a51caae451a345ed |
|
MD5 | 71dd174e009b31b5da5bd97634de1111 |
|
BLAKE2b-256 | dcb746273805080871c04596cc732e0d580f15cfb5815439fd11b534c56c11a5 |
Close
Hashes for ast_grep_py-0.14.4-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 056a4cbde7f11834b1a231310f1c5cceddbcd6508e89be1f2d5e440ccb9c5952 |
|
MD5 | 7b39476a8c583610e660ae880b71691a |
|
BLAKE2b-256 | fca738dcde7011faac3f224e9703f3ffcd42f8aee819170a84d192cb82799bb7 |
Close
Hashes for ast_grep_py-0.14.4-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f60cd47388843c946d93d4a47c721c5fb5fdd27a041523157bde84af0d7cf1a |
|
MD5 | 62aa29e7c29bb4ed3d59a8e3f1494a36 |
|
BLAKE2b-256 | 532185d4a9a9938a966da8a30914af8b720dbfeafb4a0e4e5fe3d1f88760f2c9 |
Close
Hashes for ast_grep_py-0.14.4-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8a5b411c90e342791c75ab2405d8a8958eab45fd7f1577e61b6ac0a5a25f080 |
|
MD5 | db3dd3aa24188cfbfaff3f89cf543827 |
|
BLAKE2b-256 | af2267b41ab0d04de9c46409e70f3756f0508a4663213338f10bba3a6657561f |
Close
Hashes for ast_grep_py-0.14.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ae654535665a545de5059f88e942cc16c2f3a7185861590c655691b19aff87a |
|
MD5 | 3111e69cf8d7d858143c79073e34f42d |
|
BLAKE2b-256 | 46f37277b00ba97500433192f55708dc9caf8910789904043a81901f259c71be |
Close
Hashes for ast_grep_py-0.14.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aa271726bdafebe2961350bcebea0fe7dec5ebadf3cf89349e0c4faa88de9f7 |
|
MD5 | e21cc9917e3283c5275856f569522ab5 |
|
BLAKE2b-256 | b909feeeb36056cac36fccde1133a7244d24928f87acbe8ab26582a22c0ed946 |
Close
Hashes for ast_grep_py-0.14.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7db48694fc0ccef55b4db599afb03e36c0da6ad834a4082fc7959e9190399522 |
|
MD5 | 4196f482f5926a7c7bad7d7dae7ca889 |
|
BLAKE2b-256 | d847b1a3be8f0e91e28f9699b4abebccc925b636a50ee1181adb5f101e4e2b42 |
Close
Hashes for ast_grep_py-0.14.4-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e9745c981c0d0ab707f312678ad128bd7d798c1bc9e5e3dec30fe0c7a4bb7ce |
|
MD5 | f4d8ad9fbd23a47e8e83258a04b7f9f7 |
|
BLAKE2b-256 | 20dafad83afca938db7199cfd5b0e4435c21cbbb7afedc7a26f5513972adff6c |
Close
Hashes for ast_grep_py-0.14.4-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 630d4797a4334f3437d2592e1df349fec829aad1d9e85320f4486fb8a94dbf68 |
|
MD5 | 4755ade9fc4caef08226579ae138cdcd |
|
BLAKE2b-256 | 4cf53a6bd8d5eb821df8e058a6cf31dee80f3c593fb32588cb5ccfc5bf5f9468 |
Close
Hashes for ast_grep_py-0.14.4-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e622b360ec2e7f963bba5f1727ee81ad102e7ddb8adaa4f5b224220c95033e8 |
|
MD5 | ef3c559d4bdcb7949bb11507e505b3bc |
|
BLAKE2b-256 | dbe515b3c9d1835f6fdd036c9f548dd42a982cf8b76ad0c86c54ae626de32af1 |
Close
Hashes for ast_grep_py-0.14.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 958465f187e1abb28df5fad181e326182554ad07d626eb84893f7836a800d243 |
|
MD5 | 64e43bb597216665d3f273536afdfc17 |
|
BLAKE2b-256 | 78c940da265b7ac7c7e18b3e17f662cdde54d5b307e2e4ef91860a6d3e89eff7 |
Close
Hashes for ast_grep_py-0.14.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 274ec65921b43ab18df89661069ce2a5190f0659798727700c6f39cd03d0ae27 |
|
MD5 | db8fa6e1830357afdb5c03623baa0ac8 |
|
BLAKE2b-256 | ba40c1ec42318a967cf00bd83990ff7dbc935f50fcd09cc1184d5e160e882569 |
Close
Hashes for ast_grep_py-0.14.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01f3d8ca69e94b9fc050286b0f73ffd484c98b8bd362bdcf81df5a1d829c0b90 |
|
MD5 | 56d065beb1200a7a559cc6c60aed7c09 |
|
BLAKE2b-256 | 1de8f87e470a5595e143e531bdfece78100db3345e4df93f29bc024dcd41fee8 |
Close
Hashes for ast_grep_py-0.14.4-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 114b75596e9bd8a49ed1f527ace7f850d16ebe0174340c8f7ad1f6ad756c8f5f |
|
MD5 | 676abc6bfdc2c39290f78e15a8e2079e |
|
BLAKE2b-256 | a28db0ea1976fc8fdec563e5fd5a61b75f12844dd526a2241b91d46860227e1a |
Close
Hashes for ast_grep_py-0.14.4-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e996dc50c1a6cfca870066be8642a78cd9233822ea4093693de511e98d5e6dbd |
|
MD5 | 64a8925de4d51350958653d3d43860b9 |
|
BLAKE2b-256 | 6d09263907b5758e20e5da26edcf0701c4fb2b2e2468f755c6995866221b87ed |
Close
Hashes for ast_grep_py-0.14.4-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b4fef8b19ec11eb1d4a8c078a862e951a5cb2ec16373ab5484b36dac4331128 |
|
MD5 | fcc819045678fbc70332567525966238 |
|
BLAKE2b-256 | 82b236ae0e94de870b1a1a5f476bfbbfa1b3e0dbfed5e3a0738df657d7e1141a |
Close
Hashes for ast_grep_py-0.14.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8480931fa835c149df2eac49bf85d3dc2180c209a2226d92c492e772f70309b4 |
|
MD5 | 6e41d931b554ec289e573fd78aba20e2 |
|
BLAKE2b-256 | fafcebbc132bd90daec3bb9a2b25f77846d91fc8b81dd487edfc5872218499c1 |
Close
Hashes for ast_grep_py-0.14.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff93a358eb798bf59c293d4fc44df00e5b59e503fb275800f76839cfd6a97c66 |
|
MD5 | 121065fde89b6110982f0e3f871c115e |
|
BLAKE2b-256 | 80ed2f3bfe93336bc62545546b67387490876796d0081ad1b1cbc594b9acf424 |
Close
Hashes for ast_grep_py-0.14.4-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6c268e4a8ea820088417f1e5695be29e01386dc54b75facca23269b45ee036f |
|
MD5 | 33f37d7f76316d10366a14ed56cfe85f |
|
BLAKE2b-256 | fa5197007c5bd04f6da65f44341d4e2847d8dbbe88768abcc3d4872596efc1e7 |
Close
Hashes for ast_grep_py-0.14.4-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc091c7614a27be17cb5852d2cc59c4c7e5d6f81f6a98a0fbfb0a0efd66a0144 |
|
MD5 | 64f269a726cc7f278fcc5a070d004656 |
|
BLAKE2b-256 | 95ecbc29feb805428ddb4c27555d69d6cd95a4fd17d4605d3e824beecec1ea2f |
Close
Hashes for ast_grep_py-0.14.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aaebc487f0f63898d25dc6d86a46a2894399d4df56f334e95268ece49775a257 |
|
MD5 | 9a2bb7c426d093c1382a95a6ddfb632f |
|
BLAKE2b-256 | a28add1d6b27b66495d8745afa5220a7797fbb9b64e880b719e10dc0376a770f |
Close
Hashes for ast_grep_py-0.14.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a9cdaf8695e033c6d2fb961a1c7033165935faef33a3136b6623bfb6e2fef2e |
|
MD5 | 1c36e4281e3a9451c4e7e701467cf547 |
|
BLAKE2b-256 | 25b456cd3759fc800bb5e647621d0754895df35fe0faf08ddc25a47ceb5afbb2 |
Close
Hashes for ast_grep_py-0.14.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c2cffaa7b5b94ad5a9fffb16798a08d5ecda550644f156cc1db83ea40ec09a0 |
|
MD5 | f09b7651c5fbbf96fdeea239dbfc8bc6 |
|
BLAKE2b-256 | 347338f126b04093febe95ccc52b1a4820870fcda8e9820a6a54539bdba888d0 |
Close
Hashes for ast_grep_py-0.14.4-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9c51e173b6e3310f62d67cf3d6c80c343c96477faebb8fa585f4b0d132cf533 |
|
MD5 | 6268712f63b848ba69935f6c6d3ede8e |
|
BLAKE2b-256 | e59fddc0a13229826b27202d195ee43ddf2bb23d007c7bf057fc8c0532de5726 |