mirror of
https://github.com/ipnet-mesh/meshcore-hub.git
synced 2026-03-28 17:42:56 +01:00
This commit establishes the complete foundation for the MeshCore Hub project: - Project setup with pyproject.toml (Python 3.11+, all dependencies) - Development tools: black, flake8, mypy, pytest configuration - Pre-commit hooks for code quality - Package structure with all components (interface, collector, api, web) Common package includes: - Pydantic settings for all component configurations - SQLAlchemy models for nodes, messages, advertisements, traces, telemetry - Pydantic schemas for events, API requests/responses, commands - MQTT client utilities with topic builder - Logging configuration Database infrastructure: - Alembic setup with initial migration for all tables - Database manager with session handling CLI entry point: - Click-based CLI with subcommands for all components - Database migration commands (upgrade, downgrade, revision) Tests: - Basic test suite for config and models - pytest fixtures for in-memory database testing
39 lines
969 B
YAML
39 lines
969 B
YAML
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v4.5.0
|
|
hooks:
|
|
- id: trailing-whitespace
|
|
- id: end-of-file-fixer
|
|
- id: check-yaml
|
|
- id: check-added-large-files
|
|
- id: check-merge-conflict
|
|
- id: check-toml
|
|
- id: debug-statements
|
|
|
|
- repo: https://github.com/psf/black
|
|
rev: 24.3.0
|
|
hooks:
|
|
- id: black
|
|
language_version: python3.11
|
|
args: ["--line-length=88"]
|
|
|
|
- repo: https://github.com/pycqa/flake8
|
|
rev: 7.0.0
|
|
hooks:
|
|
- id: flake8
|
|
additional_dependencies:
|
|
- flake8-bugbear
|
|
- flake8-comprehensions
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
rev: v1.9.0
|
|
hooks:
|
|
- id: mypy
|
|
additional_dependencies:
|
|
- pydantic>=2.0.0
|
|
- pydantic-settings>=2.0.0
|
|
- sqlalchemy>=2.0.0
|
|
- fastapi>=0.100.0
|
|
- types-paho-mqtt>=1.6.0
|
|
args: ["--ignore-missing-imports"]
|