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.2.1.tar.gz
(95.6 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.2.1-py3-none-any.whl
(120.0 kB
view details)
File details
Details for the file infinity_data-2.2.1.tar.gz.
File metadata
- Download URL: infinity_data-2.2.1.tar.gz
- Upload date:
- Size: 95.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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 |
49e6644f1fbd22eecc20304e0471491968652c0233fd9a585cec12aa18a8e503
|
|
| MD5 |
a2f783fa4a90cb07e4c06e844b83ea0b
|
|
| BLAKE2b-256 |
01fc524fc40deb906dd34c9f5923ef4013c5e08ea46f484cdf7f9ec1ca474beb
|
File details
Details for the file infinity_data-2.2.1-py3-none-any.whl.
File metadata
- Download URL: infinity_data-2.2.1-py3-none-any.whl
- Upload date:
- Size: 120.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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 |
da491d2b1318045ccf24acee89811663e4b8a0893e4b8f8f3daffba8797dc5d8
|
|
| MD5 |
5f2082b2c762cd322b080ce2bb7572ec
|
|
| BLAKE2b-256 |
9381fb760c358d709d41b322e887353611e6781b0f71cff8751364d180bbc7d1
|