Symbol Catbuffer Parser
Project description
catbuffer-parser
This project is the reference parser implementation for the CATS (Concise Affinitized Transfer Schema) DSL that is used by the Symbol blockchain. The parser converts a CATS file or files into an AST that can be used by a generator to produce serialization and deserialzation code for defined objects.
- A reference to the DSL format can be found here.
- For a sampling of real world schemas, those used by the Symbol blockchain can be found here.
Requirements
- Python >= 3.6
Installation
git clone https://github.com/symbol/catbuffer-parser
pip3 install -r requirements.txt
pip3 install -r lint_requirements.txt # optional
Usage
usage: python -m catparser [-h] -s SCHEMA -i INCLUDE [-o OUTPUT]
CATS code generator
optional arguments:
-h, --help show this help message and exit
-s SCHEMA, --schema SCHEMA
input CATS file
-i INCLUDE, --include INCLUDE
schema root directory
-o OUTPUT, --output OUTPUT
yaml output file
Examples
catparser
can be used on its own to parse input files, check their validity and optionally output a YAML file containing the parsed type descriptors:
git clone --depth 1 --branch v3.0.0 https://github.com/symbol/catbuffer-schemas.git
# parse but don't output anything
python3 -m catparser --schema ../catbuffer-schemas/symbol/transfer/transfer.cats --include ../catbuffer-schemas/symbol
# parse and output a YAML file (deprecated)
python3 -m catparser --schema ../catbuffer-schemas/symbol/transfer/transfer.cats --include ../catbuffer-schemas/symbol --output ../catbuffer-schemas/all.yaml
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
catparser-3.0.0a382.tar.gz
(9.9 kB
view hashes)
Built Distribution
Close
Hashes for catparser-3.0.0a382-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ffc5625761a250a844318e3b17ec68cede02403b056162af49af60832028885 |
|
MD5 | 8d96c72d3f5ec09c8989fcaf91955f09 |
|
BLAKE2b-256 | c45b75713011522bb0f87ee7c15361d795f1663348c340fcd45a44fb0a298a98 |