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.2a391.tar.gz
(11.0 kB
view hashes)
Built Distribution
Close
Hashes for catparser-3.0.2a391-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6bf0281e898a20e94e00c2b3d020aaefc83f2c2d84bf9c03e25fc8d75bdb5ba |
|
MD5 | 3c7c025ab96329185581715b71bc78f1 |
|
BLAKE2b-256 | 9e307b0720b405e48b8fa9f99afdf55c72a8567cf6e487291b024d629486d60b |