Files
DashBoard/pyproject.toml

74 lines
1.7 KiB
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "mes-dashboard"
version = "0.1.0"
description = "MES Dashboard Portal"
readme = "README.md"
requires-python = ">=3.9"
license = { text = "MIT" }
authors = [
{ name = "MES Dashboard Team" }
]
keywords = ["flask", "mes", "dashboard"]
classifiers = [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"License :: OSI Approved :: MIT License",
]
# Note: Use bounded ranges (>=,<) to avoid accidental major-version breaks.
# For reproducible builds, use: pip freeze > requirements.lock
dependencies = [
# Core Framework
"flask>=3.0.0,<4.0.0",
# Database
"oracledb>=2.0.0,<4.0.0",
"sqlalchemy>=2.0.0,<3.0.0",
# Data Processing
# Pin pandas to a DBAPI2-compatible release for current pd.read_sql flow.
"pandas==2.3.3",
"openpyxl>=3.0.0",
# Cache (Redis)
"redis>=5.0.0,<6.0.0",
"hiredis>=2.0.0,<4.0.0",
# HTTP Client
"requests>=2.28.0,<3.0.0",
# Configuration
"python-dotenv>=1.0.0,<2.0.0",
# WSGI Server
"gunicorn>=21.2.0,<25.0.0",
"waitress>=2.1.2,<4.0.0; platform_system == 'Windows'",
# System Monitoring
"psutil>=5.9.0,<7.0.0",
]
[project.optional-dependencies]
test = [
"pytest>=7.0.0",
"pytest-playwright>=0.4.0",
"playwright>=1.40.0",
]
[tool.setuptools]
package-dir = {"" = "src"}
include-package-data = true
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
mes_dashboard = ["templates/**/*", "sql/**/*.sql"]