- Created architecture documentation outlining high-level design, module organization, data flow, security model, performance considerations, testing strategy, and deployment architecture. - Added pyproject.toml for project metadata and dependencies management. - Introduced requirements files for development and production dependencies. - Set up testing configuration with pytest and tox. - Established basic directory structure for source code and tests, including __init__.py files. - Implemented a sample web application (index.html) for drag-and-drop functionality. - Configured VS Code workspace settings for Python development.
53 lines
1.2 KiB
INI
53 lines
1.2 KiB
INI
[tox]
|
|
envlist = py{310,311,312},lint,type,docs
|
|
skip_missing_interpreters = true
|
|
|
|
[testenv]
|
|
description = Run unit tests
|
|
deps = -r{toxinidir}/requirements-dev.txt
|
|
commands = pytest {posargs}
|
|
|
|
[testenv:lint]
|
|
description = Run linting checks (black, ruff, isort)
|
|
skip_install = false
|
|
commands =
|
|
black --check src tests
|
|
isort --check-only src tests
|
|
ruff check src tests
|
|
|
|
[testenv:format]
|
|
description = Auto-format code (black, isort)
|
|
skip_install = false
|
|
commands =
|
|
black src tests
|
|
isort src tests
|
|
|
|
[testenv:type]
|
|
description = Run type checking with mypy
|
|
commands = mypy src/webdrop_bridge
|
|
|
|
[testenv:docs]
|
|
description = Build Sphinx documentation
|
|
changedir = docs
|
|
commands = sphinx-build -W -b html -d {envtmpdir}/doctrees . {envtmpdir}/html
|
|
|
|
[testenv:coverage]
|
|
description = Run tests with coverage report
|
|
commands = pytest --cov=src/webdrop_bridge --cov-report=term-missing --cov-report=html
|
|
|
|
[testenv:build-windows]
|
|
description = Build Windows installer (MSI)
|
|
platform = win32
|
|
whitelist_externals =
|
|
bash
|
|
powershell
|
|
commands =
|
|
python build/scripts/build_windows.py
|
|
|
|
[testenv:build-macos]
|
|
description = Build macOS DMG package
|
|
platform = darwin
|
|
whitelist_externals =
|
|
bash
|
|
commands =
|
|
bash build/scripts/build_macos.sh
|