Files
bearingsinfo/tools
ArtemFilin1990 7748c89f96 feat: add seed-database workflow with D1-compatible schema
- .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
2026-03-26 14:46:30 +00:00
..

Инструменты и утилиты 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

Планируемые инструменты

TBD

Планируется разработка инструментов для:

  • Валидации данных подшипников (проверка таблиц, ссылок, форматирования)
  • Импорта/экспорта каталогов производителей (SKF, NSK, NTN, FAG)
  • Работы с базой данных (инициализация, запросы, обновление цен)
  • Построения поисковых индексов и автодополнения
  • Генерации документации (INDEX.md, PDF-руководства, статистические отчёты)
  • Поддержки контрибьюторов (создание секций, проверка Markdown)
  • Анализа данных (распределение размеров, сравнение производителей)

Подробности — в issue и roadmap репозитория.


Вклад в развитие инструментов

Если вы хотите добавить новый инструмент или улучшить существующий:

  1. Создайте issue в репозитории с описанием функциональности
  2. Напишите скрипт в каталоге tools/
  3. Добавьте документацию в этот README.md
  4. Добавьте тесты (если применимо) в tests/tools/
  5. Создайте Pull Request

Требования к инструментам:

  • CLI-интерфейс с использованием библиотеки click или argparse
  • Подробная help-справка (--help)
  • Обработка ошибок с понятными сообщениями
  • Логирование (с уровнями INFO, WARNING, ERROR)
  • Документация в коде (docstrings)

Лицензия

Все инструменты в каталоге tools/ распространяются под той же лицензией, что и основной репозиторий BearingsInfo (см. LICENSE в корне репозитория).


Контакты и поддержка

По вопросам работы инструментов обращайтесь: