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.13.2.tar.gz
(91.8 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f41bbea85ef1e08ceb50cbbda93b83cf9e5e9526b526c8a9bed4faa783bfd88 |
|
MD5 | 57ee94b1053f4a18684f86578b114003 |
|
BLAKE2b-256 | 38d1fb972de209016d1310bfc11ef815a8a81cef3b9a469c435202bf3babfb98 |
Close
Hashes for ast_grep_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e86d62f60f220a18eedb3ab584a13198438236fb7279b4fbf331a03b432c8ff |
|
MD5 | 4126133fcdc163ce0706a8bbfe7bde4b |
|
BLAKE2b-256 | 99c23951dc9ed3b869b37618ae77c61d81bf7cd8f729e3f147d72d6df28ffcd6 |
Close
Hashes for ast_grep_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0184ff819f95efde0411b2457a4b39c5de7e326837b80f4b11b8dccd12f791e3 |
|
MD5 | 1caeddeb6a07ee92a77de9bcd9e4d89d |
|
BLAKE2b-256 | 2f74c015b43dbaa8c3b45d46c069912bc4514cc0cda986899c8f091d88307d94 |
Close
Hashes for ast_grep_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd74077b1cb9668b3007299d98185c0ad648b3ce191fe4529801fe4b1b53bf6a |
|
MD5 | b738924d82e20f1bdad7d195a2d8a58f |
|
BLAKE2b-256 | 681483ca7aff56a14cf8bdcd5298c21514ebb70dfcf0f0cf7c365155a3354faf |
Close
Hashes for ast_grep_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a21a8ed8d7b547583a7e7e01a6b5c4fe7e0e0bd691e3c45597669f42b758aaa |
|
MD5 | 8b4cf202f26741a2297b321391af4077 |
|
BLAKE2b-256 | fa75f7c69ab2ce6677da8192266b67195fc1db2ff9aa1f91c9b8f33694fc2c03 |
Close
Hashes for ast_grep_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04260a0d0e82ba31e540db3b4f019dd4ae517f999fc2ef29dbdad2fa468ff083 |
|
MD5 | 53096c52635f1032022fb0f9d3b540e9 |
|
BLAKE2b-256 | ef670e58cff429fc2a08a7ced21f81489cc1137b2a5ff2f9d3ce5a70b3ee52cd |
Close
Hashes for ast_grep_py-0.13.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 230181f6be28b61d5fd74e9a2934a7e613f68f28a8bb4494192762d9f57ed43d |
|
MD5 | 21e0a0931fe73f631b930322645f8727 |
|
BLAKE2b-256 | 5ff696882f7bb67597d40b5d2d2f77e035515a8951f2135d3deb92704c6b8257 |
Close
Hashes for ast_grep_py-0.13.2-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaa72793e85cdededa9bf8f30f01e6171aa77d7f5162977af58715808714f640 |
|
MD5 | 405e768a2ed25cf09a8e2fa4d01058ef |
|
BLAKE2b-256 | bc740c362c1eb0aae5ad6efc61e1a8dac67d4ed58b9c0e01d656a589af4ba52d |
Close
Hashes for ast_grep_py-0.13.2-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c90d78062b9d499a5f348d9b21b120edbd78bd91d2e82a55bd4df7e122b1e314 |
|
MD5 | ad7177119b995aa2b6988bc27c6350fb |
|
BLAKE2b-256 | 7353b688c58cd0c6de03e2525c8d1bf3550183d528e9dfddfed001fd3abf46c7 |
Close
Hashes for ast_grep_py-0.13.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b7090ffb1c34a66d10a2cc12e69f025f1159aee36f3aa763924477cd9439a90 |
|
MD5 | c6cc3050eac14ba0012ccbd67e9ca5b5 |
|
BLAKE2b-256 | 6fadb344639b42fbaabf8eaa2ba5f9edb3896c13c2f3615ea1c174caea4fc9ce |
Close
Hashes for ast_grep_py-0.13.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 225b100ea2c2b52722f4ab513fd4e946b9dcd4795f409981758aec26ef327bb1 |
|
MD5 | c19611abce6666673ed1743417bd5cc4 |
|
BLAKE2b-256 | 83b2d82dee3c398f43a907c5278f72925eb479f61de94b835f4ae2a20182f2d9 |
Close
Hashes for ast_grep_py-0.13.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d65d7849fcacdcbfe378793e75a4441f8f6a4bbc7840a7d3c6e3f3d8656c2e6 |
|
MD5 | 2c764a65b62120c35cd0175cd9cb947c |
|
BLAKE2b-256 | ec1f29de2a60e3ac5e4a9f6b63e634a63b78303b12ae3877cba65ddf156b74ef |
Close
Hashes for ast_grep_py-0.13.2-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6779923fe96ff5c76380666b4015448b0a7966139ef5ed71a6494ae32a5d5e8 |
|
MD5 | 59eb8186855cc72ad3c018e5ce2f865c |
|
BLAKE2b-256 | cca5fc92b355d8c75d04f383737863ac48c9bce4250a568e190fdba72248cf24 |
Close
Hashes for ast_grep_py-0.13.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f442e41f0ff23a74cb701c5bf8ec9bd86b8aa72aacf6a58934a1588a9bb62fe |
|
MD5 | f046e971e0f0eee5ac906224e6e9bac6 |
|
BLAKE2b-256 | 6deae95ca5e94d5b77aa191ebd4af4b9bede8b00befb62677fcf8a6f63f6dc19 |
Close
Hashes for ast_grep_py-0.13.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a05e7abd251421aa805f17edf4258afc34b16ae7f61b90bbbeddffb713f2ce9 |
|
MD5 | be478161ad534eb4ad9470afabf32205 |
|
BLAKE2b-256 | 4cb9cbd9960017dfe279f2eaf47977ea28aaeff3a9613fdc27d6feb2dd61bbb4 |
Close
Hashes for ast_grep_py-0.13.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce365ac91336c7fb7c2fcd26749ec5ef459db2f8826d5aaf5093138bc6cccb5f |
|
MD5 | fa9c4c9f3645b55f840ee51a5f215bcd |
|
BLAKE2b-256 | 9e0ffcfaf3becd4815091f0c26564e2e166e597be28fd991e7fac8bb18864194 |
Close
Hashes for ast_grep_py-0.13.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46687d9bef03d47e67b627e8dfaf23e8a2e73431f821c48e471dabe47362ee83 |
|
MD5 | 3ee8bbd9cf75b00388fabad4ed798ece |
|
BLAKE2b-256 | ce65681936666fcecdf5efb24dd11f2aaa05c2b21e39defa13d34b319ac147c7 |
Close
Hashes for ast_grep_py-0.13.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf125985a960a003aecfb8c1a6d932c23e1f9510dfa0b5a043c129a28230f7b6 |
|
MD5 | 07398e3a18c727155289ab3ac0b78cd1 |
|
BLAKE2b-256 | ecee6febc53b78ce071f4ae6de9387e9aeebad75582c334224191706b43229c7 |
Close
Hashes for ast_grep_py-0.13.2-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41ce4c5e570142e596962926afadcb38c8253a60861c246b43eaa4c7d612e3dc |
|
MD5 | c597e70c2b1caff0f450c1bbbbb1d061 |
|
BLAKE2b-256 | 9eb188788b2bdb9dad84df12a355f8351110f874649e059320ec76765134cdf7 |
Close
Hashes for ast_grep_py-0.13.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01483acb0a940a1d994e1462ba671c4b777a518262bd60b4e83797437078b22a |
|
MD5 | a67276c74da47d42a074d4464bc82e5d |
|
BLAKE2b-256 | fb41496617a397fbbb79fc5d69a1f93f14b89b479322d4c3c91e1e6965095eae |
Close
Hashes for ast_grep_py-0.13.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a68bdf069024d9ca901593b973e90071e158173077a212ccde45f5409f4bd827 |
|
MD5 | b28a9646523dcca8a8b745b11a4a210d |
|
BLAKE2b-256 | c2ca4b6ec113cfebd6709107d24804f31b9c48f874174bd78c45e44d5fd2577b |
Close
Hashes for ast_grep_py-0.13.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23a57080b1843359a68168acde512551a0d4cce76a3006330aa92e4a1643bd4b |
|
MD5 | 6569d578197a9e064047109d13e8aedd |
|
BLAKE2b-256 | a15ac81a3305322a63725e69c719e4c1e91be1e5fbbeb6579a0f89542cde7b19 |
Close
Hashes for ast_grep_py-0.13.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 953425bc70cd97b95ffa94210019f216b07e8c0eff48ea1e18bf15fb26acac02 |
|
MD5 | 2f2bb149841ee4f28f8cf9c207ffa26e |
|
BLAKE2b-256 | 227e25699fcb40121d64ad6ada0333e863c73f05088509886be50d7a3c75eaed |
Close
Hashes for ast_grep_py-0.13.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c905e590e49ecb69155083ca9981f3450363e07479fc50c11753f7177f74417 |
|
MD5 | 77333b688289de4b3b5255440305cb6f |
|
BLAKE2b-256 | 3c4f6d4bcd10e4a7aed16e476fbe7b1b981056d1a31762f4e56bc427eaf316d8 |
Close
Hashes for ast_grep_py-0.13.2-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d29e722843cfdd77fca3ee108361c04dbfcd22b7908d587aa9861b3079ed4f89 |
|
MD5 | ef0ad8976451801b22268429a6e1f9c2 |
|
BLAKE2b-256 | 8f63c3e660b04cbce08879aa4ebab5ad986522c0e70ea71223514273597e26f8 |
Close
Hashes for ast_grep_py-0.13.2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c430c3b345096ce9fdceff58aed4f7cec1587d2d7f32755a99df6f094635977a |
|
MD5 | fa048ab17b7c934ba21d39c82e73da16 |
|
BLAKE2b-256 | ccfdaf4e7ed016178ffe8ffa1acc65475f658cd19970e3a8501fb730dca4d34b |
Close
Hashes for ast_grep_py-0.13.2-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d5373c82feb5eeaafb56b07a08f73c9dacdcc0ac73c4a21ee8835aed0025e9e |
|
MD5 | 3d1203bda4f2b9e61e3881a8d9d56d23 |
|
BLAKE2b-256 | 1f6691d6d7e4f40f2a3f0b404dfb3b281eefe90f5b2c9d497894bf66bcc31cb8 |
Close
Hashes for ast_grep_py-0.13.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecc57f9e10c3045049c8e4b76c5eb6432e3b332d5519cbf4083a2f3742966ea1 |
|
MD5 | 862c2f272eccdc4c0af158cf682e5b60 |
|
BLAKE2b-256 | 0e494d975a37e24144e0999cbcfb8c37e81150b3ff25438c86270a0464f94a6a |
Close
Hashes for ast_grep_py-0.13.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76ae10f5f7f02ca4673fca489b8568bdae0198aa78f6c3dca3f5f770ca3ea92c |
|
MD5 | c3de5241e2abcab5473acfb07e78e1b8 |
|
BLAKE2b-256 | a6f6bc72722d885c6ece63428cc1950d8bfe1111490e66f601949d516b6071cc |
Close
Hashes for ast_grep_py-0.13.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b139f5649102732a27797d1957133e6e1ae6e192d35d99c35d57b6ccbf28083 |
|
MD5 | 3b73cf65842e994b47be233902c145ac |
|
BLAKE2b-256 | 46dd216a7a8008a8296a8ab5f6463b062c3c83b5c51b98b85de9adac5bce5501 |
Close
Hashes for ast_grep_py-0.13.2-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0db3ec14f6ec395b91f8f51402314f9292993b7261f49d85fe77f761fbb13ad5 |
|
MD5 | d9fb82c0c5116f2d5648d2a11578af54 |
|
BLAKE2b-256 | a4e8cfb4f148112783e83bc9b78e8ac5779c483c677cbb6205bfd3424f14283a |
Close
Hashes for ast_grep_py-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f80141a15befc1d0263522d55712b228ddb3a5214f56830fd21ed84c4038d9e |
|
MD5 | db38a60b647ab45c4c26bb48a07a3ba9 |
|
BLAKE2b-256 | b82051cb56fef94ec044454aa7f2b407a26ffd658cfeb7a7c59ee84f8ef28a69 |
Close
Hashes for ast_grep_py-0.13.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d341eabd8b17ec7db784079ae0e53bd7a84ec1fe6d7a9cadc74033da413590dd |
|
MD5 | 898d067110fb801f3725bf549654f172 |
|
BLAKE2b-256 | 8dcdf31f222fc2b70828e74a74268226a0d33652523ef5880294adc4df37fb22 |
Close
Hashes for ast_grep_py-0.13.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea4d5a7fab1476f13eed6d467dfbf73b2d45f42e68e549db7bc54242970eb0d3 |
|
MD5 | 9333c4ebb50de9f1270108a9de004600 |
|
BLAKE2b-256 | 15b84920f4294e8e3d734b36536fb9b4947130ff7f3a81e2654c67b398e1ed83 |
Close
Hashes for ast_grep_py-0.13.2-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b795ccda0e717ea619ad849417963200106860da2cb18b4d70ed362330b680e |
|
MD5 | c77cdfff15f7e7d08704e41da886cc3d |
|
BLAKE2b-256 | c2c86d99757c4680533b48f474efce38c1951727abfbf15d46e1c8ea96c0eec1 |