Skip to content

Sam-Strand/registrar_py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Registrar

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

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

Особенности

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

Установка

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

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

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

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

 
 
 

Contributors

Languages