English comments / english-comments (pull_request) Successful in 27s
English comments / Comments are English (pull_request) Successful in 28s
Quality checks / quality-checks (pull_request) Successful in 27s
Quality / Quality checks (pull_request) Successful in 27s
Tests and code metrics / Run pytest with coverage (pull_request) Successful in 1m1s
Tests and code metrics / Code metrics badges (pull_request) Skipped
Task: MIL-003#4
55 lines
1.2 KiB
TOML
55 lines
1.2 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "scrape-movies"
|
|
version = "0.1.0"
|
|
description = "Day 45 of 100 Days of Code: web scraping with Requests and BeautifulSoup (Hacker News and the Empire 100 greatest movies)."
|
|
readme = "README.md"
|
|
requires-python = ">=3.13"
|
|
license = { file = "LICENSE" }
|
|
dependencies = [
|
|
"requests>=2.32",
|
|
"beautifulsoup4>=4.12",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.3",
|
|
"pytest-cov>=5.0",
|
|
"ruff>=0.6",
|
|
"mypy>=1.11",
|
|
"types-requests>=2.32",
|
|
"pillow>=10.4",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
pythonpath = ["src"]
|
|
|
|
[tool.ruff]
|
|
line-length = 88
|
|
src = ["src", "tests"]
|
|
extend-exclude = ["framework", ".agents", ".claude"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "I", "N", "UP", "B", "D"]
|
|
# UP040 off: mypy 1.11 (the pinned CI version) does not support PEP 695 aliases.
|
|
ignore = ["D203", "D213", "UP040"]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"tests/**" = ["D"]
|
|
|
|
[tool.mypy]
|
|
strict = true
|
|
python_version = "3.13"
|
|
mypy_path = "src"
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ["bs4.*", "requests.*", "PIL.*", "pytest.*"]
|
|
ignore_missing_imports = true
|