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.22.1.tar.gz
(106.6 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.22.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 508bac62b8b4e55f38d0617f244cacbc9f71b8f88771dbbd548f96e84ccf0791 |
|
MD5 | bb19b04201e39c24e11483f78c1e451b |
|
BLAKE2b-256 | e3707ea1e688c3ad7e65de5542607decd7723015553de7d755ea713204d58881 |
Close
Hashes for ast_grep_py-0.22.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0024ec2e9fa9dc4f8affe2b4b0e8e137db86917ca759136ce050a14f4107f9be |
|
MD5 | 3da012b5d80b762217e649911a350d74 |
|
BLAKE2b-256 | 369d59febfc1d35ed73f471ed50ea47253e3a59a3c86bc85fdc7986df82d8da4 |
Close
Hashes for ast_grep_py-0.22.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 490817ce7f86f5815806671a4ed519b6f3c26b5389c90fa186838068517f6db7 |
|
MD5 | b6a4a7de22ba77141281b6058ad11aa8 |
|
BLAKE2b-256 | 493b2221879deb473e9fb907f4c096c5b0f538b56c1eee493e5018806aa5580c |
Close
Hashes for ast_grep_py-0.22.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b0fd97ff357a92648bf8c30c0f5b5e34fe76ac8f31b9c5887fd5caf139aa880 |
|
MD5 | 3daed7d32ed57f5d97b5886af8163ba5 |
|
BLAKE2b-256 | ea5d6e432b06f75e227fe1e9b25bb917c27ad31f865684fb555143c4eb5edf7b |
Close
Hashes for ast_grep_py-0.22.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10b8ae3c1cd43f478717aecc3c1e2454bdc7d00cacb42c5f837bde1a191e8ae6 |
|
MD5 | ccd5ca94fac1c92805c6f8608d94e4c6 |
|
BLAKE2b-256 | d815a0216b6e2c7b2c05f2ddbcede4f2d3614f0b335f7496fd2b0970429d4e08 |
Close
Hashes for ast_grep_py-0.22.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b322454b8513863bf8a5897b4f9ccb1bf64113a19fcbeea0036bbf84d4cb0dd |
|
MD5 | 2a68c2a08c5a67e5eab635e2eb111308 |
|
BLAKE2b-256 | a5f4b774e3fef237ce001126ffe792d4e9ac5146f998d8a3c8fc294aa1776dc7 |
Close
Hashes for ast_grep_py-0.22.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd2b66636e932a4ef239c75cd1cf1cbb85feb1d9fc4606e2c6bbb45d1f6106a3 |
|
MD5 | 760511c0155091f1b05d49b85e1727e4 |
|
BLAKE2b-256 | 8c5f999092a17c286864910f5300028b8365553a373b90b14930a1cfa24e601b |
Close
Hashes for ast_grep_py-0.22.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9f42e93e17d4dcc6686562e257c79083605400c3cbcbf687982d7cebda4a957 |
|
MD5 | a741dd14dd7174c1d0ccc48e8989d152 |
|
BLAKE2b-256 | 9e284cec75f340842fea31f37c47523b91764805cd6a9421b7ccc39cb76c85f9 |
Close
Hashes for ast_grep_py-0.22.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd196f2e72c75d117419743f4be2f96680bb88516c87c415a5385a29a164637b |
|
MD5 | fe76750c47f5477e014f587fee6ad895 |
|
BLAKE2b-256 | a3f7c5c46a1ee13c2db2d8b68bd700d6c77d623cc6c0cfe4f5ea858c8e2cd0a4 |
Close
Hashes for ast_grep_py-0.22.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 042044d3bbbbf97986c8947adcdd11c41c9c9a43169627b8b7f831761bfcda98 |
|
MD5 | f97a03c25ed6d21fa950677fbb9b2de0 |
|
BLAKE2b-256 | 9843dab515ad133b6fafa19e9b347064c244c89ae08f3c135af055b703058d02 |
Close
Hashes for ast_grep_py-0.22.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbecc0c229c9b60cd3b74b9c3f67c842ea9855fada78dc0304ea5912ec614683 |
|
MD5 | fa29b51f1ce75abab3973ae2de21c4f7 |
|
BLAKE2b-256 | 0bab7a971a7dcee5406477768223e3369af8c3b9d1998f36ab75a1776e9b721c |
Close
Hashes for ast_grep_py-0.22.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73fb4a84920ab8d2ff3cf6b3f324b040f7a70153b788e1329674d5666d0a3282 |
|
MD5 | 053c793fa1ae6ed21cb081ae5a6a0b23 |
|
BLAKE2b-256 | cf7133d4a6d7a29a1967bca6672e7bad422a9359607c43ace81445cb4c8d81ef |
Close
Hashes for ast_grep_py-0.22.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | caffbd1d7357687c6b66d9daeaeb6d16bba0ee6adc1a97605488ce30ebd1805f |
|
MD5 | b7a7d478b8370155b317c2d6364ac904 |
|
BLAKE2b-256 | 8895475b4437dad7773b7cd1837ef32bf2aa7ebbaf4e30c8c6110e5501d22082 |
Close
Hashes for ast_grep_py-0.22.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb568adabb0ffc4795291c65b6186a2f3904ce20ecf26ccbded1796cbde40768 |
|
MD5 | 780bca0c48ae65c511d18f29b38b80f2 |
|
BLAKE2b-256 | ec3cef20aabea61dd5c4b03343f628dca52bbb452cbbce2daf0734396b2e3deb |
Close
Hashes for ast_grep_py-0.22.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1198d188ae19bc18ccc2b16cacdbc060e4867ba3256dee9aa0a2ac4498cc142 |
|
MD5 | 217134134e6be2109c4da0a83a60a515 |
|
BLAKE2b-256 | 24a2fc064dba0381bb0569d9a4862244232c7ed43ea38cb39472499de96b1f5a |
Close
Hashes for ast_grep_py-0.22.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66f92cd2ef837762f6feb3ba6b0417c3ee0b3a79fa6dde936296a4832993bcad |
|
MD5 | 8b9872d749144683a3d7c15970656631 |
|
BLAKE2b-256 | 693e661a8e25e5fc9afefbeac38e83352ac3a3f6c75f5cee74581b17ae90c23f |
Close
Hashes for ast_grep_py-0.22.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3706d3e92db3055f93bd6aa362cea593c3b595b8354cb15f973497285b0abc68 |
|
MD5 | e428f6b86ee13c7cb164986b009aafe4 |
|
BLAKE2b-256 | 473c55877e50473f7db6f4f535e5a9cfcd78d5bcd5bbc4d58c6b324c76e6a643 |
Close
Hashes for ast_grep_py-0.22.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96c93a97e92a97a501ac394050a384dd0333f0c57e9223706642d896d82b1d60 |
|
MD5 | 15c54d9cf18d6fa5ff022480a3b99a50 |
|
BLAKE2b-256 | 2fce1e4632cc834c5335db72e941a8dea8a7306e747932786b140c2d03605808 |
Close
Hashes for ast_grep_py-0.22.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0af97b0a04fd5b34094dfe345127309bba91b6d01463bd34b52bdbb3c856998 |
|
MD5 | ca475b3496b40f4757fc79f13e23b1a1 |
|
BLAKE2b-256 | bb2d30857e7249d7ec82814fb305ea0a2b79fb69bd1764d1e0423e4228d27699 |
Close
Hashes for ast_grep_py-0.22.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 844cb5ba81348f8c56deb1d5976e5a29c1e89dc64f18f6eb5296ccf27602512b |
|
MD5 | 6b41840f866a114c6988b28b226a34b1 |
|
BLAKE2b-256 | 02e7b9eed389b970d37ffd65206b28074682a9828cb541724c632d3ec5240624 |
Close
Hashes for ast_grep_py-0.22.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d04702a3900899a206aa4726cf936fcda7889da41dd98d698b27bcdda9bb017a |
|
MD5 | a3a0f3f8ba7f72a23b26b1b13b07a7f1 |
|
BLAKE2b-256 | ea37ac6d2faa4dabef930f8028d7f6fb076c8d4901bac42b93d02c12af5d3297 |
Close
Hashes for ast_grep_py-0.22.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ed74945a8e55208fccec3c27dac51978cb19144c9c3d9569f07e735aaee1d87 |
|
MD5 | cc165f9903553d27baa403dbcbe025dd |
|
BLAKE2b-256 | a1afe75786e0202d74a62d728fb8307a707a62db10e7507e673d7cd3c350207f |
Close
Hashes for ast_grep_py-0.22.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cc341a798fc663be991e14dbea863500c06f1c68b33ecb7696d3ad3b01e3e2a |
|
MD5 | c997850fe6ec73572fd3ef2bcbae6878 |
|
BLAKE2b-256 | 17b679e5e7938f6b3b78468bf3c92bd67877b21e1e94df6c491368ee4c85103a |
Close
Hashes for ast_grep_py-0.22.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa01d11e9e1cb353688ad2ffd227c23a9920068e1ed947b8c0a4829767933e5a |
|
MD5 | d48cb5af330f75630812c79dabf18aa2 |
|
BLAKE2b-256 | a2fab2c957efdb1c537f0ae67e94dcaf80e904b68de2db5c13fdc00a11edd8d9 |
Close
Hashes for ast_grep_py-0.22.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c3a9ea1bab87fde0cdb9a7457b5842acb89c89106a0e1bddfe8e86bf354d4d9 |
|
MD5 | b7d290178ca0b3525fbd15e4efc9bac1 |
|
BLAKE2b-256 | 74068871b68898651f07c00ccda647b2caabc4c976f70933d25957626680ef98 |
Close
Hashes for ast_grep_py-0.22.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d98a509121825591fca3d703a7976a91363a16527566fcef5bdb38417aecedb3 |
|
MD5 | cb57c82726e624cf52ca4be4f0447fee |
|
BLAKE2b-256 | d67b51380de15768705cc4d60a99f6fe51d9c4c70eda8413826ac5809ac26252 |
Close
Hashes for ast_grep_py-0.22.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78a9ca113af62a497495e5ecca55494cab4a508e11fc0cd0b8eec53c19fc2d9e |
|
MD5 | 041d43f0288a3581146d5fe27fbb838a |
|
BLAKE2b-256 | 127d5d1d4610b445f3a0f8991f3cead4aa6175ec828e97312e411b13d5683375 |
Close
Hashes for ast_grep_py-0.22.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17af0dbd4fe432d9819bff1c776ef3974543380d7f840b4b70f28a3cc8b15bd9 |
|
MD5 | 39717a334aad85a752b02544bfe190a7 |
|
BLAKE2b-256 | f44a02db44f3a4491ca50435a8f27949e167e9049e45dacd95b03d389a145ff6 |
Close
Hashes for ast_grep_py-0.22.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bfdba0fce7a626dbcb5cb0f7347e4ea8a106a95b837963f82ced73b36b60953 |
|
MD5 | 98f98dbef19174ae94b6a99ee718ba4b |
|
BLAKE2b-256 | e917c53a1ccdeff4bc9f9aac537ca78341374a817461306b88d1ced13b00d239 |
Close
Hashes for ast_grep_py-0.22.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1716617d1d97c7a9aee74594094cc5b81e7a39fa2c7069082d43e633427ac2c6 |
|
MD5 | 9b252f7a5f1b0cc7b20497c1b3432ab0 |
|
BLAKE2b-256 | d102bbde2c4b1aa5cdc98f29dd233ba88fcaed444e30c8df7b0d4de6878543eb |
Close
Hashes for ast_grep_py-0.22.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72fe40d542c49a25cebfd8254f4df39c7ea6fa66384b18bda227cdaecdb43157 |
|
MD5 | 3c5a7f453237cc584b84fc37ee34abf9 |
|
BLAKE2b-256 | fc05394644b5fb7f18aba81ca2a6df4be690c7208d996e39cf4cb71efc5bdaf2 |
Close
Hashes for ast_grep_py-0.22.1-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ace6906e4801a0acd38c5f5a027f025322a7c9f3d5dada6c2fab39eb1c8a66e6 |
|
MD5 | 93fa06c9bbcb21f1f1493cb385898da2 |
|
BLAKE2b-256 | 6b58d4abca9e8bf9ebc4e3bb21a74a21c120577fbdec0e3304e79d6394a4c882 |