Metadata-Version: 2.4
Name: astToolkit
Version: 0.1.1
Summary: AST manipulation and transformation tools for Python code
Author-email: Hunter Hogan <HunterHogan@pm.me>
License: CC-BY-NC-4.0
Project-URL: Donate, https://www.patreon.com/integrated
Project-URL: Homepage, https://github.com/hunterhogan/astToolkit
Project-URL: Issues, https://github.com/hunterhogan/astToolkit/issues
Project-URL: Repository, https://github.com/hunterhogan/astToolkit.git
Keywords: ast,abstract syntax tree,code generation,code transformation
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Other Audience
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: autoflake
Requires-Dist: python_minifier
Requires-Dist: tomli
Requires-Dist: Z0Z_tools
Provides-Extra: testing
Requires-Dist: mypy; extra == "testing"
Requires-Dist: pytest; extra == "testing"
Requires-Dist: pytest-cov; extra == "testing"
Requires-Dist: pytest-xdist; extra == "testing"
Requires-Dist: pyupgrade; extra == "testing"
Dynamic: license-file

# astToolkit

A toolkit for manipulating and transforming Python Abstract Syntax Trees (AST).

## Overview

astToolkit provides a rich set of tools for working with Python's AST. Originally part of the [mapFolding](https://github.com/hunterhogan/mapFolding) project, this toolkit has been extracted to provide these capabilities as a standalone package.

## Features

- AST manipulation and transformation utilities
- Code generation tools
- AST traversal and inspection
- Type-safe operations on AST nodes
- Support for Python 3.10+

## Installation

```bash
pip install astToolkit
```

## Usage

```python
from astToolkit import Make, DOT, Be

# Create a basic AST node
node = Make.Name("example")

# Access properties using DOT
name_id = DOT.id(node)

# Check node types
if Be.Name(node):
    print(f"Node is a Name with id: {name_id}")
```

## Requirements

- Python 3.10 or higher

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## Acknowledgements

This toolkit was developed as part of the [mapFolding](https://github.com/hunterhogan/mapFolding) project and has been separated to enable broader use.

[![CC-BY-NC-4.0](https://github.com/hunterhogan/astToolkit/blob/main/CC-BY-NC-4.0.svg)](https://creativecommons.org/licenses/by-nc/4.0/)
