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.26.2.tar.gz
(119.7 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.26.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22614ad67bfa51fd47fbe46e67876196c21f968e51639bf29046c28a5b146a84 |
|
MD5 | c53c1417f8c5d035cffca9208caf9f28 |
|
BLAKE2b-256 | d3b81035fbbd17ddc3ca0d3828bf5dd9615911a5aea0a285ce705e134991cbdb |
Close
Hashes for ast_grep_py-0.26.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3c05d0fdd9e15537d2f845c4e86283bbdd2eb1ae7c123cb959aa45705be5794 |
|
MD5 | fbf617c07b34ddf8c7dd5d9c4b3fdfa3 |
|
BLAKE2b-256 | f37a6a9c72404b7021ab253a8e905f571e298827ffc3c87bdaf77fad1830c3c3 |
Close
Hashes for ast_grep_py-0.26.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aeefac53f2d4f5fd4c60a82ed2be19715246b036729b23049861efbac04b77cb |
|
MD5 | 159d893b5a73a1017373540378f694cd |
|
BLAKE2b-256 | 926f3e809451669bda523a0e13dc46f58ff4291c96e88eca0722d8c431939a89 |
Close
Hashes for ast_grep_py-0.26.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5d58101f04929f3e4746959174b01e57c25d8d9d4eae1ac53f4317f6e42fd6b |
|
MD5 | a8617794e45bccdbdb75c6e8896f78b6 |
|
BLAKE2b-256 | 4b9448f2cc07d1c9de1c16c55ecde979e5f5ed8ecb4bd8a08117c9a1cc0f892f |
Close
Hashes for ast_grep_py-0.26.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1bcbd5986fc30ea5151b8944a0aa18622523acebc8c5329df6be8dd98262423 |
|
MD5 | c0602147d3e349ce37a8490a86719c09 |
|
BLAKE2b-256 | ed0fd6782d44e9e32f6593c18c40e3f7dc016babf696f0fa2d8b50c735170a6a |
Close
Hashes for ast_grep_py-0.26.2-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51b0ae6b291df3c0489ac231f1aea61eb3263dfa37b4acffd9ab17a8df1b5aed |
|
MD5 | 63cc55a3964023d37b51ba0b3387be7c |
|
BLAKE2b-256 | 88e6818e06be201562be23b49fad48e68fb9d0edc544c85dfa1a8e859f21264d |
Close
Hashes for ast_grep_py-0.26.2-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb207f16859c079485eeae31d9b1bebead9c0018f95fa4ea05af37b2899d33d4 |
|
MD5 | c4a9671dd7f1ef5e222a4e9d4031d647 |
|
BLAKE2b-256 | bd8795cdb013ae194d7c54f6e02311d307005c5f82125f321275c0173ed33140 |
Close
Hashes for ast_grep_py-0.26.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0befb8db912f5ebfcfaf3619eeb88f7abadf635063d1363323ff08a8c5fe73b |
|
MD5 | 395c5cf49e3da404594c0331080c115f |
|
BLAKE2b-256 | f5084cb610e543a141d16ee904391e435160ac8453b0400937260f1655255b1e |
Close
Hashes for ast_grep_py-0.26.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc24d12f1d31107484985d10415fe82d77450718e1d14311ae3fa35459dd6608 |
|
MD5 | aa9a38c14f33f27476fbc739f00bf14b |
|
BLAKE2b-256 | d159ee7495ad3ad418e88265cc0dd03760a5f237d6fb7c094373ca8f7e160755 |
Close
Hashes for ast_grep_py-0.26.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4058ee7ecccb452bc3f78cccf4c9c8d531b30f80c627960716a519cff158b5ad |
|
MD5 | 113e4939cd1277724176c72ea099174f |
|
BLAKE2b-256 | 3eae3d63ada9f480309ce887a32a26390c571bdba1ff0dd047523783f703b527 |
Close
Hashes for ast_grep_py-0.26.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0080cb5ba25fe653ab65de7d0ae0e54630dce75329d8200debc097a456ff67f9 |
|
MD5 | 459546ddc83489376e8b3a78fc5f280c |
|
BLAKE2b-256 | 343fd173d726e449c450eb32cde09b62a9ef761154effae9ad8679f688cd0c9d |
Close
Hashes for ast_grep_py-0.26.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 973564902424532bf991458d12798b8633f13522063ea44d7abdbebab396f69a |
|
MD5 | e8d56b435357a3e0e34a92a8c8665b19 |
|
BLAKE2b-256 | 12b9d8f7d6cd3c272153f11194acf67b6b535e5471ae3fdd88774f18fe3a3c3e |
Close
Hashes for ast_grep_py-0.26.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a64241185bee2019cfc48d39dfa8136c88fdf0cd2fde57c039414309829da66c |
|
MD5 | 338dfb4534b7f1a1bf9ef1c916b7ea38 |
|
BLAKE2b-256 | 007e57f9eb5861c2bb8ee7f3494cdf95ce4649e595c455e0388325f9c5cbe53a |
Close
Hashes for ast_grep_py-0.26.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 234f15ac06509efc18a2da1170402b27b4cd79fd177f813521fe21c043977b7d |
|
MD5 | 38bd19b67b883da14a069be9b4f20b43 |
|
BLAKE2b-256 | 0a0125933d574fa1aa5eba39fcb6d968c2c93ac546a0a1dd74b89c35c4d1113c |
Close
Hashes for ast_grep_py-0.26.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67700ccc35c2246c7c9af8fb11359174ef491824e4fda875abb280d239de31c5 |
|
MD5 | e8e3f63df32e4125e686b03a4ae4a13f |
|
BLAKE2b-256 | e0c2ef3dc84020d0e636309498f7d2b7af3421a21a07f8aaf5d3c534513e71e3 |
Close
Hashes for ast_grep_py-0.26.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d50c0f0dfa8ea7155aeaddb6a0eb3f74e4e23aa77c8a6dbf1c751f0ae21a3cd |
|
MD5 | 8604fc3d2e6f1355f784fca63802e4e6 |
|
BLAKE2b-256 | 44c5e3e80aceead31f5957c14edadcaf5502d746ab72bd2209e42be3d13553dc |
Close
Hashes for ast_grep_py-0.26.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48a8c4ab5393f48201086e29d26252b2f1aa8644986086799f8c9c5747042f73 |
|
MD5 | afe11aec125be40f1ce809bc2b4e4fef |
|
BLAKE2b-256 | 9528afdc30ce73fe7f296db6e9b153769540459a7ff359178289ec310fb02813 |
Close
Hashes for ast_grep_py-0.26.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4b46f3b766b34f69bd7f0b7c46bf75d5504fb350ce9944249eee3abc9b27f1a |
|
MD5 | 450d3959e7885e0cd9578a115c34593c |
|
BLAKE2b-256 | 1a607fc806664936bbdc185674dfbc6f17d101870559c2cf4b0c40c8d40653ce |
Close
Hashes for ast_grep_py-0.26.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89938d1800cce4da8c42ca534877b8deca6bccb490f2e643d8894422e707596f |
|
MD5 | 9695a4c388b52b8236b6d6c9fd452ff7 |
|
BLAKE2b-256 | 15e330bcb872a93656c0193d38a0c57c93576e0b9808d4a87b62b7cb32483a7d |
Close
Hashes for ast_grep_py-0.26.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 338ca62dbafd59540e517cfd85aceeb03dc1ce0cf9147a485dcbb2d09106f481 |
|
MD5 | fa6caa398caefd2d0d39cb4123fa3fb3 |
|
BLAKE2b-256 | d0905505fb1c8e5561ac88b3db952d75687ac45a40095cfd84e0f44a52ff8042 |
Close
Hashes for ast_grep_py-0.26.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4da675405c4ca64a17a8958ab9c400ceea991e6fdd0673487d786bcc52187395 |
|
MD5 | 17bb2da5f63a0c908b237d1777e18cde |
|
BLAKE2b-256 | 8171f2a0a8b0aa825f110a3c1c1365c7df34764f38bf61d2cd9de8097cc179e1 |
Close
Hashes for ast_grep_py-0.26.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a08aee383610d55231134f913c0ec33352893799aa978b14fb9f3835994e171 |
|
MD5 | c65fe91ce571801a7c1ac1d1d228790e |
|
BLAKE2b-256 | dffd53dbc08387cbdccdbdfca84cb6ba45c06e3fa055f2b6713ad1911dee0f58 |
Close
Hashes for ast_grep_py-0.26.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 636cbb300b81286bfba5cbe7e7e0224376ce386d7eb6ce865a3142a8a3c267e8 |
|
MD5 | 15308a09dbc7e6fad21a9c97b3d5357c |
|
BLAKE2b-256 | 3831b6a74f58fbcabc4ecb0f8702d5aff48edb6088c16f41885ab9249e6eb736 |
Close
Hashes for ast_grep_py-0.26.2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b85af13329e0e4bf10c4f517fa5ae69f4a399e10036f0867d320f3a88b14428 |
|
MD5 | 4f4cc0af26fcc52f19095026aa2138ed |
|
BLAKE2b-256 | 88f451849c7ff14b7906e1bea7dcf4e7ec02ce82cefd0060cc05631e2c13a535 |
Close
Hashes for ast_grep_py-0.26.2-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d514104271b7289d825c7db308d22bfe276f7c459dc79f29d7c1517619e7635e |
|
MD5 | 13d37fe74cbe3d23d0d5c977b2c44209 |
|
BLAKE2b-256 | b56f3407bda288ff62b23b1e50b982c39147b6f18dd36dde4bcf9392282860a1 |
Close
Hashes for ast_grep_py-0.26.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c745681ba4fbf2dcdf3b676ee97497dd3dcc51c8880a7d7f8329b384f3475890 |
|
MD5 | 22059984fbabe6dbfc0fb981f596d7e6 |
|
BLAKE2b-256 | edaee1f2dfbfceee6dc88ca4c35c07e5f1aade88632ef4247fbf831f227ede21 |
Close
Hashes for ast_grep_py-0.26.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e7db3a759a74bae2b721ed6bb98e0192f738f838dc2c6e219d61bce674f1243 |
|
MD5 | 96d272928891273c23453214afd10d16 |
|
BLAKE2b-256 | eff7b7e8665695e57bb5b84a8842d2de131eed91f01b6a7e80172a98e7b5bd3b |
Close
Hashes for ast_grep_py-0.26.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1387a785a7ece597ea5cee3c079cbb5e7811e75cf4dfe02a191b95159616074f |
|
MD5 | baa4d0545e17ededb31b5699b7433adf |
|
BLAKE2b-256 | 29002aa0b357b925cceb02c93489711df441c20f214905e3532b114b56c988ac |
Close
Hashes for ast_grep_py-0.26.2-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03317616242f1d2da95f5d84992e1bebce442b3eefa355915eeac1ff3b40d496 |
|
MD5 | ee16161ba66201b09757e2f44060fb54 |
|
BLAKE2b-256 | 110ec76d754003499a383eacbd72baa19e8d93a6d75774d526273d9de143043a |
Close
Hashes for ast_grep_py-0.26.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9531557c27193b245fd8793ed886621b23191dbfd2856befae1c2182f2b412e |
|
MD5 | e4a79ebb80fe62bedf1afab0023531fd |
|
BLAKE2b-256 | 90805f9a645ea404e8aa088203304e7ae44678dde9c603fddc72db3d74fa78a3 |
Close
Hashes for ast_grep_py-0.26.2-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 575bc383e8ca85cf44135344e2e2e081bd59fed37094b9be96534200dafff6f0 |
|
MD5 | 9cfc1aaa5a6b02ef953e7e635e1a33bd |
|
BLAKE2b-256 | 1883426423c164b0c36880997a97e404e752234da2865eaa9f71c3d11c69cb3a |
Close
Hashes for ast_grep_py-0.26.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad204a9cdf9488674fd487aec3b363bd7dafb53cdd3795788fef0af88c7f3f27 |
|
MD5 | 1eb939ace8bef3c1d33b13a3e39bf18a |
|
BLAKE2b-256 | 75860683974c236b042456850300066cc02a4377bf50d0e64e4d6951efdb92c1 |
Close
Hashes for ast_grep_py-0.26.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc0853164444aae9943cfd9eb37ff6254890bc5bcc93539163c200077cb27967 |
|
MD5 | 536fdbb96d87f114fa29e809ad569a1c |
|
BLAKE2b-256 | 30bbac0cd95b7fc8ed7cf69470180dc2b6791e1244ebf3c34c1a3a48c4b34810 |
Close
Hashes for ast_grep_py-0.26.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 777f3afadc44a0aea17608bfea39663412941a2a0e95816b88c86679ff89d9d6 |
|
MD5 | 032f0c70e115c549238e7d311858ffbe |
|
BLAKE2b-256 | 28c65993ede609edb2a2d8e903a7fa2732db44fd05cf081df2a9bdf1a0aed9d8 |
Close
Hashes for ast_grep_py-0.26.2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8febaf36d36bf2263fbaf33c51c5343b11a58a140b6cc6c21f2b4f325f577e92 |
|
MD5 | 2f0d9efd97573a50beb78bdd1acc1fd9 |
|
BLAKE2b-256 | 1bd773b1cc7ccf819d4c7824e6af55df86d4837c2d8bbcb5054b29e22488aeba |