Skip to main content

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.

Metadata

Release files for configfacets 0.0.5

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

Source distribution (sdist)

Source distribution for configfacets 0.0.5
File Size Uploaded
configfacets-0.0.5.tar.gz 4.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for configfacets 0.0.5
File Interpreter ABI Platform
configfacets-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 9.4 kB

Release files / configfacets-0.0.5.tar.gz

Download URL configfacets-0.0.5.tar.gz
Size 4.4 kB
Tags Source
SHA-256 checksum
How to use checksums
5da321256cbcd2e81e4e085f13bc4f8487e456d7bea6de0e6e6c92997171b33d
BLAKE2b-256 checksum
How to use checksums
a6a4ae286cbf6cb6f4918b78958c4fe32436e807060c82121017252a2eda9fed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16

Release files / configfacets-0.0.5-py3-none-any.whl

Download URL configfacets-0.0.5-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1204bd9f5ba633b5dfa9425e1b67e0636a7a79fcae8804eb0c1088b3e4f64307
BLAKE2b-256 checksum
How to use checksums
8e8915e2a69ec28950da51e672f82b72ae2835410045155b889b3e06cc9cba33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.16

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.1

2 release files

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