cognesy/instructor-config

Lean config loading utilities for Instructor

Maintainers

👁 ddebowczyk

Package info

github.com/cognesy/instructor-config

Homepage

Issues

pkg:composer/cognesy/instructor-config

Statistics

Installs: 88

Dependents: 10

Suggesters: 0

Stars: 0

v2.3.1 2026-03-13 11:59 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 024358007547a79a17f557b19e03b136faf07009

  • Dariusz Debowczyk <ddebowczyk.woop@gmail.com>

README

Minimal configuration infrastructure for Instructor.

Scope:

  • load YAML or PHP config files as raw arrays,
  • resolve relative config file names against multiple base paths,
  • derive deterministic dot-keys from file paths,
  • optional YAML/PHP parse cache compiled to PHP,
  • parse DSN strings into raw arrays,
  • no presets, no provider chains, no global settings.

Usage:

use Cognesy\Config\Config;
use Cognesy\Config\ConfigLoader;

$single = Config::fromPaths(
 __DIR__ . '/packages/polyglot/resources/config',
 __DIR__ . '/packages/http-client/resources/config',
)->load('llm/presets/openai.yaml')->toArray();

$configs = ConfigLoader::fromPaths(
 __DIR__ . '/packages/polyglot/resources/config',
 __DIR__ . '/packages/http-client/resources/config',
)->withCache(__DIR__ . '/var/cache/instructor-config.php');

$one = $configs->load('llm/presets/openai.yaml')->toArray();
$many = $configs->loadAll(
 'llm/presets/openai.yaml',
 'http/profiles/curl.yaml',
);

DSN parsing:

use Cognesy\Config\Dsn;

$raw = Dsn::fromString('driver=openai,metadata.region=us-east-1')->toArray();