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.20.2.tar.gz
(99.9 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.20.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9919ae6460363e85214d1b56cd50c829f97d75f1f3fca85eace85e92c81a88b6 |
|
MD5 | d6ab9fd492a47a0fbf283832b0e06427 |
|
BLAKE2b-256 | dd08e3182f51adc450d1ff493e0dbfb63f2706f7b4e19d587c7a4a8b6cc1ab52 |
Close
Hashes for ast_grep_py-0.20.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4342d622077f70f1312e8e1a8302d651db0f4d85e8b4595cdb7b3e90b7752c34 |
|
MD5 | 64b99dd752062b8a761fface43aad1fb |
|
BLAKE2b-256 | 9d61ce5e865b462f84144a0e0792968f93755283a8247a61e2fc8de99bd339be |
Close
Hashes for ast_grep_py-0.20.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b013d31c003efd04152b965c65feb06627d1ef21975f2500fee21d4484667b8 |
|
MD5 | 1f5f613bf92d1c4ff91b6dadceff254d |
|
BLAKE2b-256 | 51ff477e7da5dd86e22971d50764d9ff190fd4929f9f390554a46d576499d63d |
Close
Hashes for ast_grep_py-0.20.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40b09cbfb4b584954253ba9e91882a9421116aa5765790344cdfab31af810a95 |
|
MD5 | 972fa03218ddc4e049113b8a60049ae5 |
|
BLAKE2b-256 | e864adff737d5c47162e2a4735e8241da83ec795728c1944032501f685de00d7 |
Close
Hashes for ast_grep_py-0.20.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92e74d369f02f3f28b2687832b5532b08d556de24df16b1c35a955bd5893d178 |
|
MD5 | 51185c0db2703b32565d318e0d84517e |
|
BLAKE2b-256 | ef2ff74f3bd46641f8cea103e317c52cb37ef75737213e9eebbb8ea54fc36fe4 |
Close
Hashes for ast_grep_py-0.20.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbb8a2cc71333753f1446f0a049f74025aa88e79a4977b17fe3dacd139b39ecd |
|
MD5 | 018d8c363ede8b52ec604a008e5e0653 |
|
BLAKE2b-256 | 6f31624f07cb617e3f96d6f857ca523541d39fb2f95934d5e478366c12266d8e |
Close
Hashes for ast_grep_py-0.20.2-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a88eed96e2f73f49c1a4252226d9a106e95806291a091df216beb60eec6705a |
|
MD5 | 1f3ed360cd5831254cbd754073bf693c |
|
BLAKE2b-256 | c8d1cf5f955840bc99804362284685d5572ccb3af142f4ee0590bc2dd1b0f1ac |
Close
Hashes for ast_grep_py-0.20.2-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 760542452397e739f292c8df53c9f2309d570e101285e85618fdfda401527754 |
|
MD5 | b267cef8fa285fe7b8e45d52f8422630 |
|
BLAKE2b-256 | 3fb30deebe15393c09cd5a04713552774a9d06b22e2d420a76e171169ab63459 |
Close
Hashes for ast_grep_py-0.20.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59f8110b7a5dd1425ece9ea3effa0afdc6c11eb3483909c43ceb2a8b0c551a4e |
|
MD5 | b1429ecb9aee2b14b5cfd99849072f1f |
|
BLAKE2b-256 | 9233512817e54b1104c6f612839d352f4005913f21ce9752381eac5b00d19198 |
Close
Hashes for ast_grep_py-0.20.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72232e577305a862f1b59ecd55239aa6b4b5fa8a3a6ba12656d5aa37f12301e4 |
|
MD5 | 20d65c1f5bc72f4402b01d06ec77adb9 |
|
BLAKE2b-256 | c61826b4d1a5db49662255440440c8eb653af9e2ef82a1523668b40722a7465e |
Close
Hashes for ast_grep_py-0.20.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9b9eb9f3214c3bb26f46de9a0c54fa8b481e54bcb3a81efa52d8d851fd494ea |
|
MD5 | 950a8a73ab39c560b44600a4f80b7d6d |
|
BLAKE2b-256 | d83a8685d4fca3bf1f8ad7f7d6d22b73c8e2fdf2e1add31c6dc32a68258469af |
Close
Hashes for ast_grep_py-0.20.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 999ce2ce3899d96e0fc6baeebd6cfb606455d66b094215909dc661680e1aec4a |
|
MD5 | 9597b47cbe94b3b977207be034f1ba55 |
|
BLAKE2b-256 | a16c6511c81dcb89719f94601d9eff2d9743186cc74e1eb78465e55ec4245dab |
Close
Hashes for ast_grep_py-0.20.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24347a81b6548d64affd06a50756826ec9608ff85759206ad058c91480cc8f1c |
|
MD5 | 1eeb53967c118b5d5e619786cfefa842 |
|
BLAKE2b-256 | 4c70dea7dc9b965d01ad8deb75a8d5b8f1e13acf3044919e8f4e0ccab256b7c1 |
Close
Hashes for ast_grep_py-0.20.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb828449bfc9ec28fb93faa77c56c110340070b21b529d4486f377235eddde4e |
|
MD5 | 22d1ef472476ebef5dff606146757dfb |
|
BLAKE2b-256 | 922df8073579d34cdc2ba7e3898cae64b6e7c537082212659e0c75337b684eb7 |
Close
Hashes for ast_grep_py-0.20.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 284ba0e9617ff35aba4c84a7a6a7e420437d181ace19c4f8c7a2b1766c25482c |
|
MD5 | b3b41e5a0ce7d1bba53a0f8b616835f1 |
|
BLAKE2b-256 | d7d8f27df344fdae608046f594630b0e6f200d7a92ce9ca8505e599551dbe4e3 |
Close
Hashes for ast_grep_py-0.20.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5928d0b66d00b1e3c0b28220a811b4c74198bcbbd0a7a23698624f81eab47ac9 |
|
MD5 | c8b3f79c8658bf7e97a95ccec18293f2 |
|
BLAKE2b-256 | bf0b441c09f23b5a9f0f7319d36be4aec8508cbed764580422567f63778fbf96 |
Close
Hashes for ast_grep_py-0.20.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d73b0f5c175a77e96e8104223d3c52ff7e3f68171d1d7994f9c1f15755dd08a |
|
MD5 | f7bc01c665f89e270d9a886213604dbd |
|
BLAKE2b-256 | 9e36dc43853e5a773caec9dd7313f71c254988d16fa667844a420ec2ec838861 |
Close
Hashes for ast_grep_py-0.20.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1c937363d26a8d3479c3b608cb1e3421713455696dd459c6c9b650600096fea |
|
MD5 | 8de1fb54819e8b04a703f2a34df4d48a |
|
BLAKE2b-256 | e3c0b3ec807111dc4f55a78b50d260649546dd0e6dccaef0a7f6198e998b3d53 |
Close
Hashes for ast_grep_py-0.20.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de63095176d974ce09c1834b5e6700351c2ab4b9119297fd5bda49c94feef777 |
|
MD5 | 29f27ad92ac4e657e2573d2e5dd55eb1 |
|
BLAKE2b-256 | a69264696dcc2379b75013b59fac4e04d5546b955fb70424db8d68557f78e3d5 |
Close
Hashes for ast_grep_py-0.20.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 792f51396186dbfab2a601d3471bdb3c706b7862b64c9c46cef4c3ca91363c78 |
|
MD5 | 04cda42e9d781dd6c3b035004c07e536 |
|
BLAKE2b-256 | ff543eadb2675a0c3b7c765451bfc51127027eafc538b69f33a2041215ded2c4 |
Close
Hashes for ast_grep_py-0.20.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5cb8ac4e14bc078924dac5bfcf580b554c60db9cd0a98667a2da65c2ab116ca7 |
|
MD5 | c7b77328f466dfb308d672dec0d596db |
|
BLAKE2b-256 | fa5c0d152cb14235e67f27db5977f9a6cddd03df35509bef03ba31821ac7bdb2 |
Close
Hashes for ast_grep_py-0.20.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8139a44ae48008cd2ce32fe62fa7f67dd2437881d9b8e4856a144113c5ccb590 |
|
MD5 | f72523985fb91baf7cb789f275d05f69 |
|
BLAKE2b-256 | f1b5e3a639d9614d38402cba39396b42d81e84dfea6d5a90864d2978951780ec |
Close
Hashes for ast_grep_py-0.20.2-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd8db70b40aa015e9acf077775b0c157520c6a2840f4241ed2cab1110569ee3f |
|
MD5 | a3af07baae2a1011b3187fdfd21d9f90 |
|
BLAKE2b-256 | bf1dc0f6264f7fb1f28e0eeb3566df389d36d7c83de7a3b18c1b77cdd0835597 |
Close
Hashes for ast_grep_py-0.20.2-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f75522a996b7776c923983d20abea48c76d04259acfcadde74542a47520089d |
|
MD5 | ce2b81cf7b1b168248f186189c610e2f |
|
BLAKE2b-256 | 4c977d145b0ff8bf557bf974791ce433e093fa51c454a29891a6fd8656489e0c |
Close
Hashes for ast_grep_py-0.20.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08cde8da80c490ec9e0d9b421c7c6df7114aa07b2a3038a2215216a35ab67f11 |
|
MD5 | bb63e29efd0da02ac5f4ed32a6a9ff96 |
|
BLAKE2b-256 | fd5a5cab253d5da54d3f23f3a1be44c3bdf6a7b54fa3be53ff68c212a9ac5886 |
Close
Hashes for ast_grep_py-0.20.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e5d4e60e4e0f455427ec91de26454f3ebb2387d7c0cf7fe318589ea721806d9 |
|
MD5 | d947276de52b1cd66e4a7baf3abe59a8 |
|
BLAKE2b-256 | bd10d8cdc561297afb15c5433fcedb97b9282651aba3694da689fab2f9647fbf |
Close
Hashes for ast_grep_py-0.20.2-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b868bec071020d48bac58895cf1f56b1b785b0f81f9a82628e007a2c99584b1 |
|
MD5 | 7ce6c1a8253855a5a50e4df415fb7907 |
|
BLAKE2b-256 | 6fd32423f83aebc0b3e6695b38e1780ea65d4e4b5f7dc114921aaecb6b81074c |
Close
Hashes for ast_grep_py-0.20.2-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05a7a998351560387b85cd994499fc2bf710eeec7a2d522ae48b5474e96e0be9 |
|
MD5 | 5bfcf51546c5d4f0ac85a45e9d9960db |
|
BLAKE2b-256 | cd93fddfe26c0e3cd849404f71ed7a07f3d0c8adbbf8522533e50b189403bbb3 |
Close
Hashes for ast_grep_py-0.20.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 309290b6f2be525d3713ab0425778fe94a36d32a9fed707afbdbca6b013f5129 |
|
MD5 | aa5a6facde7e881420757cfb6c8c4632 |
|
BLAKE2b-256 | fc3d40861a02a29f358c470cc3952a141f4b6615f332cb99eb9fad438d983d42 |
Close
Hashes for ast_grep_py-0.20.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ef2db7a6af569c544aecd12b24a16a97a73d2dedd513efc63bccfbb17fb1310 |
|
MD5 | a9032c64ebee0c0161730d238c4aad3c |
|
BLAKE2b-256 | 9889991a78cc29484e78eedbc8485e596306a426b189aef39052b440571f4f1b |
Close
Hashes for ast_grep_py-0.20.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc46e63276b01940a383e3fb7687e3d6837c8a19fceb741b1a5adf17ab4229b1 |
|
MD5 | 57a9014b2874e9c326471656ef8da209 |
|
BLAKE2b-256 | a6e0b15296d75c3567cfd3953c252665dbb304578607760480ddb1218309bc43 |
Close
Hashes for ast_grep_py-0.20.2-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4318a40d9e78f22af8b545e2e635ca7b75f36cf08395406916a103339c633348 |
|
MD5 | 72a854bec176547767e3a05517263ed7 |
|
BLAKE2b-256 | ed0da4136eb61b523b2b8423a50ed6e247db4ad00698a838f74fea4160bb27d7 |