API Reference¶
В этом разделе представлена полная документация по API библиотеки FUCKTAR.
Оглавление¶
Общие принципы¶
API FUCKTAR спроектирован с учетом следующих принципов:
- Типизация: Все компоненты библиотеки строго типизированы с использованием аннотаций типов Python.
- Расширяемость: Архитектура библиотеки позволяет легко добавлять новые паттерны и генераторы.
- Безопасность: Библиотека обеспечивает потокобезопасность и корректную обработку ошибок.
- Простота использования: API спроектирован для интуитивного использования даже новыми разработчиками.
Основные компоненты¶
Генераторы¶
Генераторы отвечают за непосредственную генерацию данных на основе паттернов. Основной класс - ModelGenerator, который работает с дата-классами и паттернами.
Паттерны¶
Паттерны определяют правила генерации для конкретных типов данных. Базовый класс - BasePattern, от которого наследуются все пользовательские паттерны.
Конфигурация¶
Конфигурация определяет параметры генерации, такие как уникальность данных и область видимости. Основной класс - PatternConfig.
Хранилище¶
Хранилище отвечает за сохранение истории сгенерированных уникальных данных. Основные классы - ScopeStorage и ScopeHistory.
Сервисы¶
Сервисы предоставляют вспомогательную функциональность, такую как формирование сигнатур объектов. Основной класс - SignatureService.
Исключения¶
Библиотека предоставляет полный набор исключений для обработки различных ошибочных ситуаций.
Утилиты¶
Утилиты содержат вспомогательные функции, такие как валидация регулярных выражений.
Встроенные паттерны¶
Библиотека предоставляет набор готовых паттернов для различных типов данных.
Соглашения об именовании¶
- Классы именуются в стиле PascalCase
- Методы и функции именуются в стиле snake_case
- Константы именуются в стиле UPPER_SNAKE_CASE
- Приватные атрибуты и методы начинаются с подчеркивания
Версионирование¶
API следует семантическому версионированию: - MAJOR версия для несовместимых изменений API - MINOR версия для обратно совместимых изменений - PATCH версия для обратно совместимых исправлений ошибок
Поддержка¶
API стабилен и поддерживается в соответствии с политикой версионирования библиотеки.