TCPDashboard/pyproject.toml
Ajasra 96ee25bd01 Refactor data validation module for improved modularity and functionality
- Removed the existing `validation.py` file and replaced it with a modular structure, introducing separate files for validation results, field validators, and the base validator class.
- Implemented comprehensive validation functions for common data types, enhancing reusability and maintainability.
- Added a new `__init__.py` to expose the validation utilities, ensuring a clean public interface.
- Created detailed documentation for the validation module, including usage examples and architectural details.
- Introduced extensive unit tests to cover the new validation framework, ensuring reliability and preventing regressions.

These changes enhance the overall architecture of the data validation module, making it more scalable and easier to manage.
2025-06-07 12:31:47 +08:00

83 lines
1.8 KiB
TOML

[project]
name = "dashboard"
version = "0.1.0"
description = "Crypto Trading Bot Dashboard - A control dashboard for managing and monitoring multiple cryptocurrency trading bots"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
# Core web framework
"dash>=2.14.0",
"dash-bootstrap-components>=1.6.0",
"dash-bootstrap-templates>=1.1.0",
"plotly>=5.17.0",
"waitress>=3.0.0",
# Database
"sqlalchemy>=2.0.0",
"psycopg2-binary>=2.9.0",
"alembic>=1.12.0",
# HTTP and WebSocket clients
"requests>=2.31.0",
"websocket-client>=1.6.0",
"websockets>=11.0.0",
"aiohttp>=3.8.0",
# Data processing
"pandas>=2.1.0",
"numpy>=1.24.0",
# Configuration and environment
"python-dotenv>=1.0.0",
"pydantic>=2.4.0",
"pydantic-settings>=2.1.0",
# Caching
"redis>=4.6.0",
# Utilities
"python-dateutil>=2.8.0",
"pytz>=2023.3",
# Logging
"structlog>=23.1.0",
# Development tools
"watchdog>=3.0.0", # For file watching and hot reload
"click>=8.0.0", # For CLI commands
"pytest>=8.3.5",
"psutil>=7.0.0",
"tzlocal>=5.3.1",
]
[project.optional-dependencies]
dev = [
"pytest>=7.4.0",
"pytest-asyncio>=0.21.0",
"pytest-cov>=4.1.0",
"black>=23.0.0",
"isort>=5.12.0",
"flake8>=6.0.0",
"mypy>=1.5.0",
"pre-commit>=3.5.0", # For git hooks
"pytest-mock>=3.12.0", # For mocking in tests
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["config", "database", "scripts", "tests"]
[tool.black]
line-length = 88
target-version = ['py310']
[tool.isort]
profile = "black"
line_length = 88
[tool.mypy]
python_version = "3.10"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
[dependency-groups]
dev = [
"pytest-asyncio>=1.0.0",
]