Add news API integration and related configurations

- Update .env.example to include NEWS_API_KEY configuration
- Add newsapi-python dependency in pyproject.toml
- Implement NewsAPI class for fetching news articles
- Create Article model for structured news data
- Add tests for NewsAPI functionality in test_news_api.py
- Update pytest configuration to include news marker
This commit is contained in:
2025-09-29 15:15:18 +02:00
parent 2be9e0f319
commit badd3e2a6c
8 changed files with 91 additions and 1 deletions

14
uv.lock generated
View File

@@ -686,6 +686,18 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/fd/69/b547032297c7e63ba2af494edba695d781af8a0c6e89e4d06cf848b21d80/multidict-6.6.4-py3-none-any.whl", hash = "sha256:27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", size = 12313, upload-time = "2025-08-11T12:08:46.891Z" },
]
[[package]]
name = "newsapi-python"
version = "0.2.7"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "requests" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f8/4b/12fb9495211fc5a6d3a96968759c1a48444124a1654aaf65d0de80b46794/newsapi-python-0.2.7.tar.gz", hash = "sha256:a4b66d5dd9892198cdaa476f7542f2625cdd218e5e3121c8f880b2ace717a3c2", size = 7485, upload-time = "2023-03-02T13:15:35.89Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/74/47/e3b099102f0c826d37841d2266e19f1568dcf58ba86e4c6948e2a124f91d/newsapi_python-0.2.7-py2.py3-none-any.whl", hash = "sha256:11d34013a24d92ca7b7cbdac84ed2d504862b1e22467bc2a9a6913a70962318e", size = 7942, upload-time = "2023-03-02T13:15:34.475Z" },
]
[[package]]
name = "numpy"
version = "2.3.3"
@@ -1298,6 +1310,7 @@ dependencies = [
{ name = "dotenv" },
{ name = "google-genai" },
{ name = "gradio" },
{ name = "newsapi-python" },
{ name = "ollama" },
{ name = "pytest" },
{ name = "python-binance" },
@@ -1310,6 +1323,7 @@ requires-dist = [
{ name = "dotenv" },
{ name = "google-genai" },
{ name = "gradio" },
{ name = "newsapi-python" },
{ name = "ollama" },
{ name = "pytest" },
{ name = "python-binance" },