Skip to main content

rfc2119 for keywords

PURPOSE

  • to provide unified way to configure python2 and python3 application
  • to be handy for developers, devops, QA and users with technical background

READINGS

REQUIREMENTS

  1. MUST support yaml out of the box
  2. MUST configure program (standalone module or python package) by recursive merge developer defined configuration (defaults) and runtime provided configuration.
  3. each configuration layer (e.g. defaults, runtime config, etc.) MUST be a nested mapping
  4. number of merged layers is unlimited and MAY be redefined by developer
  5. layer merge order MAY be redefined by developer
  6. MUST contain set of yaml constructors
    • !url
    • !date
    • !datetime
    • !timedelta
    • !strjoin
    • !envvar
    • !regexp
    • !filecontent
  7. SHOULD contain set of dangerous yaml constructors
    • !file
    • !socket
    • !yamlfile - includes yaml by file path or url
  8. MAY process constructors with recursion detection (see REQUIREMENT NOTES)
  9. MAY contain cli arg mapping constructors
  10. SHOULD provide a way to extend set of constructors before configuration loaded
  11. MUST provide a way to configure logging using logging.dictConfig and values from merged configuration
  12. runtime configuration path MAY be redefined with envvar (like $ CONFIG=./some-config.yml program.py)
  13. runtime configuration path MAY be redefined with cli arg (like $ program.py --config=./some-config.yml)
  14. SHOULD enable sharing of anchors between layers
  15. SHOULD NOT allow to redefine anchors that alredy defined in previous layers
  16. MUST support filesystem path as configuration path
  17. MUST support file://, http(s):// urls as configuration path
  18. MAY support ftp:// urls as configuration path
  19. MAY support git:// urls as configuration path

REQUIREMENT NOTES

  • !class, !object, and !yamlfile are considered dangerous since class or object creation may require existing configuration that is not exists during constructor call. !yamlfile can refer !class or !object inside and/or cause infinte yaml load recursion or module load recursion.
  • !file and !socket are considered dangerous since they are not serializable

IMPLEMENTATION

  • provides <module>.<config> submodule that contains resulting configuration as mapping

???

Metadata

Release files for devconfig 0.4.8

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

Source distribution (sdist)

Source distribution for devconfig 0.4.8
File Size Uploaded Provenance Actions
devconfig-0.4.8.tar.gz 19.1 kB Without provenance Details for devconfig-0.4.8.tar.gz

Release files / devconfig-0.4.8.tar.gz

Download URL devconfig-0.4.8.tar.gz
Size 19.1 kB
Tags Source
SHA-256 checksum
How to use checksums
4eb067212f3736f542341d37b877452cc658fbfcbdc9301297d9d6451b9f309c
BLAKE2b-256 checksum
How to use checksums
9e4aa87ee48365b592aac5de6d3cfd58d78e2552c7cc601545795c32a41f2387
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.7.1 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.7.2

Security for devconfig 0.4.8

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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