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.6.tar.gz
(108.6 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.22.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ea58acba997b9821f3115981d7b2f89679f2934aa13c999e795155bf8619852 |
|
MD5 | 8bf7d13f7da7196073bd26f337545e57 |
|
BLAKE2b-256 | df5aca03a029ac155ca7e0cf62dd6bbd9e41288fed4d8df10fb7cddc29be5bc4 |
Close
Hashes for ast_grep_py-0.22.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edfc913dada72a445cf94290fffc170f0408969074751159266172fd6dce77ce |
|
MD5 | ebddaf69187e708d48f0de86a424a4e7 |
|
BLAKE2b-256 | b935f0c37db0812c7411dc10c84aacac32f7ba793540955385e1687277f86116 |
Close
Hashes for ast_grep_py-0.22.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f43889e1a88a765baae706b29b1809c5245f547ea8cb070b1ff8760af794d3f |
|
MD5 | 5b371b8c4f84f203c263078f56d457cf |
|
BLAKE2b-256 | 5c9eaf168bd8840b11802ea8b78c1bd84543846b00d93d5c724b37ecda8434b4 |
Close
Hashes for ast_grep_py-0.22.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0decf8f7c17ed5b9ebf6d252664c982b9332149ef53d94f67f14cd8034a7dae |
|
MD5 | f5020c98c7e12e0097e060ac1b46d615 |
|
BLAKE2b-256 | dc9f48e2184e0d7fcef7c4d05570990e66352eee3c1bb353a7aca29ec23f8360 |
Close
Hashes for ast_grep_py-0.22.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5adab5e6f9d964a9eb7ca97b5c7c852c72970e065adeb2805cb047203506f9c6 |
|
MD5 | 3db113305530eb400c8500804ca6a366 |
|
BLAKE2b-256 | 6c91b3a08507a3f013e31fc8d0209c075a382f4f23f2abd70638b242347ef3c6 |
Close
Hashes for ast_grep_py-0.22.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ef57e3844f8a8aec9da11ff7d5484b1fa40c2c952cf8f62c5a3d44e8cf14226 |
|
MD5 | 8a0fc3f551fdb54723a2325b2e90902d |
|
BLAKE2b-256 | 324f9ee377bd51e5eee291468b773bc89d3dba9f0466eb94afc8ed854598f054 |
Close
Hashes for ast_grep_py-0.22.6-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 262e1882e0a268909cc8f99d079d8fb248f47194b3d2505f4036f2bc8f8f5c1c |
|
MD5 | b419bb0e404033bde54eba767115de09 |
|
BLAKE2b-256 | ba0f58630d9d3feeecb0312f7233e6e4ff769d1be5d6f278c43608eeeb7ffe7d |
Close
Hashes for ast_grep_py-0.22.6-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09d3fc716db959de1a5ac40ef6a966b4a13ba355f68f935ae547492b088c4cce |
|
MD5 | d7bebec0cfe8bd1048b80bce99f9985c |
|
BLAKE2b-256 | 218cbf9ef347499a830b172847d5c019316b7cc3a1f66bb2cd78b66cf8ffe8ee |
Close
Hashes for ast_grep_py-0.22.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c918718ce3f629a8c1413b743fc53ccfa1c0e6591e181616601968f02b419b28 |
|
MD5 | e912061ecef175ae11f2a762263e50d5 |
|
BLAKE2b-256 | 8ca98a0d71f45170fa50c60a59a17799dfc58a623905d67a5ea6183a05faa392 |
Close
Hashes for ast_grep_py-0.22.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ecd3c703012599c33bf5a87fa199fc85d37c0aff8bdc6aa85c5bf7ff25968a0 |
|
MD5 | 3677088de70c6630ba94b907e6093b91 |
|
BLAKE2b-256 | 91651a1a6ea127367f3160e4f633984c194cae5e2c9adb634119605b9c934f73 |
Close
Hashes for ast_grep_py-0.22.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1736816eaa876ef116eb57307b82000a5cc23460e0697baaa829ca7cccad0e03 |
|
MD5 | 6f2b8529c4d5c4ce7cef7c057f3d5510 |
|
BLAKE2b-256 | 770a12013f59067eff5330fd943b9fa9ae01d3344ecc935fac17eb039c8043e1 |
Close
Hashes for ast_grep_py-0.22.6-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d1ba7e14a4befdb00b9fac9c0d105cbcaaf275a5104f0350610405c2ba9c968 |
|
MD5 | 1c3d58c6d2840e3bcddc16d2c0c65ea5 |
|
BLAKE2b-256 | 0a3d121cd1d90e02f8cf7518423d49e7865fb52301488ffd1876481f2a604413 |
Close
Hashes for ast_grep_py-0.22.6-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4810ccb8870ff42a5c7931d3ae51127b8c403c3de89d037917f7ec3b0e32e95 |
|
MD5 | 9cb74fbb0490036d1a29d674b8722e3b |
|
BLAKE2b-256 | 09e54c4749107812eaf31568b69fa135e66a4b2832aecd6ff32bb705e9530cb9 |
Close
Hashes for ast_grep_py-0.22.6-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d10df1d5fe27551fcdc623f16885807d6c8948204181d5cae5ca5b6d06e0ce1f |
|
MD5 | 7d3222641dad1e6e11c68c1a0d356991 |
|
BLAKE2b-256 | 39b41827cb718a4b1695e79dece3c517527400e9b63c46780b6e36776b90f203 |
Close
Hashes for ast_grep_py-0.22.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e7aaf55e01a0c249e18e25f8e641049b85a15c22b23391b4463bd7223bc2f4b |
|
MD5 | 2f6a0328d13e421e0e73dedd83663731 |
|
BLAKE2b-256 | 07520fc0a0553692865e31dc2a9aafafe8f1173421b741c55e9507301bdf62db |
Close
Hashes for ast_grep_py-0.22.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89b032badd207e01f88b14d648f66f4f2119c1898a04c9106d007ead714a2072 |
|
MD5 | 6d42f997f99030f81049bd03bef3cc37 |
|
BLAKE2b-256 | 7c185c0ff30d343921cad3a92e46dff2a6eac790adcb2f8b1bdb3626f921763b |
Close
Hashes for ast_grep_py-0.22.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a33bc0cbad573061dd6a234017e13b3b08ee6b256785422b9e89dbe28c8058ae |
|
MD5 | cc1452f42904ca31f927242b38ed4b67 |
|
BLAKE2b-256 | 87daca7740bb42268db5de00d0d1307a470046c25dafc37c4c5d65c0c668227c |
Close
Hashes for ast_grep_py-0.22.6-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69c2e7ebba7333935d9a9c740317c5c14066aef752d0e5124ee15657fde8c9ab |
|
MD5 | a4e82c7db118bfa0e9d2dec63e0f9590 |
|
BLAKE2b-256 | 0424a51884ea919eacd6712950998d09f403394b522aa32c7282c19523333a42 |
Close
Hashes for ast_grep_py-0.22.6-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 458510d516ecf947a5bfd2cb6618e82838189367da912f4f1278f734284a7606 |
|
MD5 | be3e8e26f028f85e060c72028d6154f4 |
|
BLAKE2b-256 | 734a600a8ee4233e6174240b2cfa3d7a2d549fb23454ea67867badaebfadcd68 |
Close
Hashes for ast_grep_py-0.22.6-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0edae60faaefbd94c60745bcd4c03679afc9d3671aeea95a852e68da072bf2f |
|
MD5 | 2b600a9baedf0d70d0df0dcef3b06cb9 |
|
BLAKE2b-256 | ebc5e69d04d0e2c6c3520c05a7f2a7808528c1f5739564297defde1572156221 |
Close
Hashes for ast_grep_py-0.22.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d16ee9bed3223f3f3b43e018d685f4d4ca063d11d2949c300d2737c9ea763d28 |
|
MD5 | c70d9d53c28487811e7373da28000add |
|
BLAKE2b-256 | 2adcb6f48514de9add5ec0a2438724e6d997889587b4ce7ac435b67f699af598 |
Close
Hashes for ast_grep_py-0.22.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e908e25a22332e17162e7acb72dd80bcd4dfc0572f8444f917a6346c3b40455 |
|
MD5 | 66cbfc0c9a02ad5feaa48948cabbe097 |
|
BLAKE2b-256 | 0d5180fc846c87d88731e609a92b217c5b570e653f53fc7ffed38c0b6f03017e |
Close
Hashes for ast_grep_py-0.22.6-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b807451573cd234f952fefe30195c5d0ebc6b6d7d1db47bcd572d5dcfd66f67e |
|
MD5 | eee8112641359a813b000fbb81e59c92 |
|
BLAKE2b-256 | f5ed2eb98a00c80af94d317de9a4559842eca0b870adb1c667d7fc66bafc9f07 |
Close
Hashes for ast_grep_py-0.22.6-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adb254e6eef89cff31f06307f328eeebc93100e60e41b68ceb158177510e1787 |
|
MD5 | f71551ab06cee6622196193171387ba0 |
|
BLAKE2b-256 | bef92e9196bbadac32b34121b6234c4544e14d1608c1b79e85b186901cc54308 |
Close
Hashes for ast_grep_py-0.22.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82e70914dd7a9c512fe671111881060f03787b550ba547ca691eb1b65ab09402 |
|
MD5 | c271eab52ea1af24a63717c9f7a7db77 |
|
BLAKE2b-256 | 0c8ed8ff019c58ad47acc9cad8f9638029cd4cf62746af407f26350a8944ffe8 |
Close
Hashes for ast_grep_py-0.22.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ce92e6e55330254e8ad56e69c04e4e094ef823a1566c396dd331783fd1593d7 |
|
MD5 | 81b64b8c259061f2c9080186278c25ca |
|
BLAKE2b-256 | 97afb0caf6e782e9b2b7676a23b8fc7c41584bae21eb6f5c81af959eb0ed2f7a |
Close
Hashes for ast_grep_py-0.22.6-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97125eac632c8d4225ae64004bfc2290e1e18463f1c0a260b03b816be49066fb |
|
MD5 | ae38c385a1f59b3b68ecea594e63a905 |
|
BLAKE2b-256 | 3d3ffe1d181ec1984fc5c582ed451a794b15c63d1fa7d2f74fac1601301e7a07 |
Close
Hashes for ast_grep_py-0.22.6-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a77da4c174c6c239a4dfd52eed0b65435f243657f64fd977f4c8521f9c732f96 |
|
MD5 | 1490927e68cff862c82e80010522897b |
|
BLAKE2b-256 | 032ffb9fb1f276bdd655821bb0f7c6cc3cbc0639bf9e0f80db6f4595cd2ab1d9 |
Close
Hashes for ast_grep_py-0.22.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c93487e1dc45e4cef14ea0c0a93c9ec8a279ef331e337bce4d30ab93d2c9e57 |
|
MD5 | 61747a5abbef99a7d09a8818e3423d18 |
|
BLAKE2b-256 | ab1461e81f7859475e8381669ab80d2ccc89ae5c159195729b119f98f8b31324 |
Close
Hashes for ast_grep_py-0.22.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc355e37f7208c2bf3b1b345342c54d5d5bb7098e252028ecc7b2585ec022c4a |
|
MD5 | 50f04279504995b1c12d089ab9db67b7 |
|
BLAKE2b-256 | 08d67529aaafe67ddac2038df3153488fc9807f77f6c128ed77bdc3bdc03b58a |
Close
Hashes for ast_grep_py-0.22.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a7f445cbab094a2bed52bf55e53b87fe6e6f097435b12cd5c6865c4803d1fe6 |
|
MD5 | 71177c0c8ffde77d4610568abfd665ad |
|
BLAKE2b-256 | 128d5a455e5a3dda33ab8e14200925bc7fee99bb036b0b5d26792374d66e2a8a |
Close
Hashes for ast_grep_py-0.22.6-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7d414bdbca55eb383729c00b2b9d652d4afd014f11b391006bb51c1665100e7 |
|
MD5 | 873e5f68c3df0ea6a8e9bc3563a72b4c |
|
BLAKE2b-256 | 856913c3f5c5a378384f56cd158be253368cea91c592af4a7c6b23841eca8c7b |