Skip to main content

eai-configgy

Opinionated YAML + environment configuration loader for Extensibility AI services.

Load a committed config.yaml with EnvYAML interpolation, then select the block for CONFIG_ENV (default, staging, or prod).

Install

uv add eai-configgy

Or with pip:

pip install eai-configgy

Usage

from eai_configgy import Config, ConfigEnv

cfg = Config(section="myapp", env=ConfigEnv.DEFAULT)

Development

Use uv for dependency management:

uv sync --extra dev
uv run pytest

Publish

Tagged releases (v*) publish to public PyPI via .github/workflows/publish-pypi.yml (Trusted Publishing, GitHub Environment pypi) and also to Artifact Registry via .github/workflows/deploy.yml for internal indexes.

Repository: ExtensibilityAI/eai-configgy

First public release (maintainers)

Do these after this repo’s rename PR is on main, before tagging v0.3.0. A pending publisher does not reserve the name until the first successful upload.

  1. Rename the GitHub repo to eai-configgy (Settings → General → Repository name). Keep GitHub’s redirect. Locally: git remote set-url origin git@github.com:ExtensibilityAI/eai-configgy.git.

  2. Create GitHub Environment pypi: required reviewers; deployment branches/tags restricted to v*. No secrets (OIDC). Optional: Environment testpypi for dry-runs.

  3. PyPI account: register at https://pypi.org (2FA required). Prefer a PyPI organization (e.g. extensibility-ai) so the project is not personal-owned. Confirm https://pypi.org/project/eai-configgy/ is unused (404).

  4. Pending Trusted Publisher (PyPI Account → Publishing, not a project page):

    Field Value
    PyPI project name eai-configgy
    Owner ExtensibilityAI
    Repository eai-configgy
    Workflow name publish-pypi.yml
    Environment pypi
  5. GAR WIF after the GitHub rename: set github.repo: ExtensibilityAI/eai-configgy in infrastructure-core-gcp/pulumi/python_package/configgy/Pulumi.{staging,prod}.yaml, then pulumi up those stacks (only with explicit approval).

  6. Tag and approve: git tag v0.3.0 && git push origin v0.3.0. Approve the pypi environment. Confirm https://pypi.org/project/eai-configgy/0.3.0/.

  7. Optional: make the GitHub repository public after LICENSE and SECURITY.md are on main.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eai_configgy-0.3.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eai_configgy-0.3.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file eai_configgy-0.3.0.tar.gz.

File metadata

  • Download URL: eai_configgy-0.3.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for eai_configgy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4a8c686af701849a95879c6c083f3b843fea8ebc0d539034481aced1126f26eb
MD5 0b60b87db4b4d9637c38934c901972d4
BLAKE2b-256 2f3f9c66eb4232f08714b78a6ecc65a9809d1ec709eee0d217d8ccb3d0ab7938

See more details on using hashes here.

Provenance

The following attestation bundles were made for eai_configgy-0.3.0.tar.gz:

Publisher: publish-pypi.yml on ExtensibilityAI/eai-configgy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eai_configgy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: eai_configgy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for eai_configgy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec9943b7cf5794062d7a0636f0c9801c2c9401599dbeb209518aa71f4747af0f
MD5 62786289b681c3a2fd97b46fa80a8ab1
BLAKE2b-256 f4c5a8b88883bf862666891d13ea771ded82680a4cfb2d904ab431de63a3416b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eai_configgy-0.3.0-py3-none-any.whl:

Publisher: publish-pypi.yml on ExtensibilityAI/eai-configgy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 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