Skip to main content

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, validation
  • protocols_system.protocols — protocol (interface) definitions: cache, embedding, geo, health, image_library, llm, progress
  • protocols_system.providers — concrete provider implementations that self-register via the @ProtocolsRegistry.register decorator

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)

Source distribution for rfx-protocols-system 0.2.0
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)

Table of built distributions (wheels) for rfx-protocols-system 0.2.0
File Interpreter ABI Platform Actions
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page