Skip to content

Sam-Strand/registrar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Registrar

Универсальный регистратор функций с автоматическим UID для Python

Легковесная система регистрации и управления функциями с уникальными идентификаторами. Хорошо подходит для для плагинов, команд, пайплайнов и диспетчеризации.

Особенности

  • Универсальный - регистрируйте любые функции и callable-объекты
  • Автоматические UID - генерация уникальных идентификаторов через MyID
  • Синглтон-пулы - глобальные именованные пулы функций
  • Множественные способы регистрации - декораторы, прямое присваивание
  • Dict-интерфейс - работайте как со словарем: [], in, keys(), items()
  • Защита от дубликатов - предотвращение повторной регистрации

Установка

Способ 1: Установка из репозитория (требуется Git)

pip install git+https://github.com/Sam-Strand/registrar.git

Способ 2: Установка готового пакета (без Git)

pip install https://github.com/Sam-Strand/registrar/releases/download/v1.0.0/registrar-1.0.0-py3-none-any.whl

Быстрый старт

from registrar import Registrar

# Создаем пулы
math_ops = Registrar('math')
startup_tasks = Registrar('startup')

# Регистрация с автоматическим UID
@math_ops.register()
def add(a, b):
    return a + b

# Регистрация с кастомным UID
@math_ops.register('multiply')
def multiply(a, b):
    return a * b

# Прямое присваивание
math_ops['power'] = lambda a, b: a ** b

# Использование
result = math_ops['add'](2, 3)  # 5
result = math_ops['multiply'](4, 5)  # 20

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages