一个使用ANTLR的Zish格式Python库。
项目描述
一个用于Zish格式的Python库,遵循MIT-0许可协议。
安装
创建虚拟环境: python3 -m venv venv
激活虚拟环境: source venv/bin/activate
安装: pip install zish_antlr
快速入门
从Python对象到Zish字符串使用 zish.dumps。从Zish字符串到Python对象使用 zish.loads。例如。
>>> from zish import loads, dumps >>> from datetime import datetime, timezone >>> from decimal import Decimal >>> >>> # Take a Python object >>> book = { ... 'title': 'A Hero of Our Time', ... 'read_date': datetime(2017, 7, 16, 14, 5, tzinfo=timezone.utc), ... 'would_recommend': True, ... 'description': None, ... 'number_of_novellas': 5, ... 'price': Decimal('7.99'), ... 'weight': 6.88, ... 'key': b'kshhgrl', ... 'tags': [ ... 'russian', ... 'novel', ... '19th century', ... ], ... } >>> >>> # Output it as an Zish string >>> zish_str = dumps(book) >>> print(zish_str) { "description": null, "key": 'a3NoaGdybA==', "number_of_novellas": 5, "price": 7.99, "read_date": 2017-07-16T14:05:00Z, "tags": [ "russian", "novel", "19th century", ], "title": "A Hero of Our Time", "weight": 6.88, "would_recommend": true, } >>> >>> # Load the Zish string, to give us back the Python object >>> reloaded_book = loads(zish_str) >>> >>> # Print the title >>> print(reloaded_book['title']) A Hero of Our Time
Python类型 |
类型 |
---|---|
布尔型 |
布尔型 |
整型 |
整数 |
字符串 |
字符串 |
datetime.datetime |
时间戳 |
字典 |
映射 |
decimal.Decimal |
十进制 |
浮点型 |
十进制 |
字节数组 |
字节 |
字节 |
字节 |
列表 |
列表 |
元组 |
列表 |
贡献
有用的链接
运行测试
切换到 zish_python_antlr 目录: cd zish_python_antlr
创建虚拟环境: python3 -m venv venv
激活虚拟环境: source venv/bin/activate
安装 tox: pip install tox
运行 tox: tox
核心解析器使用来自 Zish 语法的 ANTLR 创建。要创建解析器文件,请转到 zish/antlr 目录,下载 ANTLR jar 然后运行以下命令
java -jar antlr-4.11.1-complete.jar -Dlanguage=Python3 Zish.g4
发布新版本
运行 tox 确保所有测试通过
更新 发行说明 部分。
确保已安装 build 和 twine: pip install wheel twine
然后执行
git tag -a x.y.z -m "version x.y.z" rm -r dist python -m build twine upload --sign dist/*
发布说明
版本 0.0.14 (2022-10-30)
U+00A0 非断行空格现在被视为空白。
版本 0.0.13 (2021-04-04)
列表和映射中的尾随逗号现在允许使用。
版本 0.0.12 (2017-09-07)
重命名为 zish_antlr 以区分 zish。
版本 0.0.11 (2017-09-07)
之前的版本上传到 PyPI 失败。
版本 0.0.10 (2017-09-07)
允许列表和集合作为映射的键。
版本 0.0.9 (2017-08-24)
修复了将 int 解析为 Decimal 的错误。
使字节数据类型返回 bytes 而不是 bytearray。
版本 0.0.8 (2017-08-24)
容器类型不允许作为映射键。
性能改进。
版本 0.0.7 (2017-08-22)
修复了 UTC 时间戳格式化错误。
版本 0.0.6 (2017-08-22)
修复了时间戳格式化错误。
添加关于注释的说明。
版本 0.0.5 (2017-08-18)
修复了 dumps 对于 tuple 失败的错误。
版本 0.0.4 (2017-08-15)
简化整型。
版本 0.0.3 (2017-08-09)
修复了解释器在 eggs 中找不到 zish.antlr 包的错误。
删除了一些多余的转义序列。
版本 0.0.2 (2017-08-05)
现在使用 RFC3339 作为时间戳。
版本 0.0.1 (2017-08-03)
修复了 EOF 可能导致无限循环的错误。
版本 0.0.0 (2017-08-01)
第一个公开版本。所有测试通过。
项目详情
下载文件
下载适用于您的平台文件。如果您不确定选择哪个,请了解更多关于 安装软件包 的信息。