{"id":15444494,"url":"https://github.com/da4089/aioconfig","last_synced_at":"2026-05-16T00:32:44.750Z","repository":{"id":69616945,"uuid":"183128283","full_name":"da4089/aioconfig","owner":"da4089","description":"Dynamic configuration framework for asyncio-based Python services","archived":false,"fork":false,"pushed_at":"2022-12-21T05:26:35.000Z","size":31,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-02T08:43:21.412Z","etag":null,"topics":["asyncio","audit-trail","config","database","python","python3","runtime-config"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/da4089.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-04-24T02:06:14.000Z","updated_at":"2024-11-16T21:49:22.000Z","dependencies_parsed_at":"2024-01-19T13:15:12.099Z","dependency_job_id":null,"html_url":"https://github.com/da4089/aioconfig","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/da4089%2Faioconfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/da4089%2Faioconfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/da4089%2Faioconfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/da4089%2Faioconfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/da4089","download_url":"https://codeload.github.com/da4089/aioconfig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245991585,"owners_count":20706129,"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","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":["asyncio","audit-trail","config","database","python","python3","runtime-config"],"created_at":"2024-10-01T19:41:23.410Z","updated_at":"2026-05-16T00:32:44.716Z","avatar_url":"https://github.com/da4089.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"aioconfig\n=========\n\nThis package provides a set of classes that can be used to implement a\nconfiguration and control system for Python server processes.\n\nFeatures\n--------\n\n* Configuration information stored in a tree structure\n* Tree root structure standardised\n* Running, staged, and saved configurations\n\n  * Runtime changes to running configuration supported\n  * Saving running config creates persistent snapshot\n  * Revert to saved, or apply staged configuration at runtime\n* Pluggable persistence modules\n\n  * Postgres\n  * MongoDB\n  * Sqlite\n  * Files\n* Pluggable access modules\n\n  * REST (JSON over HTTPS)\n  * telnet\n* Access modules use `asyncio`, so module can be added to server code\n  with minimal impact\n\nHow it Works\n------------\n\nService functionality should be enclosed in a top-level class.  That\nclass should have accessor methods to configure and manage the service:\ngetting and setting properties, creating and destroying managed objects.\n\nThe main function for the service should create instances of both the\nservice class, and the Manager class from this package.  The manager's\nconstructor takes a URL, giving both the scheme and location of the\nservice's persisted configuration data.\n\nThe manager uses that persisted data to configure the service via\nits accessor functions.  Using the manager's (optional) access APIs,\nthe service's configuration and state can be monitored, controlled, and\nupdated at runtime.\n\nConfiguration can be persisted in flat files, Sqlite, PostgreSQL, or\nMongoDB.  And access can be via REST or telnet (or both).\n\nA configuration staging area is supported, so that complex changes can\nbe assembled and checked prior to being applied.  And when the running\nconfiguration is saved, the previous saved configuration is retained,\nso the change can be rolled back, and historical comparisons made at any\ntime.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fda4089%2Faioconfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fda4089%2Faioconfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fda4089%2Faioconfig/lists"}