Metadata-Version: 2.4
Name: syncraft
Version: 0.1.5
Summary: Parser combinator library
Author-email: michael <afmkt1020@proton.me>
Requires-Python: >=3.12
Requires-Dist: rich>=14.1.0
Requires-Dist: rstr>=3.2.2
Requires-Dist: sqlglot>=27.7.0
Description-Content-Type: text/markdown

# Syncraft

Syncraft is a parser/generator combinator library with full round-trip support:

- Parse source code into AST or dataclasses
- Generate source code from dataclasses
- Bidirectional transformations via lenses
- Convenience combinators: `all`, `first`, `last`, `named`
- SQLite syntax support included

## Installation

```bash
pip install syncraft
```


## TODO
- [ ] Test Walker.get/set for bidirectional mapping between source code and data class
- [ ] Annotate sqlite3 grammar with named nodes and data classes
- [ ] 
