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.16.0.tar.gz
(93.4 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.16.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 245c10bc9b610ab03447cf410bd8d4732976f4c379d4d3092239cbb496103023 |
|
MD5 | ba6beb9ced57621f9dc561299b48881e |
|
BLAKE2b-256 | 896d2f030bc99f0a647cd0a9c27d88a3f66662b83fc9ea0fafa0e63a21b0589f |
Close
Hashes for ast_grep_py-0.16.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e9d029ab7730abb031d7a88391ba2cbd3478c1a2b96a6c087f57d91d5a5bfa2 |
|
MD5 | 8c5477cc288b9a33c379af512fb0e561 |
|
BLAKE2b-256 | f6c8017f9b838e90edd22b898fe4e6635a70b962a0bb392cceff1cbd70c07d76 |
Close
Hashes for ast_grep_py-0.16.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 427466b304a579e7a348984ce838048a31230223dbb94848ecb74fe9f62d114c |
|
MD5 | 21068e1e1c4acfef5a18216ad6d699d2 |
|
BLAKE2b-256 | 35b4da3c0f7ec02994fbd7db9574420911fcbc61036302e0f70883244504496e |
Close
Hashes for ast_grep_py-0.16.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0adeab9516c171398ce3544ff56d1f9fcd1886ad7e6886f511abb2234ede4d3 |
|
MD5 | 5cc83e94f46ff7f1423f33bdd22e2443 |
|
BLAKE2b-256 | b8a2c586e4fe492aba5de3767ae24ae0e64db7b8a3fa1ac6432287d4332d3dbc |
Close
Hashes for ast_grep_py-0.16.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a3b2582d660946d973a908513d09038e54a2d92589724eaf776e1f76e551319 |
|
MD5 | 62656d8c3fff2716304ae90aac3190e2 |
|
BLAKE2b-256 | 3730d779f3f96858e5d54bcb85569e53a943b02670f61d0d7c2ddcb24996dc6d |
Close
Hashes for ast_grep_py-0.16.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbf7fea0e12793bf1d70998abb3dc2e24c6929574eb99e31586f40a267380b9a |
|
MD5 | 587350ed354eb61b553dc1dafc34239e |
|
BLAKE2b-256 | dd44b89cb1651529bab18a53d43b6eea95e42508513e7612613b56249dc0dd70 |
Close
Hashes for ast_grep_py-0.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2c6c52a099506b57998741829aaccc881bd56156543450f87a39430ef168741 |
|
MD5 | beacef92f163988d0dbc2cf0b46c6f59 |
|
BLAKE2b-256 | ac95219adbb30e5cb57505256c778ffcd6c813341e2497c2ee2386d1bc263e66 |
Close
Hashes for ast_grep_py-0.16.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fed0f69a697c63332eaafed971fceafa22fa60ccc9abb498db9b06904e8a89b8 |
|
MD5 | f20e0352a520d6d4d4b3abb90c42f5ee |
|
BLAKE2b-256 | 47171b92fb3cc3e8cbc82f4a7d7e2780308021ba4411ab5ec8e26488d7966124 |
Close
Hashes for ast_grep_py-0.16.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 44d8ca1ae8524e45b7e6014bc171b5bfce9ef1441f3ecd92445534ffbb3bada4 |
|
MD5 | 22f84f0ac21e92f90228449b076d973f |
|
BLAKE2b-256 | 976e2d106f13b99c3bd02e6d00016a272fb92d7dc31bbb7f2371c3728e029def |
Close
Hashes for ast_grep_py-0.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db6ecf5301fed0c58c27e6a2131d7971bb0a9011d885a22a64296478156a2563 |
|
MD5 | dfd4878164990c9c501b63bb8e4ee9fa |
|
BLAKE2b-256 | e7579b9a87b70661e8bd714568d11fd825b9e0acce74ce9d94342afed12e2c86 |
Close
Hashes for ast_grep_py-0.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c77e565dd03cc3d76985539ceb01e4cd8ccd58d8af81ab3d050472d434eb30fb |
|
MD5 | 0112f3d76987286f59b6ef30a4f7b8cb |
|
BLAKE2b-256 | 865c157f0282b382e47203e7f6322a59626c36ee47b34b08c5d3517ec809c24c |
Close
Hashes for ast_grep_py-0.16.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e51690d31e7758b71e6b17921b699a20aec4e57d0307a483f160291a4329912f |
|
MD5 | af33336aa638c110fcb5e2023482bbd8 |
|
BLAKE2b-256 | ce11a6d671f57148a345681a1a74ec246355b2281c65bad4bc530fb0a6482e6f |
Close
Hashes for ast_grep_py-0.16.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28627082ac1da3cb675a7165ea3380ce5ffa55d0bfd21eb58b504145001d5ceb |
|
MD5 | 5f5fa997bdc6d73cfb5d647e54216f70 |
|
BLAKE2b-256 | 19073912e6fccb173f60b17472fc0f5b6306586c14d685fd5806a54ec703da3a |
Close
Hashes for ast_grep_py-0.16.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72a9e169b9a25b0d3c359aa17d126cee2f9bcb38716f559d58cac603e82c7280 |
|
MD5 | e85d50cd02505f39008391e12fa2708e |
|
BLAKE2b-256 | c0f5beaa927865a6576df5bb8c4416dc1d3a6b7790a579c035168f2fdfbd9a18 |
Close
Hashes for ast_grep_py-0.16.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c2a507ac44b04fefb409047a33a77327d3f881809a4678fbc8d5df84468799a |
|
MD5 | 4cdb1965504e929f872cb018e32ed3d9 |
|
BLAKE2b-256 | b98beec9753b7360f1b06a47830e4e66d2cae78c3a1f16f6416cb2add650b72f |
Close
Hashes for ast_grep_py-0.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db6265f2e348dbc72818f72c613db823de9bf145bb97377ce73756bbc4d46b75 |
|
MD5 | 971435c4bb71905a94155290b0a2e74c |
|
BLAKE2b-256 | a51fb9fd5047fb975e968132388002283910addea60c0246d3162fbcab68f977 |
Close
Hashes for ast_grep_py-0.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e885441fb10ccfebaaff2aedec6d925eae1400646147f93b354c46b91293399e |
|
MD5 | 0059017f5702e77f57467f3eff20dcb1 |
|
BLAKE2b-256 | 75c2be88e9114a94b60d65a86931e14cf34f67c13ac868f571446e8a8e09470e |
Close
Hashes for ast_grep_py-0.16.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8275a4cdd508ea67ed080139224f4d132d8575f67b84d95a4fafb5b40017a49e |
|
MD5 | 512a02cf1e1622de99814b5dae03877d |
|
BLAKE2b-256 | 9c4d81517bebd97c50e955953fdb3db97a7b6e333e98101d8c375128ae40a150 |
Close
Hashes for ast_grep_py-0.16.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1a2b32b13c31f22577efcb31dc1d4fb15aaa3fdbefcb39d232dc51dbb9920e5 |
|
MD5 | 929abe2b704eab2e249b6f7c801b1333 |
|
BLAKE2b-256 | 53f76a9f2214551e95c4ec82caa841f6c6c525a13d31558293c3a4f4ed1256ac |
Close
Hashes for ast_grep_py-0.16.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdceeab0ac20c1086439df1136d17fa727f2f8b4b6ebd5e3d76450af354c19a2 |
|
MD5 | 1da89c241d73cc13b2ea1a70b0c76456 |
|
BLAKE2b-256 | be4068381d1e63b92d697d6a3ff10f00c6c2d4f1d24f32db3c2f0dce0b28f435 |
Close
Hashes for ast_grep_py-0.16.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52f5e86ed4cf01b79ccd134008528679ae2792b258a30f0f2ec79d92431ec39e |
|
MD5 | e05925f780c5947ba0c94f2a54dac480 |
|
BLAKE2b-256 | 15bc39213beeca68b95c6c6a8e5389e396d3f70e18d5c564df9f7bede1383b2b |
Close
Hashes for ast_grep_py-0.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca31978b9030100679ca2ce0ab47c85a15241dcea69f89c5c73abbd98740a1de |
|
MD5 | f9a2a654a239b44f6c9c8cc3826bdcc6 |
|
BLAKE2b-256 | f875da3f97e82ddc6b1dff00a8ffab6b4c97902e5028a3263b074f130cbef8f4 |
Close
Hashes for ast_grep_py-0.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c480d5ce2405ae8096e220ae38b2f5c599df760c236780cb27d6b67d0f856bcb |
|
MD5 | 2a0c6e9ba03ab7ed73ad9d0f6865b44c |
|
BLAKE2b-256 | 60d7f3a0d36e51576d543324c92e79225b745b8da0ce528c09409c7697adf318 |
Close
Hashes for ast_grep_py-0.16.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18a38f7ef3cf277d9e012ef1b904a756fabd441ade4642fd94687eab103a8819 |
|
MD5 | d38a8de56767dd72a855f1c30aee0d37 |
|
BLAKE2b-256 | 82e23554c19412afa6752a4c8b2463f1d606b46498a254c70e5a178a1ad2219f |
Close
Hashes for ast_grep_py-0.16.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0eb8fc7cba2b50f7709911c8926afa1c5a5930f4764e8257bbc797ebc37d4832 |
|
MD5 | e7490aec2617db50e5893e52570a24d8 |
|
BLAKE2b-256 | 930146e6aef0d249b3a2c9b419da960dbb85067e83e7a0c06450b333ae245bf3 |
Close
Hashes for ast_grep_py-0.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c37181f440bfa644099a0b20c9339c01803921867ad2eaca17c0b93bc5007de |
|
MD5 | 4a28721a09e942ba0f129ffefda30dda |
|
BLAKE2b-256 | 1cf21e9808424fc95f837c5a2441300516c5159dcacfa8b3c4cf3fa2267eb31f |
Close
Hashes for ast_grep_py-0.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 638651f255dbedeab70ba31ecade7937ad759909f61caf0b49919a4e8333e1cc |
|
MD5 | 5214d1520a25ea78c3eca709d2e38f4c |
|
BLAKE2b-256 | 17fbabe4cf10e547fb0bb1d51d43dc7c1c53d61027f2515bb9171739815bdf1d |
Close
Hashes for ast_grep_py-0.16.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 410a9178b88f41daa6699daa89444b5707d7b3d1fc63f1e5542c7d08f03d5b58 |
|
MD5 | 1ddc8aee769be4becd480b337a6bd67d |
|
BLAKE2b-256 | 09f4d2d01687a315d954e2c7542704e1a05e8f41ad14a5837716594eb31d59a5 |
Close
Hashes for ast_grep_py-0.16.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 831610232f575f5995e68ef6c13f10d5519751f1482ed8d0202b2328da7af23b |
|
MD5 | 90ee55cf246894b2740fb8be501daf5d |
|
BLAKE2b-256 | 3175530739b4e5dd1c727d2082297002f7a147c9c848fc574b10f5fe659184b5 |
Close
Hashes for ast_grep_py-0.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2cbbebd02118b2c139db9c441593055f546908b69cf69059498289ebe52dd19 |
|
MD5 | d3f7ae55385f32f6acd8952bda8c88d4 |
|
BLAKE2b-256 | 15a7d870e35ead852d7a95dbdf64c187f9ec6e7b49970ac93ed1ca12007c1c91 |
Close
Hashes for ast_grep_py-0.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe68f0d6c353d89c613c442c7005c5e9f1ca5a670a56736c2f55b23dec5a2c8f |
|
MD5 | 5539c3bd1a10c0775ef9cbbd4d9d0c42 |
|
BLAKE2b-256 | a2c50a0a6b5dc497a793d9ca450ed6d61976b7fb3c1da6703642b12fbfe8a7b1 |
Close
Hashes for ast_grep_py-0.16.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9d4f2c6412ea45528b99df5e8a84cd8925e3657f19411466fe0ac53b93154a2 |
|
MD5 | f79d19de79ded75fb28a2fe3f58eade3 |
|
BLAKE2b-256 | 67c8b0588fe5d34e50846cb17c5c59eb452a44cb171a9c6d3011466ff8a835b9 |
Close
Hashes for ast_grep_py-0.16.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 663e9a75e90303968845c1abd8d71f3b64162bfc3f5d065676682c6dba0cd614 |
|
MD5 | fa7d0b96db4c9ed9f1c63d0075bac4a7 |
|
BLAKE2b-256 | ea4a7b2fa9b96204eb32fb30a6b5b1c7616bc04b9dbd5775db40cbbbfbaee16e |