sickn33/antigravity-awesome-skills/azure-appconfiguration-py

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Azure App Configuration SDK for Python. Use for centralized configuration management, feature flags, and dynamic settings.

Install

npx vskill@latest install sickn33/antigravity-awesome-skills/azure-appconfiguration-py

SKILL.md

Azure App Configuration SDK for Python

Centralized configuration management with feature flags and dynamic settings.

Installation

bash
pip install azure-appconfiguration

Environment Variables

dotenv
AZURE_APPCONFIGURATION_CONNECTION_STRING=Endpoint=https://<name>.azconfig.io;Id=...;Secret=...
# Or for Entra ID:
AZURE_APPCONFIGURATION_ENDPOINT=https://<name>.azconfig.io

Authentication

Connection String
python
import os
from azure.appconfiguration import AzureAppConfigurationClient
client = AzureAppConfigurationClient.from_connection_string(
os.environ["AZURE_APPCONFIGURATION_CONNECTION_STRING"]
)
Entra ID
python
from azure.appconfiguration import AzureAppConfigurationClient
from azure.identity import DefaultAzureCredential
client = AzureAppConfigurationClient(
base_url=os.environ["AZURE_APPCONFIGURATION_ENDPOINT"],
credential=DefaultAzureCredential()
)

Examples are independent fragments requiring azure-identity for Entra auth and project endpoint variables. Confirm store/label/key and read the current ETag before replacement/deletion; use appropriate match conditions for concurrent edits. Feature flag changes affect real users, and unlocking a setting is a separate privileged change. Use approved synthetic values, minimize listing scope, keep credentials/value payloads out of logs, and close both async credential/client on failure. Snapshots need actual creation status and tested restore procedure; schema-valid flags do not themselves implement gradual rollout or an A/B experiment.

Configuration Settings

Get Setting
python
setting = client.get_configuration_setting(key="app:settings:message")
print(f"Read setting: {setting.key}") # Do not log secret-bearing values
Get with Label
python
# Labels allow environment-specific values
setting = client.get_configuration_setting(
key="app:settings:message",
label="production"
)
Set Setting
python
from azure.appconfiguration import ConfigurationSetting
setting = ConfigurationSetting(
key="app:settings:message",
value="Hello, World!",
label="development",
content_type="text/plain",
tags={"environment": "dev"}
)
client.set_configuration_setting(setting)
Delete Setting
python
client.delete_configuration_setting(
key="app:settings:message",
label="development"
)

List Settings

All Settings
python
settings = client.list_configuration_settings()
for setting in settings:
print(f"{setting.key} [{setting.label}]") # Values may be sensitive
Filter by Key Prefix
python
settings = client.list_configuration_settings(
key_filter="app:settings:*"
)
Filter by Label
python
settings = client.list_configuration_settings(
label_filter="production"
)

Feature Flags

Set Feature Flag
python
from azure.appconfiguration import ConfigurationSetting
import json
feature_flag = ConfigurationSetting(
key=".appconfig.featureflag/beta-feature",
value=json.dumps({
"id": "beta-feature",
"enabled": True,
"conditions": {
"client_filters": []
}
}),
content_type="application/vnd.microsoft.appconfig.ff+json;charset=utf-8"
)
client.set_configuration_setting(feature_flag)
Get Feature Flag
python
setting = client.get_configuration_setting(
key=".appconfig.featureflag/beta-feature"
)
flag_data = json.loads(setting.value)
print(f"Feature enabled: {flag_data['enabled']}")
List Feature Flags
python
flags = client.list_configuration_settings(
key_filter=".appconfig.featureflag/*"
)
for flag in flags:
data = json.loads(flag.value)
print(f"{data['id']}: {'enabled' if data['enabled'] else 'disabled'}")

Read-Only Settings

python
# Make setting read-only
client.set_read_only(
configuration_setting=setting,
read_only=True
)
# Remove read-only
client.set_read_only(
configuration_setting=setting,
read_only=False
)

Snapshots

Create Snapshot
python
from azure.appconfiguration import ConfigurationSnapshot, ConfigurationSettingsFilter
snapshot = ConfigurationSnapshot(
filters=[
ConfigurationSettingsFilter(key="app:*", label="production")
]
)
created = client.begin_create_snapshot(
name="v1-snapshot",
filters=snapshot.filters
).result()
List Snapshot Settings
python
settings = client.list_configuration_settings(
snapshot_name="v1-snapshot"
)

Async Client

python
from azure.appconfiguration.aio import AzureAppConfigurationClient
from azure.identity.aio import DefaultAzureCredential
async def main():
credential = DefaultAzureCredential()
client = AzureAppConfigurationClient(
base_url=endpoint,
credential=credential
)
setting = await client.get_configuration_setting(key="app:message")
# Consume the authorized value without logging it.
await client.close()
await credential.close()

Client Operations

OperationDescription
get_configuration_settingGet single setting
set_configuration_settingCreate or update setting
delete_configuration_settingDelete setting
list_configuration_settingsList with filters
set_read_onlyLock/unlock setting
begin_create_snapshotCreate point-in-time snapshot
list_snapshotsList all snapshots

Best Practices

  1. Use labels for environment separation (dev, staging, prod)
  2. Use key prefixes for logical grouping (app:database:, app:cache:)
  3. Make production settings read-only to prevent accidental changes
  4. Create snapshots before deployments for rollback capability
  5. Use Entra ID instead of connection strings in production
  6. Refresh settings periodically in long-running applications
  7. Use feature flags for gradual rollouts and A/B testing

When to Use

This skill is applicable to execute the workflow or actions described in the overview.

Limitations

  • Use this skill only when the task clearly matches the scope described above.
  • Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
  • Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
33,171
Repository forks
5,512
Repository npm downloads, 7 days
10,964
7-day trend score
74

Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 15 Apr 2026, 6 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/sickn33/antigravity-awesome-skills/azure-appconfiguration-py/badge)](https://verified-skill.com/skills/sickn33/antigravity-awesome-skills/azure-appconfiguration-py)

Something wrong with this skill or its page? Tell us.