- .github/workflows/seed-database.yml — GitHub Actions workflow Триггеры: push на main (data/**) + workflow_dispatch (dry_run, reset_db) Этапы: checkout → build SQL → apply schema → execute seed → verify counts - tools/scripts/build_bearings_seed.py — генератор seed SQL Читает: brands.csv, import_analogs.csv, nomenclature.csv, master_catalog.csv Выдаёт: seed/*.sql (батчи 500/1000 строк) + seed/manifest.json - data/schema/d1_schema.sql — SQLite-совместимая схема для D1 Таблицы: bearings, manufacturers, analogs, nomenclature, search_history Фиксы: SERIAL→INTEGER PRIMARY KEY AUTOINCREMENT, TIMESTAMP→TEXT, DECIMAL→REAL Secrets required: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID
Инструменты и утилиты BearingsInfo
Назначение
Каталог содержит вспомогательные инструменты для работы с репозиторием BearingsInfo.
Текущее состояние
Существующие инструменты
bin/run
- CLI-обертка для запуска обработчика данных подшипников
- Использование:
./tools/bin/run(требует настроенного окружения Python) - Запускает модуль
src.cli.main()
Установка зависимостей
# Клонирование репозитория
git clone https://github.com/ArtemFilin1990/BearingsInfo.git
cd BearingsInfo
# Установка зависимостей
pip install -r requirements-dev.txt
Планируемые инструменты
Планируется разработка инструментов для:
- Валидации данных подшипников (проверка таблиц, ссылок, форматирования)
- Импорта/экспорта каталогов производителей (SKF, NSK, NTN, FAG)
- Работы с базой данных (инициализация, запросы, обновление цен)
- Построения поисковых индексов и автодополнения
- Генерации документации (INDEX.md, PDF-руководства, статистические отчёты)
- Поддержки контрибьюторов (создание секций, проверка Markdown)
- Анализа данных (распределение размеров, сравнение производителей)
Подробности — в issue и roadmap репозитория.
Вклад в развитие инструментов
Если вы хотите добавить новый инструмент или улучшить существующий:
- Создайте issue в репозитории с описанием функциональности
- Напишите скрипт в каталоге
tools/ - Добавьте документацию в этот README.md
- Добавьте тесты (если применимо) в
tests/tools/ - Создайте Pull Request
Требования к инструментам:
- CLI-интерфейс с использованием библиотеки
clickилиargparse - Подробная help-справка (
--help) - Обработка ошибок с понятными сообщениями
- Логирование (с уровнями INFO, WARNING, ERROR)
- Документация в коде (docstrings)
Лицензия
Все инструменты в каталоге tools/ распространяются под той же лицензией, что и основной репозиторий BearingsInfo (см. LICENSE в корне репозитория).
Контакты и поддержка
По вопросам работы инструментов обращайтесь: