InfinityData
声明式配置语言(.infd / .inft)的 Python 编译器库。
- 编译优先:
.infd是源码,JSON/YAML/TOML 是构建产物 - 模板即约束:模板定义自动注册为约束校验器
- 零信任默认:库默认
deny_all沙盒,显式开放而非事后限制 - 结构化错误:稳定错误码 + 结构化参数 + 多语言渲染
快速使用
from infinity_data import load, safe_load, SandboxConfig, Schema
result = load('app.infd') # 默认零信任
if result.has_errors:
for d in result.diagnostics:
print(d.location, d.code, d.message)
else:
print(result.value) # 降维后的 dict
文档导航
| 文档 | 内容 |
|---|---|
| neo_desg.md | 语言基础设计(语法 / 类型 / 模板 / 约束) |
| extra_desg.md | 库 API / CLI / 生态设计 |
| impl_desg.md | 编译器实现层的取舍与假设 |
开发
uv run pytest -q # 测试
uv run ruff check src tests # lint
uv run pyright # 类型检查(strict)
uv run python test.py # 错误报告演示
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
infinity_data-2.1.0.tar.gz
(90.9 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
infinity_data-2.1.0-py3-none-any.whl
(114.8 kB
view details)
File details
Details for the file infinity_data-2.1.0.tar.gz.
File metadata
- Download URL: infinity_data-2.1.0.tar.gz
- Upload date:
- Size: 90.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f863a9c0c849b27486886ab6550fe2ee4aa1b17661cb892266e51eb24404390
|
|
| MD5 |
4723016209d5cf5761d8083d47489e53
|
|
| BLAKE2b-256 |
7d8b09747f8fd9192f87f686b4be64ca07ea1aa17bac15df04f54396710163c1
|
File details
Details for the file infinity_data-2.1.0-py3-none-any.whl.
File metadata
- Download URL: infinity_data-2.1.0-py3-none-any.whl
- Upload date:
- Size: 114.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb7174d40abefe5b0550db9bf87eed95a6b7db302ed22e6ea47b1b33f3c70eac
|
|
| MD5 |
c5d1b1a5f10942a94a802278d0bf23b9
|
|
| BLAKE2b-256 |
76e0aaa3083792fc85dc4ff71defdd1ea457f7f68fb0340538e89972e2eb6e2e
|