跳转到主要内容

通过环境配置

项目描述

viaenv - 为Python提供通过环境配置

CircleCI License

viaenv 使用 变量注解 从环境变量中填充值。

示例

from datetime import timedelta
from viaenv import populate_from_env


class config:
    port: int = 8080
    log_file: str = '/var/log/server.log'
    timeout: timedelta = timedelta(milliseconds=100)


populate_from_env(
    config, prefix='SRV',
    # If you don't pass env, populate_from_env will use os.environ
    env={'SRV_PORT': '9000', 'SRV_TIMEOUT': '300ms'})

print(config.port)  # 9000
print(cfg.timeout == timedelta(milliseconds=300)  # True

支持的类型

  • bool: y, yes, t, true, on, 1 -> True, n, no, f, false, off, 0 -> False
  • date: 2019-05-18
  • datetime: 2019-05-18T13:43:12
  • dict: {"x": 1, "y": 2} (JSON格式)
  • float: 1.3, 1e7
  • int: 12, 0x12, 0o12, 0b12
  • list: [1, 2, 3] (JSON格式)
  • str: 任何内容
  • time: 13:43:12
  • timedelta: 10us, 20ms, 30s, 17m, 2h, 7d, 1h20m

您可以通过调用 register_type_parser(typ, parser) 来添加您的类型,其中 typ 是类型(例如 float),而 parser 是一个接受字符串作为参数的单参数函数。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源分发

viaenv-0.2.1.tar.gz (4.8 kB 查看散列值)

上传时间:

支持者