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.13.1.tar.gz
(91.7 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.13.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a5355aee39689e5d4dadfbd18dfb4d520a93a633a6d087bc286d780fb4b5038 |
|
MD5 | 6e5f0d1743c06da6d588ad9309cd9aae |
|
BLAKE2b-256 | 41a6f87f888f81d83985bf1f21425e0de3883bc7fefd768fbcf8fbc9651364a7 |
Close
Hashes for ast_grep_py-0.13.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ddf0161d503fdc43b0565dcb5a42a8a5f2f63fd5c63bf43f3ba024358a61001 |
|
MD5 | f40ff3ec5bbd976cc0c869eb6e0a0ddd |
|
BLAKE2b-256 | 514c1b1da9dc39fa83a53762a6fbb3c50243820c2cccbc466c3cc1a08810dc04 |
Close
Hashes for ast_grep_py-0.13.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e2139060ae883641a9653acfe19d2af00e9f92367289563f954f6a3d31a8994 |
|
MD5 | be0537152cfe156d1f3c377f9e523928 |
|
BLAKE2b-256 | 063aa7c78252b7261f1cbdd67c1d91a8f07a06672ab4a71bba691ce7c9ce95db |
Close
Hashes for ast_grep_py-0.13.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4877a9ba4f993c4b798649f3742f592475010b1e7554adca78221ec5290d7d78 |
|
MD5 | c9b31d3397dc00b270a09b9f41273769 |
|
BLAKE2b-256 | d4291566c3a0a85e65460d4ea3170a655da47917bff4f00a960f251aee167dc7 |
Close
Hashes for ast_grep_py-0.13.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27944019600c69fc7d6a2ab9342240d2646cd69c75d826cc6d70b691fdc2e241 |
|
MD5 | 8af58a5c310bd0d3862c274c05e85bcd |
|
BLAKE2b-256 | 54b5600ed8f124124ce2165e5c7c63339c39e86419eb5740754d7fb008084e63 |
Close
Hashes for ast_grep_py-0.13.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a8a622d265340a37a5c7fbd595e1e7be1c963564f5afbdad0ff880a4d5b2a91 |
|
MD5 | 81b1714bba37a781d3f828d7081fe720 |
|
BLAKE2b-256 | b7eebf70a30015cea9d0a8d2bf336c9090aa529ff88319061d88ec09cc00df67 |
Close
Hashes for ast_grep_py-0.13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0956252ad547fb38110d4f190860b5a24aca0d35e229644ea18c8cc51f3a79e1 |
|
MD5 | b548834cb2289bc81d832c13b27285f8 |
|
BLAKE2b-256 | 7e27a7a4278b1710ca59727e7f3fa3957c7a0e47e7935cf4e226c75dadd73bf7 |
Close
Hashes for ast_grep_py-0.13.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ce2e5ce26ef1a0c6f10a68590184a621c868ee8c80a420b28ac8f1f47a2d6b8 |
|
MD5 | 3b79e1bb0ebc847acc4e672e869d949f |
|
BLAKE2b-256 | 25f114b5b11e3100579fdbbe8f154ae30b1f2867671f03cc9a7467112239c502 |
Close
Hashes for ast_grep_py-0.13.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f153c2e789aeacc91546ec37c33adbfc483c323b1f2984beea4ad447f05ac177 |
|
MD5 | 9904ced4675e167b4db3be3f037a29f6 |
|
BLAKE2b-256 | 4465c3ba0bdf16d45b21a73cc24cc23661e5188261172b4846af658a2f1077df |
Close
Hashes for ast_grep_py-0.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d33101738bde363db8c9180225caea2dc7120e321bfb0855f03b7ad67dcf75e |
|
MD5 | e19917570002bace187d50334a6a3490 |
|
BLAKE2b-256 | 61d068f0acc4049c20efa5fd60ab44c400d26f6b8ce69290a01125b6a7e647d4 |
Close
Hashes for ast_grep_py-0.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb40d7c89985901a74de62ee5d35a3972f21d1020983831d6e829be9451a346a |
|
MD5 | 9da16dc7de656895d97a3c39c895760f |
|
BLAKE2b-256 | 3a3b79fcb5b67be51de7d7f350328c803d784eb03599f72481180ce0090b14f6 |
Close
Hashes for ast_grep_py-0.13.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98f30de485386312b7ca026798f73dc510b0a09cc5a0863a8f23f2580ffd80a8 |
|
MD5 | d3656f1fca7674e6e450a2bc1b183849 |
|
BLAKE2b-256 | 6c2afec1f226847b70753a7d2949cbb4936c31e4373a0dc0fe3742988a0ca3b0 |
Close
Hashes for ast_grep_py-0.13.1-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ba41935440fe84b579479fc60b3b6c5d7b0ffef21a94dd7873572ca6b759651 |
|
MD5 | 7f0f9d305dd851d55a9141a234301fdc |
|
BLAKE2b-256 | 8c9619c608a93c5943f5d536144f3bed0ea79411757f3fe2a5e1c60cc21c4691 |
Close
Hashes for ast_grep_py-0.13.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5f05d3510df8d07153d5a1ca6d1f39c75f864d74ef1996a63ec8818b49b2666 |
|
MD5 | af2dae5cd173049c2c285ecb2bb07355 |
|
BLAKE2b-256 | 2e90bf32a44311d995444f9a61d221103921d7bb0ef57e8f34b8f8134a820751 |
Close
Hashes for ast_grep_py-0.13.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 019a9d9c0d4ea2429535028eebcd5b174b1130cee9ca25c0cf9a924cf54c5bfb |
|
MD5 | b3475e627fc9a9c63ce2cea8a84cb640 |
|
BLAKE2b-256 | 9274add41db38920bfd714083a936ce4aee4060397d36d37b37d59745bf78ae4 |
Close
Hashes for ast_grep_py-0.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8557159d850b8ba273e7de3fd519103d0d0deeec8ea80a20137664947d7b8287 |
|
MD5 | 1de28e77e7fde6a89da982db574029cd |
|
BLAKE2b-256 | 2deed057d904261e4ba8db32787c08bb7f554af3945485a5c3bd2554420a2deb |
Close
Hashes for ast_grep_py-0.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6644916edced43a7ec30df2296d3976938d8d787831d8e7563b2da1e3b7c44e4 |
|
MD5 | ac822b7befec436df56f34806649a818 |
|
BLAKE2b-256 | a9b28b8c97efaf52b416113a01f3158c3438517e15e019c1e64a42556d7488ad |
Close
Hashes for ast_grep_py-0.13.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39f1022b6fe213eae73352835adf48b639dc368c52dcb0daf329cc9ab15cd82c |
|
MD5 | 249853406784e092d5fc6f098fdf5b70 |
|
BLAKE2b-256 | a68bd975f66568ed67d0b7b426d507f43f2bfd57eac56962a62d11117846da69 |
Close
Hashes for ast_grep_py-0.13.1-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82b39dce1f511f899ec149b641d4eadc3fc4915aaa62f08a57f5d39013aadfdd |
|
MD5 | 2cf8443c391c82d9e3b0ca81dff6a426 |
|
BLAKE2b-256 | 1e4d7023f75e9858791f718cf244230ac6e5b1f10bd7cf69abdcd9699d0352c6 |
Close
Hashes for ast_grep_py-0.13.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f29624486a13341e67765d4a3be7bc88a0422a92127feab935a2c8de2ce1e25d |
|
MD5 | 4e23b96f82abadcc85cbd88dc5d4bd60 |
|
BLAKE2b-256 | 5e6d88c764b006f6edf856fc78b9f88f5583d925127c6cea76aa56c31d94f9eb |
Close
Hashes for ast_grep_py-0.13.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a72bd9197929dd928ec9dd1010037cb1248967bcbdf64ce5077757908a6cd12 |
|
MD5 | 09851bba50a472d977cd4a316ff29144 |
|
BLAKE2b-256 | 9bbe6aa1417fb6b04a9b6470642966fec79f8f693ee3c0b1314d778b6a2964be |
Close
Hashes for ast_grep_py-0.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8c711b4a41725d82dd049647873e2dd72a93cc246e0446a8c7349955acab76a |
|
MD5 | 173837d33f422528469965df8cc2916d |
|
BLAKE2b-256 | 0ce77e549182041a08663b365019f0db18ee0777adb3e82c507feee8e64cf1a4 |
Close
Hashes for ast_grep_py-0.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d59f25d95c1c3b1d450eb75edeb0742e9cb20011a3e068948ce11037e00ec3ef |
|
MD5 | ea76e038f4d58c31e1a040ec7498ed10 |
|
BLAKE2b-256 | 25798721db1d360cb32fb0808554eb45a37a705ce990bd4bfcd969042a22a241 |
Close
Hashes for ast_grep_py-0.13.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0c2c75976b2f719801b16f7b364ae6dff162a472c271746e638a7865aa01929 |
|
MD5 | f11a7185d5eadd04af0a059c06dc5e91 |
|
BLAKE2b-256 | 83304a20c23c5c7b13e1fe10c514cecee853899b6f0af5551b35636fbc8ea73b |
Close
Hashes for ast_grep_py-0.13.1-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af0fcbd7ec89e21c1a9ddf91328393f9630f59e768ca894cc53e0891efa31661 |
|
MD5 | a8e241915774591571c1d69d14c40b7a |
|
BLAKE2b-256 | 3f5af13ec4e10113277407c79c6f7482824af215e87ed01f5a8e3b077787babc |
Close
Hashes for ast_grep_py-0.13.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f97f3a3c815f4b08fb3b3092d1f825400e606c8e492b889198b5f4c19170322 |
|
MD5 | 442d15195c38aa467c09f53a4d01facf |
|
BLAKE2b-256 | 455839e0a72fac47c2e7b20c03873656c6c08fb8e255ceb084eb6770c03b55d5 |
Close
Hashes for ast_grep_py-0.13.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30fadb284314124478d8a0677c7ee024d2c0511b722159a18af60ef8f6a715b0 |
|
MD5 | 54b28603cb9b63a942ea07c62bb7b1f9 |
|
BLAKE2b-256 | 3dfb6be2a870cbde195938336afe884257a1b18fda50aabdf6bbf05d96044c77 |
Close
Hashes for ast_grep_py-0.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9046bc068064820913f30d75645b9d98cd6e8a119a0e66aead74ec8ac5aa15d3 |
|
MD5 | 2047b317a5464aa4f9d28ca1d5005898 |
|
BLAKE2b-256 | 0b8cfb0255e3b8f794e40f3b4017678c5f4439ae5f351671f3bb25bdd047d680 |
Close
Hashes for ast_grep_py-0.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 160e7d20f70a64a7547c83b4c964053e80d7259c92ca3633c28626e1234972eb |
|
MD5 | 01471913df5d9eaccd6dced03ba259c9 |
|
BLAKE2b-256 | b2878c5fd7acec304db0d9ca70631247d7d6605dd39922afd0bddd6be70ba327 |
Close
Hashes for ast_grep_py-0.13.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d486b140df8b17d8d73244523266bcfb909e9117418b94604cef96009129d74 |
|
MD5 | fb94279da853d4fd484c1247fe6a36b9 |
|
BLAKE2b-256 | bdbfb4a1a77375ee14b614b334f4de07398d03eae27a0cda0dd245ec1e57af8c |
Close
Hashes for ast_grep_py-0.13.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e139cd73758f557247ae10775b8f8a0b01c11cfb9a6a1a7fe2e4a637e2239692 |
|
MD5 | 7f20be506ceedce1e8a3338290cb7cf7 |
|
BLAKE2b-256 | 7c067f97db0d6cab5b37500819d9f9b1fb009ea379b05e710c4129735408c4d3 |
Close
Hashes for ast_grep_py-0.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 240506376a0a7fef73ce533f82464f935268b1ff0796a01032bd6847191914e5 |
|
MD5 | 1dd078bb27874c75f74181a984cf6de5 |
|
BLAKE2b-256 | 255d3a058de451b96d2c45c07ec16f595183568ef1abb09ed56c5d7e9669d37e |
Close
Hashes for ast_grep_py-0.13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdaa50a1082a355451744afafa40846a4761edab31bbb93a80b5c16de6c704fb |
|
MD5 | 9a95a441526c1e829fd47e8d69e1a272 |
|
BLAKE2b-256 | 4b1a889b75de2f9b6587fc52ea6b5a252c45511e812a7467d7158d920e3b6e6b |
Close
Hashes for ast_grep_py-0.13.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd9059cd8c412b6c9fea435fbe852550bd1c911af71faa2cd055e63cf3c3cf61 |
|
MD5 | 7dc48fc0df18541414acfd302be0fec5 |
|
BLAKE2b-256 | 85f1d974d4e111f3dc438078ab63dcc1556bfd379b834f63e6675bcddc1f600f |
Close
Hashes for ast_grep_py-0.13.1-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 468a72eff7d93b7e2741329e5fcc6eb00b3aa8edcd10838c5290d7df84cbdad7 |
|
MD5 | b8ea5434cc7a3bc82937117bc9ee5485 |
|
BLAKE2b-256 | 3e5cf0214ea0a4bd30b30621340dee3d5456584e360e06583a45e9f3feb1186a |