cc694e71b4
- Add pyproject.toml with proper metadata and dependency groups - Create multi-stage Dockerfile for backend - Add docker-compose.yml with dev/prod profiles - Create frontend Dockerfile with nginx - Add .dockerignore for optimized builds - Update README with Docker instructions and troubleshooting - Remove requirements.txt in favor of pyproject.toml - Ensure data persistence with Docker volumes
69 lines
1.7 KiB
TOML
69 lines
1.7 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "backup-tool"
|
|
version = "0.1.0"
|
|
description = "Web-based backup management tool for small teams and SMBs"
|
|
readme = "README.md"
|
|
license = {text = "MIT"}
|
|
requires-python = ">=3.11"
|
|
authors = [
|
|
{name = "Backup Tool Team"}
|
|
]
|
|
keywords = ["backup", "restore", "scheduler", "web"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: System Administrators",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Programming Language :: Python :: 3.14",
|
|
"Topic :: System :: Archiving :: Backup",
|
|
]
|
|
dependencies = [
|
|
"fastapi>=0.115.0",
|
|
"uvicorn[standard]>=0.34.0",
|
|
"sqlalchemy[asyncio]>=2.0.0",
|
|
"aiosqlite>=0.21.0",
|
|
"alembic>=1.15.0",
|
|
"pydantic>=2.13.0",
|
|
"pydantic-settings>=2.9.0",
|
|
"apscheduler>=3.11.0",
|
|
"paramiko>=3.5.0",
|
|
"aiofiles>=23.2.0",
|
|
"httpx>=0.28.0",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.3.0",
|
|
"pytest-asyncio>=0.26.0",
|
|
]
|
|
prod = [
|
|
"gunicorn>=23.0.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
backup-tool = "app.main:main"
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/backup-tool/backup-tool"
|
|
Documentation = "https://github.com/backup-tool/backup-tool#readme"
|
|
Repository = "https://github.com/backup-tool/backup-tool.git"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["app*", "backup*", "alembic*"]
|
|
|
|
[tool.pytest.ini_options]
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|
|
pythonpath = [".", "app", "backup"]
|
|
|
|
[tool.setuptools.package-data]
|
|
alembic = ["*.ini", "*.py", "*.mako"]
|