Skip to main content

Parser combinator library

Project description

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

syncraft-0.1.13.tar.gz (25.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

syncraft-0.1.13-py3-none-any.whl (27.8 kB view details)

Uploaded Python 3

File details

Details for the file syncraft-0.1.13.tar.gz.

File metadata

  • Download URL: syncraft-0.1.13.tar.gz
  • Upload date:
  • Size: 25.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for syncraft-0.1.13.tar.gz
Algorithm Hash digest
SHA256 5bf3191cd12b1ee9f1139edc9f9cca3046a83ac2b497156eb5189eb6c6d76edd
MD5 e8f6ebeb55c6aa23cebcf79f3cbd7b01
BLAKE2b-256 f99dd490ad14e99886972e36bee63591cd72fc24eb7eeffeda1a0953e93f896f

See more details on using hashes here.

File details

Details for the file syncraft-0.1.13-py3-none-any.whl.

File metadata

  • Download URL: syncraft-0.1.13-py3-none-any.whl
  • Upload date:
  • Size: 27.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for syncraft-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 b20784bb5dff7d1cd861763ebce1aff1197d019c7520424d1c71770b14398fd6
MD5 7629cf9ef28a798d9ba1abe849d9ef67
BLAKE2b-256 75e9b23b01ece3ef2fb19e1259f84e97336f1207d55f4ca1035c5513a3bc1bc1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page