Protocols System
A self-describing, pluggable service locator for Python.
Protocols System provides decorator-based provider registration, singleton lifecycle management, and introspection-driven GUI discovery. Protocol and provider additions automatically surface in any UI that consumes the discovery layer.
It is shared across projects (PhotoStudio, Smart-Albums) as a standalone package so provider implementations and the registry live in one place.
Install
# Core only (registry, discovery, protocols). The importable package is
# `protocols_system`; the distribution name is `rfx-protocols-system`.
pip install rfx-protocols-system
# With built-in provider implementations (Immich, Ollama, llama.cpp, Google Places, ...)
pip install "rfx-protocols-system[providers]"
For local development against a checkout:
pip install -e "../ProtocolsSystem[providers]"
Layout
protocols_system.core— registry, discovery, types, validationprotocols_system.protocols— protocol (interface) definitions: cache, embedding, geo, health, image_library, llm, progressprotocols_system.providers— concrete provider implementations that self-register via the@ProtocolsRegistry.registerdecorator
Usage
from protocols_system import ProtocolsRegistry, get_protocol_slots
from protocols_system.providers import register_builtin_providers
# Import provider modules so they register themselves. Providers whose
# optional dependencies are missing are skipped silently.
register_builtin_providers()
registry = ProtocolsRegistry()
Development
pip install -e ".[dev,providers]"
pytest
mypy
ruff check
Metadata
Release files for rfx-protocols-system 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rfx_protocols_system-0.2.0.tar.gz | 50.5 kB | With provenance | Details for rfx_protocols_system-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rfx_protocols_system-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for rfx_protocols_system-0.2.0-py3-none-any.whl |
Total release size: 114.1 kB
Release files / rfx_protocols_system-0.2.0.tar.gz
| Download URL | rfx_protocols_system-0.2.0.tar.gz |
|---|---|
| Size | 50.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
925755e0c019dd33ba079de9faf3ee99b1f24c43e09c4283a8d7c007d0ca4ed1
|
|
BLAKE2b-256 checksum How to use checksums |
8dc01c7ff8ea93c2b106648df5e251941e5ff934ebd0fecc34cc008449c6104b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.
Transparency logRelease files / rfx_protocols_system-0.2.0-py3-none-any.whl
| Download URL | rfx_protocols_system-0.2.0-py3-none-any.whl |
|---|---|
| Size | 63.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6c59be4fde0fc73173defddc95f6411a99bc3e6a6d6660911e9c83b431cd90ac
|
|
BLAKE2b-256 checksum How to use checksums |
63a72c90283db68e9bcaae35e5ecf8db13bb22fd0bf09621314fe111d8907e31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.
Transparency logSecurity for rfx-protocols-system 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for rfx_protocols_system-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 31, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.