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.0.0.tar.gz
(90.0 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.0.0-py3-none-any.whl
(113.8 kB
view details)
File details
Details for the file infinity_data-2.0.0.tar.gz.
File metadata
- Download URL: infinity_data-2.0.0.tar.gz
- Upload date:
- Size: 90.0 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 |
f94a61876103567ac3a57ec48f1095d3960eada0952d6cf5c7a7c93bba40dbbd
|
|
| MD5 |
7f1ee3d993341e7e614d1df34c620ede
|
|
| BLAKE2b-256 |
e5558b415015e92e47ca22b5d56e11c4ac56d58dc6028aeeba9f6218f566c217
|
File details
Details for the file infinity_data-2.0.0-py3-none-any.whl.
File metadata
- Download URL: infinity_data-2.0.0-py3-none-any.whl
- Upload date:
- Size: 113.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 |
7177ce539c10fd70acf59ce74bc307b1473631a761c05e6e83b9b879e53a1e5b
|
|
| MD5 |
4fe9461a4d21dc64e9b1c71a0d295518
|
|
| BLAKE2b-256 |
f9f1d3a8869657a3097cc83088da0c86c175d9aab985bddc799591dc206299c2
|