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.28.0.tar.gz
(121.5 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.28.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9dcbb0a6a3bc4002152055bca9232fdbe8d5636b847bf3fac09df58fd211d755 |
|
MD5 | 244918000ba8c23df4a269573d66833f |
|
BLAKE2b-256 | 183b75ea8a62a02f9657bd56370a6807acd2e6aea20ebe8ed86f458040c8880c |
Close
Hashes for ast_grep_py-0.28.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e99c4df7dd8b2b0ce3a11ca8d1724f4a0ff555e921750d65a50ab562e377a6fc |
|
MD5 | 0470c9ce03fb18b3f44c1668abedb982 |
|
BLAKE2b-256 | 7f3c72957a7a9b9669dcab81cc91bbc617ab3a2e0598fc59de80e7bb078d435a |
Close
Hashes for ast_grep_py-0.28.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04f2a55f493ef7401716db0ef8087ca4ea312f0237b9088c15da519472ded5f9 |
|
MD5 | 1def0e05719a49227d17413a2dde93ae |
|
BLAKE2b-256 | 13039f728bfbe53bc966d26938118f7d2ce3c9062839c9468b802969e8567460 |
Close
Hashes for ast_grep_py-0.28.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35a09479f0f89fe7b62ce532497ed8d0a23daa74157e481f02da5a8610f377b0 |
|
MD5 | 828c4647509360d6f110b92cd50714c3 |
|
BLAKE2b-256 | 3f44499761d7acad2110f2911952b347a698bed605a44f7f10493e377a7c5d35 |
Close
Hashes for ast_grep_py-0.28.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1848433e8afdc166d93d0ab35e118d15472e74ac7beaeaa397d2adb4fd02c0b2 |
|
MD5 | 53d75a270c9e44b1bee4ef739734b3d5 |
|
BLAKE2b-256 | 23eeaebb8ecb5546531f6d7c173451a15a143b6b64401bfdefaaa13a351cfc94 |
Close
Hashes for ast_grep_py-0.28.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e78264dc5b027eac0b88be9ee8c1118dfa224ef0ae4ad4a0af74e4940913b615 |
|
MD5 | fba4750866209e1305a41e1aaddf1e2c |
|
BLAKE2b-256 | b86d76dd68b3c316fa48077eda72b8aa9e282a656764c05abad4bb0d95305171 |
Close
Hashes for ast_grep_py-0.28.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3afaf7f41a40be2afb1354d90aabbe1ef623ebac2075b75b3c4dd16b435258ed |
|
MD5 | 21ac0345103436d563b841ba3b1ea708 |
|
BLAKE2b-256 | c6dd8b3b520e1604d75fd81869601b012ce87e050e3f3b8613f4141e7867914e |
Close
Hashes for ast_grep_py-0.28.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d5b554137b8405bab0f828beb287049d2ad4dc5472b5c9770729445e12aa718 |
|
MD5 | 4c8920f786358031add0b96a4e6cc28d |
|
BLAKE2b-256 | b8f548c955d9a0ae3fac19c920e82347ead8ba6232e9c1a45ce6ccbaef50f7e0 |
Close
Hashes for ast_grep_py-0.28.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9bf7c5a8bc7f4540902cea9c25c5e29bea2c96c8a7816b8fdd0d8fe5a0adfbc |
|
MD5 | 57f782491e2d20499015c0711c166a3d |
|
BLAKE2b-256 | 34718cf40b936f80a0ffd565ba9d61bdabc15d5946563245e5a3c8108b43a5d0 |
Close
Hashes for ast_grep_py-0.28.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e69e080fd49d27cfa4113eb6264fc08e86205f0a1564a3216ddb1c0d3ce6fe25 |
|
MD5 | e65dfc2a8bdb831e88170cbe28c87efb |
|
BLAKE2b-256 | 63c0f50792fee687ba459ce53fe71878fa3802d1fa7ace2ffc74474902d5baac |
Close
Hashes for ast_grep_py-0.28.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64c186494be86128cc8daeee8b2adf1687ed58923f486f6b2c8df2f57654d60d |
|
MD5 | 9802e6ac6f8a6a730e7bcbd71126cc3c |
|
BLAKE2b-256 | c32cddd06909fdb8df589b0c07df69e46ac11c7388fe3808e8f6614829625393 |
Close
Hashes for ast_grep_py-0.28.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 809850cb6dcb963035d8e98b68e4eff4e5e9852977177aac7ff1c406276e822f |
|
MD5 | ce6566bd9d5a4a62e7fb795a8323dd5e |
|
BLAKE2b-256 | de7a64eb230c943ea731cc9e51556f3891a61993352e40649585521f804c6e01 |
Close
Hashes for ast_grep_py-0.28.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82f50479cb8a08e90e28d0652561afd9715540d4eeebf9c449956354f8f52af2 |
|
MD5 | ebd9b3b6b597c7d13323ae8903449e4a |
|
BLAKE2b-256 | 9a817541aad2186b29107f4f9984b757982425fa351e3031acd3880c25f7573a |
Close
Hashes for ast_grep_py-0.28.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ba2856662752ab2a552daa0dcae0f51400a39ef296ae6b5fdb402b6d1a98db9 |
|
MD5 | 15e9d764669eb66e2e057431c6c953cc |
|
BLAKE2b-256 | feae4750f25ec4a7abf9e617751659a8ff4d7c45a2bf61b258aaf53acba66033 |
Close
Hashes for ast_grep_py-0.28.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e3d9ce18d1dca9275af1f749255be9cbeaa6582c779063366f907e0684cb576 |
|
MD5 | 682363945020c05c0f8577e23b6d87db |
|
BLAKE2b-256 | 24843de440e1da1bc6dbb0793170c9a36604aa3e5e9b312e40ff565d7d4db3c8 |
Close
Hashes for ast_grep_py-0.28.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abf1895706f5841ef9cd9beb2eb7c8bc8115d224625f02d6f4bb40f68c48f54d |
|
MD5 | 2735ce34ad538710178c4e5c9c1dbfd7 |
|
BLAKE2b-256 | d4fa4c22875c033680115c2450ace9cd1005c111d8c82d33b6c076266d9a3601 |
Close
Hashes for ast_grep_py-0.28.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82d51800313857d6510cc934ba9b16125904568b1870de87b34de1a39cef2b5c |
|
MD5 | b0453fb767cea13fd678db9ffeeed814 |
|
BLAKE2b-256 | 072120412adb77e3dce2b4a09f2a9c4380d7c63770ae18d84ef1d689dc28f752 |
Close
Hashes for ast_grep_py-0.28.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d07326b1ecfe715b9ab3b5041a70f56345a9a4466e0d120184e1accdf9ce1c1 |
|
MD5 | a0f2020add38a24b6ae6f9734aa97be6 |
|
BLAKE2b-256 | ab029c401264f8b5d20d48a58d660c0a576ced4840beba649dab4371d4504109 |
Close
Hashes for ast_grep_py-0.28.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbe4dc9506535aa934777456ced40c3232808496b31a5fac2a39e873482c636c |
|
MD5 | 88a6f1ff2d882f9030b40215b44ea530 |
|
BLAKE2b-256 | 6a49008cc678ee81d52d7b25afd2ec330750ae4431563f21c39df2f98ab636fa |
Close
Hashes for ast_grep_py-0.28.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34a8fefdb394addf66c13527ac184d711ea0e7fd9b46fcae6029749c5d79c52e |
|
MD5 | cad9e89044cc2f1e0ae4d51599bfa04b |
|
BLAKE2b-256 | cd3f3df1a86026d3beed09fb8b4ac083f6f58a9aa0dd7ac16c57724f4a0747b2 |
Close
Hashes for ast_grep_py-0.28.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81daf9ccf5c3e05988f49d8d4c9f658a9faa5a162e87e42092a83a7a81f92bd5 |
|
MD5 | 36b89174dc0f8d597f822f1bdf44c2c2 |
|
BLAKE2b-256 | 064ec87ca5ccbbc8579474b43072f0b912572831c76437dcc7eb9b92e6003e87 |
Close
Hashes for ast_grep_py-0.28.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba365afe089a19c5c2ec988abe2c1cc313fc130e1887c461425f38282dce8d18 |
|
MD5 | 3ea8da7d33c707112f053d67e9ce2357 |
|
BLAKE2b-256 | 54bc5d44232245be2defc087a1b74f91c7d9e05bf10d01503b596695768b40b5 |
Close
Hashes for ast_grep_py-0.28.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57368c4d3bc17b99997fc5b6f2c153b074a2d2901e435dff52281cb7ead62c46 |
|
MD5 | 37a63fdafc1def46cea6716838168215 |
|
BLAKE2b-256 | 200fa8e4e94bba15508228dfd90ba750a3273b75c3d4eefceac81ca1cb914d5e |
Close
Hashes for ast_grep_py-0.28.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b045d0f4820adb39e31d67d24202ca1910a591aabcf874de7b200270c67eace |
|
MD5 | a7fdfcc0a5231d24929848cf4ff83f58 |
|
BLAKE2b-256 | 30ed85b6fd40ab7117e87f516a4418f90b4de5fc9a39a8352c2c1cbd4ce47eab |
Close
Hashes for ast_grep_py-0.28.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00f1256cab8dbf3d64f9cba7a7386c2d082ab97f5b8d50632d144339f03c5820 |
|
MD5 | 7fabbc486fe5abab468e440fd8c0694b |
|
BLAKE2b-256 | c9e95c359800d9be2cdfcf60e7d27e3896f533f78738ad53d0c6585864e01bdc |
Close
Hashes for ast_grep_py-0.28.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9013568c18796ff6772f6e20f730746a9eee8bb7c1178ed1e0ca637ca7d737a6 |
|
MD5 | a74c4647b5c71638791869bdf94a9ee1 |
|
BLAKE2b-256 | cff088945a3b89903dc212db3bef217b1f58c133b02c40fbf33ba5417d47f658 |
Close
Hashes for ast_grep_py-0.28.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04a7be1af52ca76911382f37b5726411cb6c17b2064a0778085614b33398d30d |
|
MD5 | d0b06ae5241fbaeac1b37f86c21a9d91 |
|
BLAKE2b-256 | c0753d3ce3a60f2d7893301fdfbe1915c07234cb7b08d5dc528136cb1e95a2cb |
Close
Hashes for ast_grep_py-0.28.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8266d6b99d4a7fa59c07d4cf44c5669cd419ff4a6618e82da11853ad46d7852f |
|
MD5 | 175959dcd3a259e430d7c4fd5c3fc1a1 |
|
BLAKE2b-256 | 0e4648203d3ec3df78fc27f6f6fabc648a397265bd4e0fa6b524cfd02ee18758 |
Close
Hashes for ast_grep_py-0.28.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c511417f94591f7e2ae9c706291b100a687363594e321c19ac7a9487c8e897b8 |
|
MD5 | 95f558942e2ef9ac13308162d3737828 |
|
BLAKE2b-256 | 9a9c24cea1b8f70b0af59d68da6f2da74cd5c7f5bf4e9d3260d599e2b23f3c57 |
Close
Hashes for ast_grep_py-0.28.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3a1b6ffa9ba56f7928667b6b47ff2354db2bf40c943decf9362e0b6b7a13ba5 |
|
MD5 | ec51da29e5e693e57c64623779c784ab |
|
BLAKE2b-256 | 39b517e5006dada674c500559a712516a438c23863d34f79943d8af8ef17cb72 |
Close
Hashes for ast_grep_py-0.28.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ae30357f873ca9fa50ebf2b5f753731a684909332b17dd86c6d1795e60dc2519 |
|
MD5 | a070ba49ea4cad80fe465066ce841e98 |
|
BLAKE2b-256 | b50cc4e2ef8ef52bf082768947fe5f557c2949693b0c127e9741040bc5741ad3 |
Close
Hashes for ast_grep_py-0.28.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5b2c4b837928d3cabf6c302d6dafe3aaf092405ea6d80d1a2535c2622780538 |
|
MD5 | 467936c48b4e28d0917d488c23f20cb4 |
|
BLAKE2b-256 | cd786bf02d2e7f8b681f7d3ee935a1692fb42b94f2f34746aa1a33ee45a91447 |
Close
Hashes for ast_grep_py-0.28.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d472192cbbcf130b726e313c39717ee5f040b291b3b83539e7d5777fe21fb3ce |
|
MD5 | a10e2f81198302e005122fb8e5e487a0 |
|
BLAKE2b-256 | 0bcd4237fd797568abbcf4770d0ed80d5e99019e4ffbfee7afc8c01d7b7d9945 |
Close
Hashes for ast_grep_py-0.28.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c464b1bea51d39299a36238926d39b99d65e708be3f22940ad97efa0b99d45d |
|
MD5 | 346562c810588e088414deeeb3c34ba2 |
|
BLAKE2b-256 | 6f2adceb55b473821ab9e7226e9b0a1ad098260bbb3635c539963a47b9364889 |
Close
Hashes for ast_grep_py-0.28.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9310900a4b6270021b9ab99f1d4dba5c28dd6f7ddd97de4320f7e280b7ce65d1 |
|
MD5 | 12e91be40928c8de6419342f56196c1e |
|
BLAKE2b-256 | cc58207b38178696780b8b9dc0ceabf086c4989eefdef17ea1f1d11cada08648 |