Package for generating application configuration
Project description
Configfacets - Python Client Library
Overview
As applications scale and integrate with multiple systems, managing configurations becomes increasingly complex. Configfacets simplifies this with a Low-Code/No-Code configuration management system using plain JSON—no custom verbs, no complicated syntax. This Python client library facilitates seamless interaction with the Configfacets API, enabling efficient retrieval and management of configuration data.
Our key features are...
Repositories & Versioning: Design configurations as modular, reusable components, store them in a centralized repository, and maintain full version control for better organization and tracking.
Reusability: Add provider and community-contributed repositories as dependencies, reuse configuration templates, pass in customizable values to effortlessly set up and manage your application configurations.
Collaboration: Invite users and teams to repository with precise role-based permissions—Admin, Collaborator, or Viewer—to control access and streamline contributions.
REST APIs: Expose configurations through REST API endpoints. Generate static and dynamic configurations by leveraging facet filters and runtime configuration values in the request context.
Organization Management: Our hierarchical design simplifies managing multi-level organizational structures, team hierarchies, roles, and responsibilities.
Usage
Installation
Ensure you have Python 3.6 or higher installed. Install the library using pip:
pip install configfacets
from configfacets.configuration import Configuration
config = Configuration(
source="https://configfacets.com/apis/repos/configfacets/core-concepts/appconfigs/resources/collections/api-configurations/exec?format=json",
sourceType="url",
apiKey="<your_api_key>",
postBody={"facets": ["env:prod", "cluster:aws", "region:east"]},
)
config.fetch()
resp = config.get_resp()
rabbitMQHost = config.get_value("rabbitmq.host")
rabbitMQPort = config.get_value("rabbitmq.port")
print("RabbitMQ Host:{}, Port:{}".format(rabbitMQHost, rabbitMQPort))
API Reference
Configuration
__init__(self, source, sourceType, apiKey=None, postBody=None):Initializes the configuration object with a source (URL or file) and source type.fetch(self):Fetches the configuration data from the source.get_resp(self):Returns the fetched configuration data.get_value(self, key_path):Retrieves the value for the specified key path.
Contributing
We welcome contributions! Feel free to connect with us in our Discord community.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file configfacets-0.0.5.tar.gz.
File metadata
- Download URL: configfacets-0.0.5.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5da321256cbcd2e81e4e085f13bc4f8487e456d7bea6de0e6e6c92997171b33d
|
|
| MD5 |
f9f649c9bdaccf4d11c67b1b540b4f86
|
|
| BLAKE2b-256 |
a6a4ae286cbf6cb6f4918b78958c4fe32436e807060c82121017252a2eda9fed
|
File details
Details for the file configfacets-0.0.5-py3-none-any.whl.
File metadata
- Download URL: configfacets-0.0.5-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1204bd9f5ba633b5dfa9425e1b67e0636a7a79fcae8804eb0c1088b3e4f64307
|
|
| MD5 |
45327e3ee8ab135abfeb6cc9bfa7c032
|
|
| BLAKE2b-256 |
8e8915e2a69ec28950da51e672f82b72ae2835410045155b889b3e06cc9cba33
|