Files
upbeatBytes/pyproject.toml
T
thejayman77 cabe0b6049 Harden Calm Filters surface before Track 3
- Add API test layer (TestClient): bad prefs -> 200, mute affects feed,
  avoid-term filters, brief filters down, counts match filtered feed.
- Render article cards via the DOM API (textContent) instead of HTML string
  interpolation, and only allow http(s) hrefs — defense-in-depth XSS guard for
  when the feed faces untrusted sources publicly.
- Refresh the stale README Next Steps to reflect what's done vs ahead.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 19:31:45 +00:00

33 lines
714 B
TOML

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "goodnews"
version = "0.1.0"
description = "Local-first constructive news ingestion and filtering prototype."
requires-python = ">=3.11"
# The ingestion CLI is intentionally pure-stdlib. The optional `web` extra adds
# the API/site layer so the two halves can be deployed and upgraded independently.
dependencies = []
[project.optional-dependencies]
web = [
"fastapi>=0.110",
"uvicorn[standard]>=0.29",
]
test = [
"pytest>=8",
"httpx>=0.27",
]
[project.scripts]
goodnews = "goodnews.cli:main"
[tool.setuptools]
packages = ["goodnews"]
[tool.setuptools.package-data]
goodnews = ["static/*"]