Metadata-Version: 2.4
Name: setting-manager
Version: 0.7.0
Summary: A flexible settings management library
Project-URL: Homepage, https://github.com/Frojen/setting-manager
Project-URL: Changelog, https://github.com/Frojen/setting-manager/blob/main/CHANGELOG.md
Author-email: Konstantin Zhmurko <prog@zhmyrko.ru>
License: MIT
Keywords: feature flag,library,setting
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.11
Requires-Python: >=3.11
Requires-Dist: pydantic
Requires-Dist: pydantic-settings
Provides-Extra: fastapi
Requires-Dist: fastapi; extra == 'fastapi'
Provides-Extra: mongo
Requires-Dist: motor; extra == 'mongo'
Description-Content-Type: text/markdown

# Setting Manager

Менеджер настроек для асинхронных приложений на Python, построенный на базе Pydantic, с готовым веб-интерфейсом для FastAPI.

## Основные возможности

- **Централизованное управление**: Управляйте всеми настройками вашего приложения из одного места.
- **Гибкие источники**: Загружайте настройки из базы данных, переменных окружения или используйте значения по умолчанию.
- **Абстрактное хранилище**: Используйте любое асинхронное хранилище, реализовав простой интерфейс `SettingsStorage`.
- **Интеграция с Pydantic:** Определяйте настройки с помощью `pydantic.BaseSettings`.
- **Готовый UI для FastAPI**: Быстрое подключение готового веб-интерфейса для администрирования настроек.
- **Гибкая система прав доступа**: Настраивайте права на изменение каждой настройки с помощью ролей и флагов (`immutable`, `allow_change`).
- **Поддержка суперпользователя**: Назначьте роль, которая сможет управлять всеми настройками.
- **Безопасность**: Чувствительные данные (пароли, токены) автоматически маскируются в интерфейсе.
- **Обратные вызовы (Callbacks):** Выполняйте действия при изменении настроек.
- **Группировка:** Организуйте настройки по секциям для удобного отображения в интерфейсе.


## Документация и примеры

- **[🚀 Руководство по использованию](./docs/usage.md)**
- **[📂 Примеры кода](./examples/)**
- **[🧪 Тесты](./tests/)**
