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.25.4.tar.gz
(114.9 kB
view hashes)
Built Distributions
Close
Hashes for ast_grep_py-0.25.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49b77749c8454b534b37a059824d11b11319a91db5036f0b960e5e5bc6b217c4 |
|
MD5 | efcbeb6c0ebe34d0a105a14cb8fa921a |
|
BLAKE2b-256 | 887d9ce109749422c6eee4423cd4387e90f7c1c46807808a9af4c72a7c808eb4 |
Close
Hashes for ast_grep_py-0.25.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31a1cc07a4074a4c33657c7d0ab9178e57a3c551234e909b3b48e78bbf626962 |
|
MD5 | 93ef140c69eee31e36cfb02a313e5269 |
|
BLAKE2b-256 | b3ecbb7ca9de47553484e7a3f2ac69b6987d46027e35379d96b881a3e34c4d33 |
Close
Hashes for ast_grep_py-0.25.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd165252a3c1826b711f9b2db5da3b4091cf723e4e0356cb610f97c213f3755b |
|
MD5 | 662edf58a5b72dff79f024dbcb1a78d8 |
|
BLAKE2b-256 | 3f1a499a07a80cf50fad569f3bcb66321a1385dc62bea19a06e9904697f1ef9d |
Close
Hashes for ast_grep_py-0.25.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eacaaa7ca55f33da74090ab98875e45577fc76139a356df1c984ed2eb11d585f |
|
MD5 | f8b9eed21c70de5fdbe00dec82e7dddc |
|
BLAKE2b-256 | 76418ea18a605fba093f203efab3ec60e4935cd50863e88630769dbfdcacb076 |
Close
Hashes for ast_grep_py-0.25.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00abdda5beb18e7384ad9fb7f63d3471fe91abce8302e29535bcee5008825bc6 |
|
MD5 | 1af13de5bac7bfe2ecc1a0be223a3bb4 |
|
BLAKE2b-256 | 1306c79781cd59302ba928afbae4b8076789b5a75962b4135ceb1ab503dae1ef |
Close
Hashes for ast_grep_py-0.25.4-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b05ad2c553f5ca30861c37760adcc21a9da29a26d9630defd73d842f1a3f3cae |
|
MD5 | f6904de639cc48792d36980154549485 |
|
BLAKE2b-256 | d101e79cc8c7e16cd98f7d29ad743d6b8ad8ee5ef44f053cbb820138ed285382 |
Close
Hashes for ast_grep_py-0.25.4-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ee1c1751ae193844c024b4eb3bd3980edc9263eb9bf10ed7c29a2f7b55bb3e9 |
|
MD5 | 835c04252dbc5bf8aeb4679773440694 |
|
BLAKE2b-256 | fb0ca1c527a622914da70a4b02ecd4194644331f738683b50fca3ebe258b3148 |
Close
Hashes for ast_grep_py-0.25.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b72afad73a750933d849d3cf1214fc02ac43cc672bd53640a8e1f10eea99c3f |
|
MD5 | b05d3b53b54dfe8bfc28be5163b8b9e3 |
|
BLAKE2b-256 | ee2416fbd72448836648ec3c6fc83eb687303ec7bc588f4e460d57d896321047 |
Close
Hashes for ast_grep_py-0.25.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fe0685944810654a63f0b33c59caf840c3405c4e1524fcb7ec6e8cc1e213847 |
|
MD5 | f69eac75b6e8d58726f6dc2dc003abe0 |
|
BLAKE2b-256 | db118e790fe91fa58b0d362cda53fcfe5cc1dcfb48cfa62c94b784639384db17 |
Close
Hashes for ast_grep_py-0.25.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 430802e18b02ba350b361d048dcebba9eefd4fa57e32c83a2125295449ac08e8 |
|
MD5 | 83e9f121aef537b10a9d3c95c850b1d7 |
|
BLAKE2b-256 | de35a97c2e0317f936650f052449ea1ba8ef08b012050c670940d7415aead259 |
Close
Hashes for ast_grep_py-0.25.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a84c3d6b5e59e1c9a7efb6ae60ecf2c9d4fb1230ca966c92a910a20fbf2f5be |
|
MD5 | 58862222342738cb34198877fc39e9ab |
|
BLAKE2b-256 | fb6af4d23150375af62dcd8b43fcc97942fa7d013be2f8fb609f9085fbc8fe4d |
Close
Hashes for ast_grep_py-0.25.4-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1687098fff6d1389fd82c684811cd8e3c73d28df61f16989eed4907f79997052 |
|
MD5 | ba85744eb6635be08b8daec568c61e46 |
|
BLAKE2b-256 | 83366e033e7f0aa2cf599b9d711cdbdee9a0a9e8343ad7e9d279c21ad5e49ef0 |
Close
Hashes for ast_grep_py-0.25.4-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbd9b44e213f11d93a57a7d398bde45be77b71666863a9d4db69e80954cba00f |
|
MD5 | d45801b7b4a94b990980048274911f25 |
|
BLAKE2b-256 | d38f7e49b2ac10efcdb73b15183011ffb841deae41e8fc00e45e1bada2a03749 |
Close
Hashes for ast_grep_py-0.25.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e3a2d34a7829b9ce3d37beae43fa1b1841260796f9eb36131c8cd697e2035e8 |
|
MD5 | 90f7c0297c4c7f30ea9feafe73416e01 |
|
BLAKE2b-256 | 278f98f1556a06af02b20a7346c7eb9b491f69f5c1a58e37b2abcecadabbbd52 |
Close
Hashes for ast_grep_py-0.25.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3b989f054a8bd297424ff7a1fb08b8172513835e493acc8843f9791a671ff02 |
|
MD5 | a84e6cc134ff0ceb4f3348076dc7e04c |
|
BLAKE2b-256 | 54ab73b047f3dc95177e399a54c2a0a8277ad4974deecdaf60b724f0f86b754a |
Close
Hashes for ast_grep_py-0.25.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 633aa7d1a51b34bb16b35e89afde8cae5c57ffd7028c76b32b1e5d7b3149ea43 |
|
MD5 | 663bc99e64ee473b4aebd0be83429dac |
|
BLAKE2b-256 | afa7864050b8eec00b356e32fa17a7c4d68b659fd1bd81ea4659e8dedc690c1a |
Close
Hashes for ast_grep_py-0.25.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fc7af48bb98d1111fbacdf4b4f3ea63827b62c831316304829ad826170685ad |
|
MD5 | 1ea61329df9d2697dfd0824a7bb7ffb1 |
|
BLAKE2b-256 | 10812f81e3e1992d7f84dc7674f43a03e10c9237a8c003eaba9dd68d212015ea |
Close
Hashes for ast_grep_py-0.25.4-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10616d5037319f1397b9b777a9e4578211e493233f20af8da1dea7f83b4d8570 |
|
MD5 | 44bc5bdcc4e6f248695b68ed2cd72a72 |
|
BLAKE2b-256 | a5a158f2ab50993cfbf6c1776f149b057c3988c12c46fb879896c9ade92f8b55 |
Close
Hashes for ast_grep_py-0.25.4-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69b8f3ee3198ed7e060a16b794b7e6653aeebb5ff4b035f55dfc9c714b7f8299 |
|
MD5 | 364703dcf019f947b955ee62c9070587 |
|
BLAKE2b-256 | f76a3bcc77f464ac67a582a207724e0ae7e16d12f565f1b84ab7548e4df9141e |
Close
Hashes for ast_grep_py-0.25.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66d2020e35e91591ef82898ad487f1389ca9e267f573b59cd774cb6ac45337f9 |
|
MD5 | 074a59ad6e327b2b9c53d06cb73f9f8a |
|
BLAKE2b-256 | eb51e995360e6be0c443d5fbae0d153d5943166cdda760a1fd25706ef551fd3c |
Close
Hashes for ast_grep_py-0.25.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33a689e9c1abd07f20dce52acd3b3b808d1333bed98912fdaa6a587ea591bd9b |
|
MD5 | eefda93712e496aa7b5e4aa67c6facd2 |
|
BLAKE2b-256 | bd63bbe660f667e2838d1d38fa2c9d262e3bab7a03eb28b001298aef472c66f6 |
Close
Hashes for ast_grep_py-0.25.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c49048889798d47cbd22f8abcb63429f61f9954d8cfbac83e338ec5d65ea336b |
|
MD5 | 2dde0a4ae25aac031b5c60f90b8917bd |
|
BLAKE2b-256 | a954ce7a00ed1ff6d2324a028605860b16ba0ebd1023d10760aa059747a32493 |
Close
Hashes for ast_grep_py-0.25.4-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48294bfd36cd6acc5673c0e42e6c3c9db0e849c8bb32671bea890273ce1bf8dd |
|
MD5 | 23ee9e52ea80379c5a94a4e6c8a19101 |
|
BLAKE2b-256 | 6a2e07a8f6985f412d01fb0c0be7299eb42c027f2434aeba964e374c5677b65e |
Close
Hashes for ast_grep_py-0.25.4-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4952d2ae820851bd97cb5837ea0879ba51ea36e411c72d6cfff49f70ba6f032 |
|
MD5 | f68c0b6f62f539e810aa8953ec5ab305 |
|
BLAKE2b-256 | f97125d22e511e4ac4c5b560e3dc867255f5f8ea99947ec34ad576a292af96cc |
Close
Hashes for ast_grep_py-0.25.4-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d1508c403a90f2cf64385ea032f2af18839f8cca7e9033b94aba199f6f071e7 |
|
MD5 | 7d2a89ba5d321953c45ed71e14484abc |
|
BLAKE2b-256 | 0fc0512466aeef44c42ed321c125f7592c790531fd5fd517d8630e5bd2d2ca72 |
Close
Hashes for ast_grep_py-0.25.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57b41e6dbff8c3f1d796e1c43220b8522a56e98bcf59770575902defef20b709 |
|
MD5 | 324f41606719948af5491cd6322b7a2d |
|
BLAKE2b-256 | f472132686f7b3f1f336c1f51a10beb4bf68eadac6bdc8b95b1e50b556215d1b |
Close
Hashes for ast_grep_py-0.25.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac4fa0dcf2851073923e83278a71e35584e9f179733c75e5e6f50f46ccc6e9c0 |
|
MD5 | 9152474bc513b8e0c9be31c02da13359 |
|
BLAKE2b-256 | 718fc04f7a47c5e3257c6cff252e8f416ea8088aaf5a9f6b5e05d60334aa6b27 |
Close
Hashes for ast_grep_py-0.25.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 749a3574b426d037fd08fe604b791da98428d017f0ad1acf00a34853da308ea5 |
|
MD5 | 6c7438db3c983ebbc791c7fd2ec3c165 |
|
BLAKE2b-256 | ac8430912244a8daea58b66ceb129820e0449a23ab90b5848f4a5a9f5196ab6d |
Close
Hashes for ast_grep_py-0.25.4-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0aaee6ab0aee704bfd62f9bbb1ad621f5699a42c566383915949955979a61c62 |
|
MD5 | 3dc79e679ff5483790a4e988e29212b5 |
|
BLAKE2b-256 | 1cde9585ccc3995b987baf40680b60fcad9ec62aabfab6be858817492fe63e35 |
Close
Hashes for ast_grep_py-0.25.4-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16e49d4a463493bedb9cb8eac74abff8557dbb92c77102f1578f37ee97c30119 |
|
MD5 | bf64285e82a0b00298a27d8a27207ecd |
|
BLAKE2b-256 | 01fdd27bb4c2d8cebfe18d43756acaa65779f86b7a3a78036992fa0f06a311cc |
Close
Hashes for ast_grep_py-0.25.4-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e1c1a1e0c6c5b6f23bd9b57695a7f851c33ba03235f32ebfaef1eb13fbe3fe4 |
|
MD5 | dabdaded8ac2b3e9035885ada15a86a3 |
|
BLAKE2b-256 | db0f2acba57afa905b6b216900eee99b6938dc1d44057ed01b695f3bb4991c3e |
Close
Hashes for ast_grep_py-0.25.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2b6bb72e30de14a949cf53b0f693434b862f017f2de7a423bd80edc4265e388 |
|
MD5 | 1e81ad805bdff9c360a57ea0a5cbc87b |
|
BLAKE2b-256 | 04244711519bd32b36e364377a7ff8add733e0e423d02f93704ebf31b05060a7 |
Close
Hashes for ast_grep_py-0.25.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cc7809640020f0a6f08d721fc9be6388851bd1a65185eb5a14b81b97f4cbcb2 |
|
MD5 | 9b2cef06fdc0867ff7a499d533e4b76b |
|
BLAKE2b-256 | 4ee73a3278a5e28637e139b45138403d0f95021b161d255831bbdc8b446dc528 |
Close
Hashes for ast_grep_py-0.25.4-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8aa49509ca5c49ffd9de854ff581cfc444efb59a0344c4f6d6c2eff305ff914 |
|
MD5 | 8ff6785c171b161b2ac7d3e3e7ee1a42 |
|
BLAKE2b-256 | 2cf5e5509e4b557e9db49ceb0a8b6fd1b46f8d88ff312a6b8a25c948a7d68fda |
Close
Hashes for ast_grep_py-0.25.4-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20164cfd68c60a813b974e6f6429a7fc74bf195daa172e3a0839ff1b48afe39b |
|
MD5 | ebb10cec9c57874e62ca667e39f06ed7 |
|
BLAKE2b-256 | 3f9a6ccc38e4386dbd1906225e04e7ed9ef18c112f57fad8ff1d629c87f7479d |