Files
Tirsvad 88d5fcaddb Set up the project foundation (MIL-001)
pyproject.toml (Python >=3.13, src layout, dev extra), constants.py,
.gitignore, .env.example, Doxyfile, README from the framework template,
smoke tests, and the code review RC-010.

Task: MIL-001#1
Task: MIL-001#2
Task: MIL-001#3
Task: MIL-001#4
Task: MIL-001#5
Task: MIL-001#6
2026-10-28 14:36:58 +08:00

62 lines
1.4 KiB
TOML

[build-system]
requires = ["setuptools>=69"]
build-backend = "setuptools.build_meta"
[project]
name = "amazon-price-tracker"
version = "0.1.0"
description = "Day 47 of 100 Days of Code: scrape a product price and send an e-mail alert when it drops below a target."
readme = "README.md"
requires-python = ">=3.13"
license = "AGPL-3.0-or-later"
license-files = ["LICENSE"]
authors = [{ name = "Jens Tirsvad Nielsen" }]
keywords = ["web-scraping", "beautifulsoup", "smtp", "price-tracker"]
classifiers = [
"Programming Language :: Python :: 3.13",
"Environment :: Console",
"Topic :: Education",
]
dependencies = [
"requests>=2.32",
"beautifulsoup4>=4.12",
"python-dotenv>=1.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8",
"ruff>=0.6",
"mypy>=1.11",
"types-requests>=2.32",
]
[project.urls]
Repository = "https://git.tirsystem.com/Tirsvad-Udemy-100-days-of-code/047-amazon-price-tracker"
[tool.setuptools.packages.find]
where = ["src"]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["src"]
addopts = "-ra"
[tool.ruff]
line-length = 88
target-version = "py313"
src = ["src", "tests"]
extend-exclude = ["framework"]
[tool.ruff.lint]
select = ["E", "F", "I", "N", "UP", "B", "D"]
ignore = ["D203", "D213"]
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["D"]
[tool.mypy]
strict = true
python_version = "3.13"
files = ["src", "tests"]