Skip to main content

nb_config

一个Python配置覆盖系统,基于继承机制让用户可以透明地覆盖第三方库的配置,无需修改第三方库的任何代码。万能通用覆盖三方包的配置的包。

这个包适合写三方库的用户,如果三方包需要使用者能方便自定义覆盖三方库中的配置,则可以使用这个包。
例如三方库中总是导入 config_default.py的配置,有些小白一看到三方包中的这种写法,很手痒老是想着手动修改三方包下的配置文件源码。
使用这个包,就能让小白安心的复制三方包配置文件源码到自己项目下,然后修改自己项目中的配置文件中需要修改的配置。 (改三方包下的配置文件不好,每次新环境安装三方包或者升级三方包,配置文件都会被重置成默认的,用户需要重新修改配置文件。)

这个包不适合用户用来管理自己普通项目中的配置,因为用户自己项目下的的配置文件用户随便改就完了,没有涉及到这种覆盖需求。

这样做,是为了用户能简单粗暴复制三方包种的配置文件到自己项目下,然后用户修改自己项目中的配置文件中需要修改的配置。

这个包是是为了三方包开发者使用。

from nb_config.import_user_config import UserConfigAutoImporter

# 自动import0导入用户配置 ,没导入成功就复制三方包配置文件到用户项目根目录 sys.path[1]下新建配置文件。
# 这个通常放在三方包里面运行,而不是一般用户亲自使用这个方法
UserConfigAutoImporter(user_config_module_path='config_user2',
                       default_config_module_path='tests.mock_sitepackage.config_default').auto_import_user_config()

import tests.mock_sitepackage.site_packge_fun1_mod
from tests.mock_sitepackage.site_packge_fun2_mod import site_packge_fun2

if __name__ == '__main__':
    
    tests.mock_sitepackage.site_packge_fun1_mod.site_packge_fun1()
    site_packge_fun2()

    """
    三方包内部虽然没有亲自导入使用用户自己的配置模块,但能自动使用用户自己的配置文件中设置的值。
    输出结果:
    tests.mock_sitepackage.config_default.ConfigKLS1.config_a:用户自己的a
    tests.mock_sitepackage.config_default.ConfigKLS1.config_b:用户自己的b
    tests.mock_sitepackage.config_default.ConfigKLS1.config_c:三方包默认的c
    """

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nb-config-1.4.tar.gz (14.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nb_config-1.4-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file nb-config-1.4.tar.gz.

File metadata

  • Download URL: nb-config-1.4.tar.gz
  • Upload date:
  • Size: 14.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for nb-config-1.4.tar.gz
Algorithm Hash digest
SHA256 c03138c199f610d829c84242789d983a988365cdfd3290b6c710de206b3a86de
MD5 1a8c3b6aac61f7e035f26be0a686da86
BLAKE2b-256 f066695a8c5bf6535958f14653dfc21d0ffb21660e9326c511ec3b947e093914

See more details on using hashes here.

File details

Details for the file nb_config-1.4-py3-none-any.whl.

File metadata

  • Download URL: nb_config-1.4-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.9

File hashes

Hashes for nb_config-1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4390df8d9fadde2cb14d3c9b4eb051e8cddcbe7b570c3b814953e516400657d2
MD5 6c33db982bb25d883c518e78365f8500
BLAKE2b-256 d2617b9d010140ac0cccc69a18c8b0b1ccce347c923db1da4ffd3b3e054e26bb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.4 This release

2 files

1.3

2 files

1.2

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page