Skip to main content

kollabor-config

kollabor-config is the configuration and path-management package for Kollabor.

It centralizes config loading, global/project path helpers, plugin config schemas, migrations, task settings, and hot reload. Other packages should use this package instead of hardcoding ~/.kollab paths or parsing config files directly.

Current Role

  • Load and merge Kollabor configuration from files and environment-compatible sources.
  • Manage global and project-scoped data directories.
  • Provide plugin config schemas and widget metadata.
  • Support config migrations and first-run initialization.
  • Provide hot reload callbacks when watchdog is available.
  • Expose task/queue/background-task config models.

Architecture

Module Responsibility
service.py singleton-style config access, save/reload, file watching
loader.py lower-level config loading and merge behavior
manager.py global/project config manager compatibility layer
config_utils.py config directory, logs, conversations, prompt paths
plugin_schema.py plugin field/schema/widget definitions
plugin_config_manager.py plugin config retrieval and persistence
llm_task_config.py LLM task, queue, and background-task settings
migration.py config version migration helpers

Usage

from kollabor_config import ConfigService, get_plugin_config_manager

config = ConfigService.get_instance()
model = config.get("kollabor.llm.model", "claude-3-5-sonnet")

plugin_config = get_plugin_config_manager().get_plugin_config("my_plugin")

Known Gaps

  • Some application code still reaches directly into home-directory paths; those paths should move toward these helpers over time.
  • Config keys are not yet fully described by one typed registry, so stale keys can appear in docs, defaults, or plugin code.
  • Hot reload depends on optional watchdog support and callback consumers; code that needs reloads should handle the no-watchdog path.
  • Root package and workspace package versions can drift during development; the release process should keep them synchronized when publishing packages.

Roadmap

Phase 1: Key registry

  • Create a canonical config key catalog with defaults, types, descriptions, and ownership.
  • Generate config UI schemas and docs from the same catalog where possible.
  • Add tests that catch missing, renamed, or stale config keys.

Phase 2: Path consolidation

  • Replace direct Path.home() / ".kollab" usage in callers with package helpers.
  • Clarify project-scoped versus global data locations.
  • Add path migration tests for existing user config/data layouts.

Phase 3: Reload and migration hardening

  • Make reload callback behavior consistent with and without watchdog.
  • Add migration dry-run/reporting utilities.
  • Improve validation and recovery around corrupted config files.

Development

Targeted validation examples:

python -m py_compile packages/kollabor-config/src/kollabor_config/*.py
python -m pytest tests/unit/commands/test_all_command_handlers.py -q

Dependencies

  • kollabor-events

License

MIT

Download files

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

Source Distribution

kollabor_config-0.6.0.tar.gz (38.3 kB view details)

Uploaded Source

Built Distribution

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

kollabor_config-0.6.0-py3-none-any.whl (42.0 kB view details)

Uploaded Python 3

File details

Details for the file kollabor_config-0.6.0.tar.gz.

File metadata

  • Download URL: kollabor_config-0.6.0.tar.gz
  • Upload date:
  • Size: 38.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for kollabor_config-0.6.0.tar.gz
Algorithm Hash digest
SHA256 6f39fb94a98a7777172044ab271fde094f74557d16e1f706164b495738eaf03c
MD5 954820088e750cb131a972c5a39c21da
BLAKE2b-256 97212f58107bea317c8674d6597281cbc2bde5800b7946a1a78544146a640579

See more details on using hashes here.

File details

Details for the file kollabor_config-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for kollabor_config-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35e3b70db9ec6b17d04749d4e1e5fbdbdc9345ca77871ecfea4945cb6b706186
MD5 ba264000265cd68d3b98a5d4e3f5af02
BLAKE2b-256 285cc2acad292b5615a6684688a8813df2f6d8ad4e52c0c21b205d17ba57e6af

See more details on using hashes here.

Release history Release notifications | RSS feed

1.0.1

2 files

1.0.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.1

2 files

This release

0.6.0 This release

2 files

0.5.24

2 files

0.5.23

2 files

0.5.22

2 files

0.5.20

2 files

0.5.19

2 files

0.5.18

2 files

0.5.16

2 files

0.5.15

2 files

0.5.14

2 files

0.5.13

2 files

0.5.12

2 files

0.5.11

2 files

0.5.8

2 files

0.5.7

2 files

0.5.5

2 files

0.4.22

2 files

0.4.21

2 files

0.4.19

2 files

Supported by

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