Skip to main content

C41811.Config

English | 中文


支持的python版本 开源许可证 自最新版本以来的 GitHub 提交

文档 文档状态 新手教程 常见问题
PyPI PyPI包版本 PyPI - Wheel PyPI每月下载量
仓库 Github仓库 发布工作流状态
代码质量-主分支 CI状态 CodeCov覆盖率
代码质量-开发分支 CI状态 CodeCov覆盖率

文档太烂看不懂?试试AI文档!(不保证正确)
Ask DeepWiki Ask Zread

提示:点击徽章可转到相应页面。

简介

C41811.Config 旨在通过提供一套简洁的 API 和灵活的配置处理机制,来简化配置文件的管理。无论是简单的键值对配置,还是复杂的嵌套结构,都能轻松应对。它不仅支持多种配置格式,还提供了丰富的错误处理和验证功能,确保配置数据的准确性和一致性。

特性

  • 多格式支持:支持15+配置格式,包括流行的 JSON、YAML、TOML、Pickle 等,满足不同项目的需求。
  • 模块化设计:通过模块化的设计,提供了灵活地扩展机制,开发者可以根据需要添加自定义的配置处理器。
  • 验证功能:支持通过验证器来验证配置数据的合法性,确保配置数据的正确性。
  • 组件配置数据:支持多来源配置数据通过“组件配置数据”实现复杂的继承、覆盖与优先级关系。
  • 易于使用:提供了一套统一简洁的 API 和完善的类型注解支持,开发者可以轻松地加载、修改和保存配置文件。

适用场景

C41811.Config 适用于多种配置管理场景,特别是以下几种情况:

  • 大型项目:允许通过命名空间或配置池隔离项目各部分的配置,使得配置管理更加清晰和有序。
  • 分散的配置文件:通过提供统一的接口和灵活地处理机制,使得分散的配置文件能够被集中管理和访问,提高了配置的效率和一致性。
  • 复杂的数据模型:自动填充缺失的键默认值,并对配置数据进行类型验证,确保配置数据的完整性和准确性。
  • 需要对配置进行复杂操作:提供了 get、setdefault、unset 等方法,简化了对配置数据的复杂操作。
  • 多种配置格式混搭:支持根据文件后缀自动从注册的处理器中推断合适的配置格式,使得不同格式的配置文件可以无缝混用。
  • 动态配置更新:支持在运行时动态更新配置,无需重启应用即可应用新的配置。
  • 类型安全:通过完善的类型注解支持,减少模板代码,确保配置访问的类型安全。

安装

pip install C41811.Config

一个简单的示例

from c41811.config import MappingConfigData
from c41811.config import JsonSL
from c41811.config import requireConfig
from c41811.config import saveAll

JsonSL().register_to()

cfg: MappingConfigData = requireConfig(
    "", "Hello World.json",
    {  # 简单且强大的配置数据验证器
        "Hello": "World",
        "foo": dict,  # 包含foo下的所有键
        "foo\\.bar": {  # foo.bar仅包含baz键
            "baz": "qux"
        }
    }
).check()
saveAll()

print(f"{cfg=}")
print()
print("与dict完全相同的数据访问方式")
print(f"{cfg["Hello"]=}")
print(f"{cfg["foo"]["bar"]=}")
print()
print("通过属性访问数据")
print(f"{cfg.foo=}")
print(f"{cfg.foo.bar.baz=}")
print()
print("通过特殊语法访问数据")
print(f"{cfg.retrieve("foo\\.bar\\.baz")=}")
print()
print("一些常用方法")
print(f"{cfg.unset("foo\\.bar\\.baz").exists("foo\\.bar\\.baz")=}")
print(f"{cfg.get("foo\\.bar\\.baz")=}")
print(f"{cfg.setdefault("foo\\.bar\\.baz","qux")=}")
print(f"{cfg.get("foo\\.bar\\.baz", default="default")=}")
print(f"{cfg.modify("foo\\.bar\\.baz", [1, 2, 3]).retrieve("foo\\.bar\\.baz\\[1\\]")=}")
print(f"{cfg.delete("foo\\.bar\\.baz").get("foo\\.bar\\.baz", default="default")=}")

Metadata

Release files for C41811.Config 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for C41811.Config 0.3.1
File Size Uploaded
c41811_config-0.3.1.tar.gz 64.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for C41811.Config 0.3.1
File Interpreter ABI Platform
c41811_config-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 151.8 kB

Release files / c41811_config-0.3.1.tar.gz

Download URL c41811_config-0.3.1.tar.gz
Size 64.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ded1514a1ccc57acd8cb9cc74b765cfbe387842d58652ba3446f55eb5c656c61
BLAKE2b-256 checksum
How to use checksums
35bdf15d7ecd48ceeba5dae4c1e6bcc995f244ef079fd12dc9abce51cd640026
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 9, 2025.

Transparency log

Release files / c41811_config-0.3.1-py3-none-any.whl

Download URL c41811_config-0.3.1-py3-none-any.whl
Size 87.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
213674644b766cc6c14ebc9679e98dcddabe2de99b94baba80187cca668868d3
BLAKE2b-256 checksum
How to use checksums
a9c83f7fbc6936a818379da5c8abd29c391cab875885b20673e1ecb1e8496a6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Dec 9, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page