mirror of
https://github.com/sstent/AICyclingCoach.git
synced 2025-12-05 23:52:06 +00:00
109 lines
2.5 KiB
TOML
109 lines
2.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "ai-cycling-coach"
|
|
version = "1.0.0"
|
|
description = "AI-Powered Cycling Training Coach with Terminal Interface"
|
|
readme = "README.md"
|
|
license = {file = "LICENSE"}
|
|
authors = [
|
|
{name = "AI Cycling Coach", email = "info@aicyclingcoach.com"}
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console :: Curses",
|
|
"Intended Audience :: End Users/Desktop",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.8",
|
|
"Programming Language :: Python :: 3.9",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Topic :: Scientific/Engineering",
|
|
"Topic :: Other/Nonlisted Topic",
|
|
]
|
|
keywords = ["cycling", "training", "ai", "fitness", "garmin", "gpx"]
|
|
requires-python = ">=3.8"
|
|
|
|
dependencies = [
|
|
# Core dependencies
|
|
"python-dotenv==1.0.1",
|
|
"sqlalchemy==2.0.31",
|
|
"alembic==1.13.1",
|
|
"pydantic-settings==2.2.1",
|
|
"Mako==1.3.10",
|
|
|
|
# Database
|
|
"aiosqlite==0.20.0",
|
|
|
|
# TUI framework
|
|
"textual==0.82.0",
|
|
|
|
# Data processing
|
|
"gpxpy>=1.5.0",
|
|
|
|
# External integrations
|
|
"garminconnect", # Using python-garminconnect
|
|
"httpx==0.25.2",
|
|
|
|
# Backend framework
|
|
"fastapi==0.110.0",
|
|
"python-multipart==0.0.9",
|
|
|
|
# Development tools (optional)
|
|
"pytest>=8.1.1; extra=='dev'",
|
|
"pytest-asyncio>=0.23.5; extra=='dev'",
|
|
"black>=24.3.0; extra=='dev'",
|
|
"isort>=5.13.2; extra=='dev'",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.1.1",
|
|
"pytest-asyncio>=0.23.5",
|
|
"black>=24.3.0",
|
|
"isort>=5.13.2",
|
|
]
|
|
|
|
[project.urls]
|
|
"Homepage" = "https://github.com/ai-cycling-coach/ai-cycling-coach"
|
|
"Bug Reports" = "https://github.com/ai-cycling-coach/ai-cycling-coach/issues"
|
|
"Source" = "https://github.com/ai-cycling-coach/ai-cycling-coach"
|
|
|
|
[project.scripts]
|
|
cycling-coach = "main:main"
|
|
ai-cycling-coach = "main:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["backend*", "tui*"]
|
|
exclude = ["tests*", "docs*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
"*" = ["*.md", "*.txt", "*.ini", "*.toml"]
|
|
|
|
[tool.black]
|
|
line-length = 100
|
|
target-version = ['py38', 'py39', 'py310', 'py311']
|
|
include = '\.pyi?$'
|
|
extend-exclude = '''
|
|
/(
|
|
# directories
|
|
\.eggs
|
|
| \.git
|
|
| \.hg
|
|
| \.mypy_cache
|
|
| \.tox
|
|
| \.venv
|
|
| build
|
|
| dist
|
|
)/
|
|
'''
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
multi_line_output = 3
|
|
line_length = 100 |