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.2.tar.gz
(91.5 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.14.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14c70911cda4d2c1ab1924439ac34a48c82a984e26dbd8066b86bc04b064a5dd |
|
MD5 | b85d658af9b4112cf8dfb81e23599f47 |
|
BLAKE2b-256 | 9149a3897781c28251aa59528514f7865e453fcf1c663cda673039f0cd668da5 |
Close
Hashes for ast_grep_py-0.14.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 262caa920020d3270871494c68c16f98568ff546a6675b3aa8f5c9ff109ab86b |
|
MD5 | 97a4160614cd22fe9a983d68a8703bab |
|
BLAKE2b-256 | deffced731e8aa5eac6aab625a6838f843e4d26d72c4b08331b70ff3f6ba6292 |
Close
Hashes for ast_grep_py-0.14.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3358fce12a407ee6b6b9c0300dee9951dc57a19a79826fa3753958709ee9dbc |
|
MD5 | 5cc3adcdee1ea9f69c2368f1ac216022 |
|
BLAKE2b-256 | 27466b9745b12b597c7c544aea7efbba8b4054b899e4bd2acfff6b6c44da8421 |
Close
Hashes for ast_grep_py-0.14.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9878fceaa085c0ca77dfd467d70fc500bf3a1c6e0b9485a3ff014d1a81b72fa |
|
MD5 | 29f04e3fb6f304ffeba86f283fecce2b |
|
BLAKE2b-256 | 27aed332d7d03411a056c22bd5b9d7c47eb3e010583abe3bb3fb6a1f95a6b5a2 |
Close
Hashes for ast_grep_py-0.14.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c968def499cf0a9469e431eec085c6ec97128822a8e400a1399c11aeb63c547 |
|
MD5 | e9947754db7a299c4700db3136e56ff3 |
|
BLAKE2b-256 | 813ca01e7f72d08d295663a17905526eb69033b06925e9578dbd1dfe48995a2c |
Close
Hashes for ast_grep_py-0.14.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c54965fca6d9378fa63e37341a6d495133092f8cdcff331e233c43c63df3ecf |
|
MD5 | 85f1388144f515ef6e9043c5fb8bbb91 |
|
BLAKE2b-256 | 60d4b719023345cd11c55b4426130e7efd85bfdd7601dff3918f74b288b0af1d |
Close
Hashes for ast_grep_py-0.14.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4437ca50beaba4f0eafabc62bafe8d726255343e6d77087c19f52473e3b2664 |
|
MD5 | 9f31ace960b68150bec4efb21fd73266 |
|
BLAKE2b-256 | 7cf9a557e5d600acc5507b3af80c39cc27f5e59ed896f451d81e415d64677521 |
Close
Hashes for ast_grep_py-0.14.2-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 848d90e4f5d60524360c218c670862b8f28a2209293c1f7d727be78945518169 |
|
MD5 | 9947a43f11da75a2f460756831e740bc |
|
BLAKE2b-256 | 219b3006bfdb8925f7bf4b1d6387aca7d8e1bc5080e99182ad4c9d1d8b87e001 |
Close
Hashes for ast_grep_py-0.14.2-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a322ebaeb5840677bd8b512c66b7741a293dd6a7e43981e26ed79f9a98228152 |
|
MD5 | 592463aaebb26d2a3fe5827216a78b90 |
|
BLAKE2b-256 | 516dacbd611085d6166b0af51ffc410b6eae54296813b8bc0a68537ff25d495c |
Close
Hashes for ast_grep_py-0.14.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b06c869e1cf44bf30dbec69c3869156b3287f542302bac5e913a66c1d7ccade |
|
MD5 | 1c70af2ded6744099af8b747011debf1 |
|
BLAKE2b-256 | 00d7e332a1a9e1d59212c4b7fb20a6862ded4ba7a29fd0224670992bffa16a7f |
Close
Hashes for ast_grep_py-0.14.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 522c26073830857100dfcb1176047d7c5fb4ba8b52f2463a35026474b5e64ea4 |
|
MD5 | 9dc697b4aef900f1d217b7f7843abca3 |
|
BLAKE2b-256 | 9f3d7e57506ba0d7f3603239bce005af5ef22b29c9087f5e673f129165288a6b |
Close
Hashes for ast_grep_py-0.14.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54575a19f838a506be0252f593b4bb85e5f50d712020c9cb44e20dc73d059641 |
|
MD5 | 30fe867adee283bc986d7f509877e1e6 |
|
BLAKE2b-256 | d042352e8667055e05982701df30647de1639f6f0ed69612758508880b09381c |
Close
Hashes for ast_grep_py-0.14.2-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 751b3fa56a89f8b8fb8fc758423492a1ee9fa64aa9e2ef5f9e6f202a7c2d246c |
|
MD5 | 883282d69d9bc74dc9d7779e766427b6 |
|
BLAKE2b-256 | 0cc51ef186a375a993f53b53ddfb7b6cd02d20853633c298f5545ad3fc096e91 |
Close
Hashes for ast_grep_py-0.14.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 469a10892efb4e7551b0ca0627037c074d40a084b37cc05f4221df9c8b4961fb |
|
MD5 | 266d9aa381cf28f591093472e0759e27 |
|
BLAKE2b-256 | 2522bae2ee946399b284c491434a3843319241e1a1da648ab6bc95a5131a2857 |
Close
Hashes for ast_grep_py-0.14.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35437a1581fcf53bc5a7217d31f5f63387115782dfa661a3c82a6c3490970436 |
|
MD5 | 0e236c93caaa4dff10dafc7a311f1fa7 |
|
BLAKE2b-256 | 0a8662d4a086d47f18bb6621662f4a16f05036064d4475b154142db9d6c09e6a |
Close
Hashes for ast_grep_py-0.14.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15450dd0e6c2709bb0daa4ea5f8fe2d5a571ca1f861ef8e1bdf6c270438d0f32 |
|
MD5 | 7fea87ee7139f3043d6a360dbde28933 |
|
BLAKE2b-256 | 94bce9e721c701b4e4bd7841d6ff4fa4c59423de3249da911cb4171c45de8507 |
Close
Hashes for ast_grep_py-0.14.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8311ba09707d91b575ecdd4026718c4456fd97747b12849183b4e76c81999c91 |
|
MD5 | b770b95de8befa08d14fff23414fc4cc |
|
BLAKE2b-256 | 33bb276afd019847c16031648cb60e15f18a0aa0a0818976e40be290be4ad9df |
Close
Hashes for ast_grep_py-0.14.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fe04ef91187cc6a3151d3801fcb26cdc4e621656b500d8b01f8cba22f18faea |
|
MD5 | 2265d9b25495884427ca1777ec08faef |
|
BLAKE2b-256 | 981c6c4552c65b4372f5315de929b2bfb03870ffcf29d1fdd277e43acc05398f |
Close
Hashes for ast_grep_py-0.14.2-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7aadc341fc04366517ab9502a0761da3f57a56903f01d3d8175f28f1860953ae |
|
MD5 | b100ffe303c1e6a68c7dfca1fe40b44a |
|
BLAKE2b-256 | 8c692821aa21fc44710ba5646e32a967d5934aa473db8d9f47bafe1b40136c12 |
Close
Hashes for ast_grep_py-0.14.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba3797aafc917beab995a926a5437dfd82b8cc94c25eec37ea79a7442de0e2c6 |
|
MD5 | 830a84e9ef1935f5cdb8e400f58a0a0a |
|
BLAKE2b-256 | a622750bb4dee4ee2167e41ee1504c6e87e479217190ee9e0e12406f23440c8e |
Close
Hashes for ast_grep_py-0.14.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad907801b4ba4353790a11626ad5decd75cf1f42fd881a109c3f8989c9675651 |
|
MD5 | d350d62431add1e955103f230cd8dc6e |
|
BLAKE2b-256 | c94cb3b5056742f5f06c52efe75f439da09fd5693fa61278143399aaf6d7c4a3 |
Close
Hashes for ast_grep_py-0.14.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ff166ad3f1363f23aff3b6c90a06bde3de4e013865b44c7a24db063344917c3 |
|
MD5 | 1a5ec3d1ebc6aeae4bbf279ae8bfbea6 |
|
BLAKE2b-256 | 540b78eb32db064dfb11d25d57e92d17fb19fb32ef74532bc79ba807a075ba62 |
Close
Hashes for ast_grep_py-0.14.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73895dcaafeb9997288eddb7209965f08c78016bfbff6519f473eae350fc6ab1 |
|
MD5 | 3ee2cca6587a5d4dbc58b286f88a8c35 |
|
BLAKE2b-256 | 09222108d69b6cf5d8e18ba6685ec0d9a7d5c3ebe6fba7252110c5976697ea64 |
Close
Hashes for ast_grep_py-0.14.2-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e177f71dd4fa82b75fa85c0f70e3da930789edfefe2efbf491c6044675a02d4d |
|
MD5 | b33198bfaf0fe415a67b1782bf9c139f |
|
BLAKE2b-256 | 817046aff7b162946fcebdb1605bc68abbb377399e66b02c9f3d1adce5fb14dd |
Close
Hashes for ast_grep_py-0.14.2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca0a726c23bbc5e18d9de3dd43527e2ce960822dee34537bd1dcf0a1ca7c72e5 |
|
MD5 | a34a58d55f2d54987e7bcfb55d5dc72f |
|
BLAKE2b-256 | c63aa65fbf8335b540e045fb7bbd6eb2b0e632a389582adc53d0def25edf14b9 |
Close
Hashes for ast_grep_py-0.14.2-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0abc75a2a61d195ddcecbeed087e3875c8295d6dc55086b1e454f5988ec54e45 |
|
MD5 | 7cf45825be2076d5bb764e2f84a77b88 |
|
BLAKE2b-256 | 31e174953ee0d8ca7ed60abcb7e49be7f95c70c806474b047885413d6230bfd9 |
Close
Hashes for ast_grep_py-0.14.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f23697dbdb05b4521a55dc7bafe471d5d9e680bce3e028e22d1a3453a69483c |
|
MD5 | b6d6e2b0e3c74e0718b4145c0007b020 |
|
BLAKE2b-256 | f1c2a56376e33d2db37cbeaaac0e7102ee67c9b49b9f12dfc506d76c3c51e30d |
Close
Hashes for ast_grep_py-0.14.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dd52922bd08d086dce54701c47ea4be4b12ff3fc09f350f68808fd66e1b4ff8 |
|
MD5 | 38855ea3bc1766d4850687129e039569 |
|
BLAKE2b-256 | 52ce9274f2a54189e486f3fd001af1b7de0f8e88bff9a0a5746d8e2aac5006c7 |
Close
Hashes for ast_grep_py-0.14.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b70cbecde3095c4ba2332a0fec0913c340a1287b45a9354606b09e1619e9e45 |
|
MD5 | 923d0977a11e704c885cabed4a1b5d57 |
|
BLAKE2b-256 | 18f3ac1a27e92d4b96af498a3dadb99ed5ad683332069f897f5723f546a5308b |
Close
Hashes for ast_grep_py-0.14.2-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b77323ea33a0438779fb315e87b8db6dbff4b891854bf7636ca42b3d5ca84fc3 |
|
MD5 | 9499bb384b5387fb362452db30745282 |
|
BLAKE2b-256 | aa11f8919a84fa72887d0216d51f2ba60ce64d9fe77d7f5f7d083d9f1116b336 |
Close
Hashes for ast_grep_py-0.14.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 455b8791919ac082d1ff1b935317e59dc2ccc9ca85596354900038246c155476 |
|
MD5 | 255434985e777b82942aae7dc8980670 |
|
BLAKE2b-256 | 87ed863a243d272ca9ef8d297b8bd682a572e63f88d9a7677b6cdc499a838e58 |
Close
Hashes for ast_grep_py-0.14.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | faf16b2da184e2f0fa81fe1b8986ad4908f976a40ae48e1558d9b60ac7e06c47 |
|
MD5 | d64468a6073b0747c0c37ca44a8ef937 |
|
BLAKE2b-256 | 0ec95be84b8ba4edb8a0d3c3a47b2331b87ff6202f4e3b57edbc190cc9feb3ae |
Close
Hashes for ast_grep_py-0.14.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6fd428b331544ad9d9a84fd9296f9b97cf48631c7998149262b603abd8b3ed4 |
|
MD5 | 599c1161ddf02ce6e82fbfbe5947ee35 |
|
BLAKE2b-256 | 51cfac47835c82e1ed8cd99e1dd079a94ed42d1bc0792961a3398981917c8690 |
Close
Hashes for ast_grep_py-0.14.2-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3f27b216b33ec481e6107a760d82884d7db869f21d933600fe6f31c2349f452 |
|
MD5 | 616cbf8511701c8e49ad3bc21637884f |
|
BLAKE2b-256 | 50e995b7847c8a06a59066bcf729978022d133c5d427c5e9e8e8cbc54d41db0b |