Catalog PyPI
PACKAGE EXPLORERView in registry

abcdi-config

PyPI

A Python library for configuration-based dependency injection using the abcdi library

Versions collected1
Direct dependencies14From release 0.0.1
Last observed20 Oct, 17:13 UTC

README

Version 0.0.1 documentation

abcdi-config

A Python library for configuration-based dependency injection using the abcdi library. Define your application dependencies in YAML configuration files and automatically instantiate them with proper dependency injection.

Features

  • Configuration-driven dependency injection
  • YAML-based configuration files
  • Factory pattern for creating instances
  • Support for environment variable overrides
  • Type safety with Pydantic validation
  • Lazy dependency loading support

Installation

pip install abcdi-config

Quick Start

from pathlib import Path
from abcdi_config import load_configuration, configuration
from abcdi_config.schema import Config

# Load configuration from YAML file
load_configuration(Path("config.yaml"), Config)

# Access the loaded configuration
config = configuration()

# Get dependencies using abcdi
import abcdi
db = abcdi.get_dependency('database')

Configuration Format

dependencies:
  database:
    class_: sqlalchemy.create_engine
    kwargs:
      url: postgresql://user:pass@localhost/db
      echo: true
  
  api_client:
    class_: requests.Session
    kwargs:
      timeout: 30

Development

This project uses uv for dependency management and virtual environments.

Setup

# Install dependencies
uv sync

# Or install dependencies into your existing virtualenv
uv pip sync requirements.txt dev-requirements.txt

Linting

Pylint

Pylint is configured with a focus on reducing false positives for test files while catching real issues in production code.

uv run pylint src/ tests/

MyPy

MyPy type checking is configured to skip third-party library stubs.

uv run mypy src/ tests/

Running Tests

uv run pytest tests/

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.0.111 Oct 202614

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
nomad010/abcdi-config

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 17:13 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:d9e52edaf3d6681b45955eadc2e13799cae99c722f7d7198eb7afea8cc6e0dcf