[project] name = "finance-news" version = "1.0.0" description = "Finance news aggregation and market briefing skill for OpenClaw" readme = "README.md" requires-python = ">=3.10" license = { text = "MIT" } authors = [{ name = "Martin Kessler", email = "martin@kessler.io" }] dependencies = [ "feedparser>=6.0.11", "yfinance>=0.2.40", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "pytest-cov>=5.0", "ruff>=0.4", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["scripts"] [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_functions = ["test_*"] addopts = "-v --tb=short" [tool.coverage.run] source = ["scripts"] omit = ["scripts/__pycache__/*"] [tool.coverage.report] exclude_lines = [ "pragma: no cover", "if __name__ == .__main__.:", "raise NotImplementedError", ] fail_under = 30 # Current coverage is ~39% [tool.ruff] line-length = 120 target-version = "py310" [tool.ruff.lint] select = ["E", "F", "W", "I", "UP"] ignore = ["E501"]