3.2 KiB
3.2 KiB
Библиотека стандартных изделий
Каталог стандартных изделий (крепёж, подшипники и т. п.) с хранением в SQLite. Две реализации с общей схемой БД и совместимым JSON:
dotnet/— desktop-приложение для Windows 11 на C# / .NET 8 / WPF (основное);src/standard_products/— Python-пакет и CLIstdparts(генератор и эталон данных).
Desktop-приложение (Windows 11)
cd dotnet
dotnet build
dotnet run --project src/StandardProducts.App
Публикация одним self-contained exe (не требует .NET у пользователя):
dotnet publish src/StandardProducts.App -c Release -r win-x64 \
--self-contained true -p:PublishSingleFile=true -o publish
Подробнее — dotnet/README.md.
Python CLI
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
stdparts init
stdparts import examples/sample_products.json
stdparts list
stdparts search болт
Без установки пакета:
PYTHONPATH=src python3 -m standard_products init
PYTHONPATH=src python3 -m standard_products import examples/sample_products.json
Команды
| Команда | Назначение |
|---|---|
stdparts init |
создать базу и схему |
stdparts add <обозначение> --name ... |
добавить изделие |
stdparts show <обозначение> |
показать изделие в JSON |
stdparts list [--limit N] |
список изделий |
stdparts search [запрос] [--standard ...] [--category ...] [--material ...] |
поиск |
stdparts import <file.json> |
импорт (upsert по обозначению) |
stdparts export <file.json> |
экспорт всего каталога |
stdparts delete <обозначение> |
удалить изделие |
stdparts stats |
количество записей |
Путь к базе задаётся глобальным флагом --db (по умолчанию standard_products.db):
stdparts --db data/catalog.db list
Добавление с атрибутами
stdparts add "Болт M10x50 ГОСТ 7798-70" \
--name "Болт с шестигранной головкой" \
--standard "ГОСТ 7798-70" \
--category "Крепёж" \
--material "Сталь 20" \
--mass 0.045 \
--attr "резьба=M10" \
--attr "покрытие=цинк"
Модель данных
Поля изделия описаны в docs/schema.md.
Свободные характеристики хранятся в JSON-поле attributes.
Разработка
pip install -e ".[dev]"
pytest
ruff check .
mypy src
Структура
dotnet/ # C# / WPF приложение (Core + App + xunit)
src/standard_products/ # Python-пакет: db.py, cli.py
tests/ # pytest
examples/ # пример JSON для импорта
docs/ # документация, схема, промты