{"id":31782323,"url":"https://github.com/zopefoundation/zconfig","last_synced_at":"2025-10-10T09:18:41.309Z","repository":{"id":7024094,"uuid":"8296479","full_name":"zopefoundation/ZConfig","owner":"zopefoundation","description":"A configuration library supporting a hierarchical schema-driven configuration model, and allowing a schema to specify data conversion routines written in Python.","archived":false,"fork":false,"pushed_at":"2025-01-16T07:55:56.000Z","size":6256,"stargazers_count":9,"open_issues_count":6,"forks_count":14,"subscribers_count":61,"default_branch":"master","last_synced_at":"2025-09-27T14:46:07.456Z","etag":null,"topics":["configuration","flexible","hierarchy","logging","maintained","python","structured","typed"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zopefoundation.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-02-19T18:27:16.000Z","updated_at":"2025-09-11T09:02:30.000Z","dependencies_parsed_at":"2024-05-18T06:25:59.491Z","dependency_job_id":"4cb1f0c4-c785-4110-8b85-6bed77a8644a","html_url":"https://github.com/zopefoundation/ZConfig","commit_stats":{"total_commits":688,"total_committers":41,"mean_commits":16.78048780487805,"dds":0.3866279069767442,"last_synced_commit":"4ff6dc149e1bbd721340e6d0cb01291123a3f8fb"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/zopefoundation/ZConfig","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zopefoundation%2FZConfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zopefoundation%2FZConfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zopefoundation%2FZConfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zopefoundation%2FZConfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zopefoundation","download_url":"https://codeload.github.com/zopefoundation/ZConfig/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zopefoundation%2FZConfig/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003410,"owners_count":26083581,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configuration","flexible","hierarchy","logging","maintained","python","structured","typed"],"created_at":"2025-10-10T09:18:39.921Z","updated_at":"2025-10-10T09:18:41.301Z","avatar_url":"https://github.com/zopefoundation.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"ZConfig: Schema-driven configuration\n====================================\n\n.. image:: https://img.shields.io/pypi/v/ZConfig.svg\n        :target: https://pypi.python.org/pypi/ZConfig/\n        :alt: Latest release\n\n.. image:: https://img.shields.io/pypi/pyversions/ZConfig.svg\n        :target: https://pypi.org/project/ZConfig/\n        :alt: Supported Python versions\n\n.. image:: https://github.com/zopefoundation/ZConfig/actions/workflows/tests.yml/badge.svg\n        :target: https://github.com/zopefoundation/ZConfig/actions/workflows/tests.yml\n\n.. image:: https://coveralls.io/repos/github/zopefoundation/ZConfig/badge.svg?branch=master\n        :target: https://coveralls.io/github/zopefoundation/ZConfig?branch=master\n\n.. image:: https://readthedocs.org/projects/zconfig/badge/?version=latest\n        :target: http://zconfig.readthedocs.org/en/latest/\n        :alt: Documentation Status\n\nZConfig is a configuration library intended for general use.  It\nsupports a hierarchical schema-driven configuration model that allows\na schema to specify data conversion routines written in Python.\nZConfig's model is very different from the model supported by the\nConfigParser module found in Python's standard library, and is more\nsuitable to configuration-intensive applications.\n\nZConfig schema are written in an XML-based language and are able to\n\"import\" schema components provided by Python packages.  Since\ncomponents are able to bind to conversion functions provided by Python\ncode in the package (or elsewhere), configuration objects can be\narbitrarily complex, with values that have been verified against\narbitrary constraints.  This makes it easy for applications to\nseparate configuration support from configuration loading even with\nconfiguration data being defined and consumed by a wide range of\nseparate packages.\n\nZConfig is licensed under the Zope Public License, version 2.1.  See\nthe file LICENSE.txt in the distribution for the full license text.\n\nReference documentation is available at https://zconfig.readthedocs.io.\n\nInformation on the latest released version of the ZConfig package is\navailable at\n\n  https://pypi.org/project/ZConfig/\n\nYou may either create an RPM and install this, or install directly from\nthe source distribution.\n\nThere is a mailing list for discussions and questions about ZConfig;\nmore information on the list is available at\n\n  http://mail.zope.org/mailman/listinfo/zconfig/\n\n\nConfiguring Logging\n-------------------\n\nOne common use of ZConfig is to configure the Python logging\nframework. This is extremely simple to do as the following example\ndemonstrates:\n\n    \u003e\u003e\u003e from ZConfig import configureLoggers\n    \u003e\u003e\u003e configureLoggers('''\n    ... \u003clogger\u003e\n    ...    level INFO\n    ...    \u003clogfile\u003e\n    ...       PATH STDOUT\n    ...       format %(levelname)s %(name)s %(message)s\n    ...    \u003c/logfile\u003e\n    ... \u003c/logger\u003e\n    ... ''')\n\nThe above configures the root logger to output messages logged at INFO\nor above to the console, as we can see in the following example:\n\n    \u003e\u003e\u003e from logging import getLogger\n    \u003e\u003e\u003e logger = getLogger()\n    \u003e\u003e\u003e logger.info('An info message')\n    INFO root An info message\n    \u003e\u003e\u003e logger.debug('A debug message')\n\nA more common configuration would see STDOUT replaced with a path to\nthe file into which log entries would be written.\n\nFor more information, see the `the documentation \u003chttps://zconfig.readthedocs.io\u003e`_.\n\n\nInstalling from the source distribution\n---------------------------------------\n\nFor a simple installation::\n\n  python setup.py install\n\n\nTo install to a user's home-dir::\n\n  python setup.py install --home=\u003cdir\u003e\n\n\nTo install to another prefix (for example, /usr/local)::\n\n  python setup.py install --prefix=/usr/local\n\n\nFor more information on installing packages, please refer to the\n`Python Packaging User Guide \u003chttps://packaging.python.org/\u003e`__.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzopefoundation%2Fzconfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzopefoundation%2Fzconfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzopefoundation%2Fzconfig/lists"}