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.14.1.tar.gz
(91.5 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.14.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0635a68c6a73eb9699260c405594e91b169aa829b62a107629592d130bf7991 |
|
MD5 | bf41642f73c37548f77e5a24f5bcc157 |
|
BLAKE2b-256 | 80f4eba38a5481eeb018ad9c58c4a5080bcf9bd295a15c44fff204fdbcbcfde0 |
Close
Hashes for ast_grep_py-0.14.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2edd8e5dfebb69fffe10efbdb7cdc86324714fa84c4fb537c05bf32ae8f9601 |
|
MD5 | a21958acfd0621eda1844361a0e0e805 |
|
BLAKE2b-256 | abb3a2fd609f980451667aa4b6ef7093e4c048f1f3d9db93addda18b15025d0c |
Close
Hashes for ast_grep_py-0.14.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dd68f72b0212966f76744b03ec73c686e2eabca729d3ab745331c5c1dadea91 |
|
MD5 | c9e8ceb72c958dfa6e108df1529f80ca |
|
BLAKE2b-256 | cc19a514ec06063a53ce094184894d00a85b8e96b8ea12f8a1776be9397e92de |
Close
Hashes for ast_grep_py-0.14.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e077858a967bb2481fea62b31797795c845948e8d59f3ad95152c0e21482404b |
|
MD5 | 61cb7dd2b0b5da4600f0259b743023fa |
|
BLAKE2b-256 | af8f1f9a464d628d81d5d61359c05f110403b04cf8d26dff33a84614f8f92e80 |
Close
Hashes for ast_grep_py-0.14.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84deea5e983d62fc91157a762e01d8c431135471558ec33464d595aa6b8ea784 |
|
MD5 | 1b1af9ffc906bdcd33185d948664b5c2 |
|
BLAKE2b-256 | f4aea508727e1114b581ba5c9a7fa55c4aa06db225da4a857a305f785f332301 |
Close
Hashes for ast_grep_py-0.14.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0698a7995dade29a910cc060b5cca5161138b59a004aab715adda37fa62b0a8 |
|
MD5 | 9528a1f7747135b37104ba08b5cff547 |
|
BLAKE2b-256 | d8ea40bf02d0e289adaed181c48eda0b0c14c2cc5d8b34ccdfdc2c0459db2743 |
Close
Hashes for ast_grep_py-0.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f78bcc34d7c3e99304ae773ee240e8c783d4909158aeee95b7fad143238233b6 |
|
MD5 | fe428cc159ead2d6203927805b96ecf2 |
|
BLAKE2b-256 | b026ab4d152fbed6c9f9b0f49dcba587f974a7125ae544e6d6a0060be0b90d27 |
Close
Hashes for ast_grep_py-0.14.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13ef2f858f214fde5b2b68822e39bd7f3af74b43cc93e5b8e86ca65f72fe491b |
|
MD5 | ded5fae906f69766d17ec8668017fa3e |
|
BLAKE2b-256 | 697600f30af42e30d977090c60c3f8d0af707cffc4624eaa37bd25f08dec558e |
Close
Hashes for ast_grep_py-0.14.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97620ec46f3e69056cfbec2f75c577747049f5f9e71d339232ddf19b171477fb |
|
MD5 | 93b848387f0846fefe5067ce0845fae6 |
|
BLAKE2b-256 | ad0098ce93a50926d9e106eb3f8986fb0aa1ab5de9b312872c0b2bd11dda8264 |
Close
Hashes for ast_grep_py-0.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | da2d55ce80fb8126447fe328d41e15dddb5563b5b04180c5d8f88ffc7400973f |
|
MD5 | f0d0d7225123932e4296ea96d61cc8d0 |
|
BLAKE2b-256 | 75cf06a240d57484231de12b77b835f80dfc3d7e65e7e204582d5b6879ae8ac5 |
Close
Hashes for ast_grep_py-0.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9da8db23cb848879af791a1ac7bbf8b177fcf17071436afc1f71d03ee674a048 |
|
MD5 | 82c2cf09012b0dc7b7577866ac5f3ac7 |
|
BLAKE2b-256 | 2a2ac98e96b4a8dab7cf13d5edd419c152fc87606fd43070c111a2dbd6e7d171 |
Close
Hashes for ast_grep_py-0.14.1-cp312-cp312-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02722b87431c4f32b7fdc92498f205f4ef9589817bc212a4dff969065b7e1dfa |
|
MD5 | 0fc23203726774235ea0ef9e52bddc94 |
|
BLAKE2b-256 | b203ba5178c3e2708a0542ba5e3dda7cddf415b3415b4117633410fc05fde958 |
Close
Hashes for ast_grep_py-0.14.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20497cda72047a2e3ea49760f4214030eaa21da8db7ebb3500d8ebf225db718d |
|
MD5 | 326d827ef317d0d941ced76b56075d57 |
|
BLAKE2b-256 | c736b11632f7ae1a91774e554c10885d4d892b894b8b3eddb237ddfc1bfc7fcb |
Close
Hashes for ast_grep_py-0.14.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64ea4bff9f4f5b1391df75b9285ad1ccab228ea33afb878229e4a72a1acdb498 |
|
MD5 | ca0b0189cb7362b189318bf323696bf4 |
|
BLAKE2b-256 | 7c0ae9d0be102e8fb4545e2d8a58764cc7d544b95ed4f0009a83e829bf794309 |
Close
Hashes for ast_grep_py-0.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1ced1fa9434d613c64aa7875721cf1043c05e4910a9b04a18369c19ece01f93 |
|
MD5 | b3507a0d02dfc94e911b30adf7fe3a2f |
|
BLAKE2b-256 | 0024980d4caa6fa9b398ab0d156e838a4042238f122b2b4e15d03b54dd7f6283 |
Close
Hashes for ast_grep_py-0.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 985647bf8a5d737644ed6d057ff05c29b5c3f219f0914cb3fd44718d970f1314 |
|
MD5 | d00749e7741ddc8ac7c9fc38a691b45e |
|
BLAKE2b-256 | 9f9c63dbbb8b2f2ce47bc6f26dc469e979e5403bd0c72f62e09e33583bd77935 |
Close
Hashes for ast_grep_py-0.14.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c74731023f75b20cfc4ba9c1511c40e3ef1d5b4ca31e568d6f249d791c08843 |
|
MD5 | 7d450a08a7299637c61d7aa2b019b0d3 |
|
BLAKE2b-256 | 3b4638084919c359a57bdadebe422bbbf7d89c2265513095a6a64b475d21e726 |
Close
Hashes for ast_grep_py-0.14.1-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc9761cb72cdc5fa0eae34dde0d84e524871c3cd1437ad95cb687726bb86dd72 |
|
MD5 | 564f501f82554fc33bcd48f73450ec94 |
|
BLAKE2b-256 | 13c2158f62e1384e2ab3a3fccf167b6793db9d9855c66c01665ee3965aa4e00b |
Close
Hashes for ast_grep_py-0.14.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b7a91e49226eb81b30305ba01356200472bae6e7a3601fd3eeb4f47f94d95af |
|
MD5 | f646675b0e544c394f98d26aaabe170c |
|
BLAKE2b-256 | 0c809e4113ff6c4042b7ef6591978a288e135ec3b573f6ebac2a5c94cc85caff |
Close
Hashes for ast_grep_py-0.14.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f2635518ada3704bb77edc4b34fa2472223e8b037479c856c2b6c531de56500 |
|
MD5 | a3f45d70882cb81478d567f2179f9bfc |
|
BLAKE2b-256 | c013ddcce2de7ea575b77d8c21a8d1d7077fb04fa157c1ffe6f2291836f6a88c |
Close
Hashes for ast_grep_py-0.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d658b14e4cf2bdaaa1f7bc13c7b45b83487c0ec5c410f13cc89b4dce9a05ffaa |
|
MD5 | 18cf81cc33e354a52bcc86a3e86127c9 |
|
BLAKE2b-256 | daeb16903f1851a54dd8960dc8b2fe1d2a23b5c8c129d18fd411ead462276335 |
Close
Hashes for ast_grep_py-0.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecdcd7e9c94e041cc864f009c6acdc61c3e10bbce89025582759a427fecaaf7a |
|
MD5 | ff45ded08d4416f37fa3bf11fd013cc5 |
|
BLAKE2b-256 | e02cfb7dc56939243e2233cae09ba8c9d99f6f7e2e9be7eb8c016a7aaa2d066a |
Close
Hashes for ast_grep_py-0.14.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c72c9389e640ab309bea7e39554c76e667f9a2b7f9879843f476838d5c5c458 |
|
MD5 | 3ed64cba62edc151dd37224a7e6694f1 |
|
BLAKE2b-256 | 133800ef981488fa476929e55319ab740fbf8c628ed579d96ff04e7b535a87ba |
Close
Hashes for ast_grep_py-0.14.1-cp310-cp310-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 381a358e483c6e8db25c69b67b803e508c686ce5bf7bb483c0909ef9ef0846fc |
|
MD5 | a16f8c0497173f1f29d67f63e1421456 |
|
BLAKE2b-256 | 7dada4cffe50cb813e01c1c4b3eaa47b32b635e1bf88b5babe9bf83f5d507637 |
Close
Hashes for ast_grep_py-0.14.1-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d5c2f594f9eabd2506ea3fd8a83f5938bb3b91f8f318edc30f40e199c686ff6 |
|
MD5 | 0c6773d67c6e4bb2ef7e1ca638873bf3 |
|
BLAKE2b-256 | 1a6f248556476bff131ec6f19b35d38a783c29ff201533cba930573cc814b77f |
Close
Hashes for ast_grep_py-0.14.1-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a86b019004e217aff8e08cffaf6324f7e3e4361fe5be7d8930a2c5412b9caeac |
|
MD5 | 06ff6a4dc7d4cf805c0c516ff678a94a |
|
BLAKE2b-256 | 27770e001a4192fbd0f146664f369aeba99542d348ec14e77c6148ea802fb186 |
Close
Hashes for ast_grep_py-0.14.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4952f1d432d9208e970f1a280c78177f8204b4691aa27dc9d1b70c3f8a56450 |
|
MD5 | ba91241e5495f1c0072eb73d8ca93006 |
|
BLAKE2b-256 | 3913347b57f22df3da3c460d7e178d9a57229f3cebcec95720febfc0a37932dd |
Close
Hashes for ast_grep_py-0.14.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf44364724b33c2f597934d263adc99bab5fbecb52181fdfdda1c8ca0edf1e41 |
|
MD5 | 4a9ccdc8e30fedd471bf2218974b61a3 |
|
BLAKE2b-256 | 5c823707f5b377a4c850a49b1c17eb64f31f04ef38f6aac3b4f96101687e7b6b |
Close
Hashes for ast_grep_py-0.14.1-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39b69e7cdb1a4cc83c72c0602402eda64a879f47218455374a4d4a59351cb26c |
|
MD5 | cc9db071376ab8597a5fa0866e76f448 |
|
BLAKE2b-256 | 47c14ee7b4a98852759ae12c33ee8db704fd7d58214ae404f05b54ff7bd7c264 |
Close
Hashes for ast_grep_py-0.14.1-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdc67da11b891932b446dc7f66f96d402b7e43da19261e0be9a5e27bb4a00647 |
|
MD5 | 423d8b1a687eda0241acc0d4daf06a97 |
|
BLAKE2b-256 | 654e262f9234a622b29cbd5ce2a66e4488397e4fb537b0dd2e4182919a8e926b |
Close
Hashes for ast_grep_py-0.14.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef3ec24791241c93bc7f92f726106ec7489ef0694d78dd988b452b378290a543 |
|
MD5 | ac007866ce2933957a4eacb4cb15068c |
|
BLAKE2b-256 | 8ba06ef3327ea2a93d9bf9f276f2d4bc21b73bc22d8f395e420e5cc5b4fc9f9c |
Close
Hashes for ast_grep_py-0.14.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cb8fae74dc39580acf3ce2d9e0bb7e344d5a2a2148e02cf352d7aa7e6977fd8 |
|
MD5 | e8daabdb99af1fd12415eb179b82cbb9 |
|
BLAKE2b-256 | 6adcd17c0debfac9ecbec7ad20fb51ea7c7a0e71eef3ff5e5372336def1849f7 |
Close
Hashes for ast_grep_py-0.14.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8810d8ada1ea1b88363bf8b384ac5b2611ec50a2d5c400ef62b4552da7c7b987 |
|
MD5 | 449fb73ac0ca663b5ff79c40fbc6a6ad |
|
BLAKE2b-256 | 14232e86d49fde5a23510e9aba4405559fc8385f89b6847d84e26e5fe7a14143 |
Close
Hashes for ast_grep_py-0.14.1-cp38-cp38-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30cf3ac229db46e8c7ee84461dbea351e25e9c206b3eeb20553e859863ac078f |
|
MD5 | 06b595e0af468c23eacfc78cff280cb7 |
|
BLAKE2b-256 | aec32ca21cff7e44cd5f8dc1a6b621667f5632711ac093ba919ac66e429724b3 |