Metadata-Version: 2.4
Name: syncraft
Version: 0.1.9
Summary: Parser combinator library
Author-email: Michael Afmokt <michael@esacca.com>
License-Expression: MIT
Keywords: parser,combinator,sql,sqlite,generator,printer
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: rich>=14.1.0
Requires-Dist: rstr>=3.2.2
Requires-Dist: sqlglot>=27.7.0
Dynamic: license-file

# 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
- [ ] 
