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.18.0.tar.gz
(98.3 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6dbac1998af074f7512c5cf587bdeddb0515492049e23156bb69d53463890f7 |
|
MD5 | f9ecbcecfabe9d277fbf6448b57c4f4f |
|
BLAKE2b-256 | eac8e22c7fa05a9c8c6946462ac9ffad01e95f19adaca8d75790cbfbda6f64c5 |
Close
Hashes for ast_grep_py-0.18.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf950c76ad72a0cb8a9eb93c05827d9a4dda6989d7248fa9323db76b06a50882 |
|
MD5 | 9469851cfdbc941b3ccc148d498d6f7b |
|
BLAKE2b-256 | 05c4c35d0f4d1dc204320a0e222a488bd6ba07d39c0d0fe08a283ca0eb461749 |
Close
Hashes for ast_grep_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03ee7e58de030764b19e687b16c8fdb6c3ee2bdaa841f22fdab90187794881fd |
|
MD5 | 5a08f6d72273707a7d6abfbf23ca48fd |
|
BLAKE2b-256 | ca9e6b351063315e95165ace6321acd4f5b952341a87910c4ef1c3a50f94f260 |
Close
Hashes for ast_grep_py-0.18.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9473607d369581be9528b4ed2abd2275b37a111f025c8c6cce921e829aee5df1 |
|
MD5 | de03ca9c63694d86fc26cd3f96c970a5 |
|
BLAKE2b-256 | fd0f7428c436f934e0a3fef80567dc7f92810c8a54a7dde637c8a43da16e2572 |
Close
Hashes for ast_grep_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2ac821bc3aa768d9e8a58e8fcea718d239865f8bb2d7f9df941e25df12f12e9 |
|
MD5 | fa6a2e74eedd4bc7ce6d440ca612754b |
|
BLAKE2b-256 | 7d16ca1e263996b4b58f2ab0572edd5040b6e3ce7820030e50352d7b4f44c135 |
Close
Hashes for ast_grep_py-0.18.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36cb1fbeab4e6b300c2879d8dcb652470cf81e762f0b9e05026337170f8ab0a6 |
|
MD5 | a20dc256e90a808275662b64f9f51a8f |
|
BLAKE2b-256 | 3298de621bd4fcdb116675b2f7c4a9b59f872d9090762ce48e0ea9919d0f7ee0 |
Close
Hashes for ast_grep_py-0.18.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6ca54c63da89e91c5210fad1851cad9887a4df9092db70d7ef43f9b28daee1f |
|
MD5 | 4acefcd4efd40251a4a1be7acb63d114 |
|
BLAKE2b-256 | 45deff0f30676c004c72ad1d5346187ded74f729528e1440106b12d51be6997b |
Close
Hashes for ast_grep_py-0.18.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93483422b56d2354e1b530546edc7507e903b14071795b1eb8a0c779258ed04e |
|
MD5 | db62d57c242a8ef5f060190bfecbe330 |
|
BLAKE2b-256 | a5d6ba2e8d19f5bea5f13ffe708ab8d3fbfad517f5f83aa689903a69da7db586 |
Close
Hashes for ast_grep_py-0.18.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c112c2862009e1e3e7ca15f9b4d5da8d0608aafab10c809c8398bfe53cf09d8 |
|
MD5 | f36fae99cd0f9f87d8d6f2489e357bab |
|
BLAKE2b-256 | 5b4d6c53dfe03b713e50fdf22a30de808337dad4b344c15c9d8841c32bf005e1 |
Close
Hashes for ast_grep_py-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26b13d42e516a38f94ecd04c3fd8d471a344485e1b1511444377476c2414f757 |
|
MD5 | 97cb60c73b6bef4fb548532453d8aed8 |
|
BLAKE2b-256 | ddff704f5bfe6ed9a79778c70960cae7640f8527f402f690849ba147c56e4e3d |
Close
Hashes for ast_grep_py-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dfe1c0d7454be541c86fc57d6081d671310d31aa96a8ee74643bc5450d99cf3 |
|
MD5 | 4565c8951dcde2e3f9db44ebaf37ecc1 |
|
BLAKE2b-256 | b8b345bf7fbb3493a91152fbf4b568abc75360dc94110b3d08c8b4023611cfd3 |
Close
Hashes for ast_grep_py-0.18.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3923535d04dd2880e4d7d0031ffa0b96c7653f5c982a2c1bcb9fa7d5bbc61854 |
|
MD5 | 6d4daaf8fcd43a181542d497e017d057 |
|
BLAKE2b-256 | 575d2fcfa729c1ec94e4b0255927e5d17b61c8c7b33232905b82dedc85790946 |
Close
Hashes for ast_grep_py-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfea46b27fb209098280391caf0e9be2e557d66df6f10a6a4205a3526fda5f18 |
|
MD5 | 3dd59c6fd4140a334f88a9f8260fd949 |
|
BLAKE2b-256 | 8c2f515c2846cb2bfb2103fcdbe5a47bb375b03e231dd04093e955928977b6c8 |
Close
Hashes for ast_grep_py-0.18.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d85733627aff06b10a56e78c55e3887f939fb1d00ced793e8f0fe30e58a2f32 |
|
MD5 | 8a4933af35b8da0762d5707ec63b1b5f |
|
BLAKE2b-256 | b71425b1a9ed4fbe571fb9c8b1e7f7a7f231198482d05769ae7ffa95403c2cd9 |
Close
Hashes for ast_grep_py-0.18.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b806a7d334cc34b31f24b3d2e12a2d5e2aaf726d83fb830ddcf0c2a7003f366a |
|
MD5 | bd78606e484c65b38bb5a4d38dc04485 |
|
BLAKE2b-256 | 6ae7601694622d5885c0ab7ebb14c9267e6de3f55f7611c5912652a23d4dcc7d |
Close
Hashes for ast_grep_py-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d77ee7a0c214c71c4c262174ffcf33773b89ebf242bb2567ae6649c58d3ff107 |
|
MD5 | f18f2c2d6c3dc1b4481b043b357c08a5 |
|
BLAKE2b-256 | 5eeb51926150ace7a95b1ee920537b06c71e214959bcec406a515b0b5400639f |
Close
Hashes for ast_grep_py-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 189b8cba67fce6027a0a4b2ebf4907d88a83e5d5fb54fc6707f3766775860a1c |
|
MD5 | 30b1a2ebb7366a7f4079bd1d9f20c7cf |
|
BLAKE2b-256 | 5c390735a11d19b71a93c2dfdfe76ce67d0257344098135ceefe6a242eac23e2 |
Close
Hashes for ast_grep_py-0.18.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 848b5eb9ca06f8917e3ffe76112338272a10dbc6780c639a919f05b25244a312 |
|
MD5 | 625ce13e7e647f986e079c1372b31445 |
|
BLAKE2b-256 | 9f6ff5f646b7509e4828129979b96a113c81b4ddb7c1c29fb0b210d9806b4dc1 |
Close
Hashes for ast_grep_py-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc2a6fe3f8f5a18946ee11875cc63317e7b8f9bb213ba2fb333a14c71e8e47e7 |
|
MD5 | 3f8f1dad8c0f1b20cd9540e81dfc0cdb |
|
BLAKE2b-256 | 97ca82e6eab2077e98d6db4649ca2b3590bad8aaabcf3ddc7ed43419d7c20a0d |
Close
Hashes for ast_grep_py-0.18.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14af8ee7c990bf3b72ec53951461e5135a5286c96df4e4b29d8aad0968e7eb40 |
|
MD5 | bbcf91a9c51bd4d3a3f3ec2a5ab6ba7a |
|
BLAKE2b-256 | a7a82b980d760d676c0aa4aadba307da2958e0690628ee7044477cbb92ac9405 |
Close
Hashes for ast_grep_py-0.18.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd87dffe48a8237b501321836786c7b8ad189de36db30d9f86ee71d1c48fef84 |
|
MD5 | 9540f9432a2219b25bc7f56cdfe792aa |
|
BLAKE2b-256 | cb78dfeff1e39c566d95d3e3934f7443aefa27a7b129b30d6bcb35ba481422e3 |
Close
Hashes for ast_grep_py-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b0ee9a150e7795dc15b41c90d966d920a6cef9a799bfddb61073240a4f04eae |
|
MD5 | f2e4a7d7d6146a1959ab0cd1d68f726c |
|
BLAKE2b-256 | 4b7d42e950b5d261d8f8f131eeadace4d84b41e9c8522726b32556c1a3ab64aa |
Close
Hashes for ast_grep_py-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fec570a862e5ee7c0c2608acf35a22c888386bc7b3bdf70c5c52d59b6432a76f |
|
MD5 | e34a7cbad74b16fd3fb4c10ce08d1d87 |
|
BLAKE2b-256 | 90615df4ab8e9f97f569ef156742634bf7ca05d89b5536737e44160d9b8ee4a1 |
Close
Hashes for ast_grep_py-0.18.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cab3c3d0977f799bc7713b8fb4434506256592a4f3d162be2218f220ae89d5c0 |
|
MD5 | c8c847c368359a437454f5a38d855146 |
|
BLAKE2b-256 | e4838940764af66e7a30e74f37775ac6103ac5bcef18b12a43b01c9ebd17716e |
Close
Hashes for ast_grep_py-0.18.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6de0c67ed9502b9a6be812a0b27870c9ed2d9814ea01e4eed7c70f71be631449 |
|
MD5 | 54a91ef4e9c6a34ec5afaed347580fbf |
|
BLAKE2b-256 | a440b3876f9deb243e89261450273506980cf9fcd6cca891f48f700c296538dc |
Close
Hashes for ast_grep_py-0.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 018536826085d8dc41baa2f8fc349a59a3dadc50660df65a51f5d3b69ed8f16f |
|
MD5 | 0bc5dcdb5bec68d3bb7d850624467d5d |
|
BLAKE2b-256 | 0eda914638c2a7f66ff05cce176f48cc1f39c60e17bad8fe929452294e98adbf |
Close
Hashes for ast_grep_py-0.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39b15cef62ce4679c822174f058c8774cc3fb3e39da0c85f1b3f9ecfc20a2b10 |
|
MD5 | dea83f368cb94352b5be93378546d6b0 |
|
BLAKE2b-256 | 548fed5d48cad8c471a00a9cad2f4ad3e908c1c056c41b55bc27f5d7288bfb8c |
Close
Hashes for ast_grep_py-0.18.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3326522426ae5a5069c1d3976a1c8dcf93dd7b6f607cbd29caa84244ad2f702e |
|
MD5 | dd94171fefcada87de4df67983d0aed1 |
|
BLAKE2b-256 | 02493506a68728a41469e4b04979ac965cb1e6688778d1e582510b8616fd6359 |
Close
Hashes for ast_grep_py-0.18.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef43a98fcf4b0735fe97db8355e40852bf7eb097f5c9829be60eaaab5ea4151b |
|
MD5 | 3161b61355e41b68fc403ab70e1945f4 |
|
BLAKE2b-256 | 8360792d8f53c30fcede39f88fa7d4e170c4f571c714c4da41aeac643d099abc |
Close
Hashes for ast_grep_py-0.18.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ddd0af6be04a516fda022422ac6c52cc261510739211775c1dcd9a77149684e |
|
MD5 | 4d940edf28ef485535ae5651b5d8f3b4 |
|
BLAKE2b-256 | 0f7dd426fea9e315f0ab3e520cae0ea91d5c35594dbb3ebe6aff1c87838bc223 |
Close
Hashes for ast_grep_py-0.18.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d89f73386eaf900b6f21a951e3d1d7e3a5ebdcd4b3e83842528337738848f117 |
|
MD5 | fdccaab95c9e20863a4d7b00cb5df589 |
|
BLAKE2b-256 | 2b2abcbb59d3d6e2d4d1e0889e8d74aa32ac94f3b8bddf028548058ed5edc8bf |
Close
Hashes for ast_grep_py-0.18.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d5970a57a5400bba60a84c2507a31df2a070fb6c5e25b885cfb152aa47c6faf |
|
MD5 | 84eb31f4ee3c4056c9fa3920f8c21f7e |
|
BLAKE2b-256 | 17c76cfa80748dcc3b55502a45eecd010177f4eb1a6a53a1b8bbd056e46ee3a9 |
Close
Hashes for ast_grep_py-0.18.0-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ac9b503e62cf169cb604e9f3c3557612f92f0471abd628fc4b2d178753369af |
|
MD5 | 4dd0c0af4ed1a92bdafaa962f3e39ec9 |
|
BLAKE2b-256 | 833f3ebbbf1fd69f0ddc1e1ca723a6cb5d225c4304d0e3d867144a45484294ee |