Skip to main content

A simple, yet capable configuration library for Python

Project description

pyfig

A Python configuration system that's powerful enough to meet complex requirements, while being simple enough so new contributors to your software can confidently make changes without worrying how to get everything setup.

Features

  • 📂 Hierarchical overrides
  • ✅ Validation powered by pydantic
  • 📝 Extensible templating for variables
  • 🛠️ Types, defaults, validation, and docs: all in one place directly in your code

Note: pyfig does not inherently support changes to the config at runtime. This feature is not planned.

Installation

pip install jpyfig

Requirements

Strictly, only pydantic is required.

To make full use of the all features, you may also need some of:

These can be independently installed as necessary.

Usage

  1. Install pyfig
  2. Create a class tree of subclasses of Pyfig (*). Provide all attributes, types, docs, and defaults in your .py's
  3. Create overriding configs that can be applied hierarchically based on your requirements
  4. Load your configuration:
    • Using either the built-in 'metaconf' feature, or
    • By creating your own implementation and calling pyfig.load_configuration(...) appropriately

Tutorial

There is a small tutorial ready to walk you through the features and patterns when using Pyfig. Click me

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

jpyfig-0.2.1.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

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

jpyfig-0.2.1-py3-none-any.whl (29.9 kB view details)

Uploaded Python 3

File details

Details for the file jpyfig-0.2.1.tar.gz.

File metadata

  • Download URL: jpyfig-0.2.1.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jpyfig-0.2.1.tar.gz
Algorithm Hash digest
SHA256 b79b29569c062924f801dda005fe0073339456aa08bcbce1c897f52f62a062b3
MD5 39d59693cfd20ce882b96a646da4f949
BLAKE2b-256 5ecd6c1b46eaf0a97264b9cc0669af8b213264811e692c20497de0493dc82c8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for jpyfig-0.2.1.tar.gz:

Publisher: publish.yml on just1ngray/pyfig

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

File details

Details for the file jpyfig-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: jpyfig-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 29.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for jpyfig-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 52021085c77c7033eee641463f5191f772795888895f1b401aec5f1cde6a5889
MD5 0aefc29f9ab4ebaed4df8a834e6bca17
BLAKE2b-256 fbd4a896ca41090bea3ae0129238be116dad2439c7a28773fcd4b74e0b51924b

See more details on using hashes here.

Provenance

The following attestation bundles were made for jpyfig-0.2.1-py3-none-any.whl:

Publisher: publish.yml on just1ngray/pyfig

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page