feat(data-processing): add visual sentiment indicators for news & assets (#414)#506
Merged
Cedarich merged 3 commits intoPulsefy:mainfrom Mar 29, 2026
Conversation
…ets (Pulsefy#414) - Add SentimentIndicatorMapper utility in src/analytics/sentiment_indicators.py mapping scores (-1 to 1) to color-coded indicators (Green/Red/Gray) - Extend NewsArticleResponse with sentiment_score, sentiment_label, and indicator fields - Extend AnalyzeResponse and AssetAnalysisResponse with indicator field - Add GET /sentiment/legend endpoint returning colour legend and thresholds - Wire indicator into POST /analyze, GET /analyze, and GET /news responses - Add comprehensive test suite in tests/test_sentiment_indicators.py covering score→color mapping, boundary values, display text, legend, and API schemas
|
@titilayo967 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
- add missing test dependency httpx to requirements - prevent import-time crash when API_KEY is unset by deferring auth enforcement to request-time - return JSON auth errors from security middleware instead of bubbling exceptions - exempt /sentiment/legend from API-key middleware to match endpoint contract - make SlowAPI-compatible endpoint signatures by using request: Request on rate-limited handlers - silence Pydantic protected namespace warning for model_backend via ConfigDict(protected_namespaces=())
Contributor
Author
|
@Cedarich check has passed. |
Cedarich
approved these changes
Mar 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Integrates color-coded sentiment indicators (Green/Bullish, Red/Bearish, Gray/Neutral) into News and Asset API responses, adding sentiment badges and a legend endpoint for frontend visualization.
Linked Issue
Closes #414
Type of Change
Validation
Documentation
Files Added/Modified
apps/data-processing/src/analytics/sentiment_indicators.pyapps/data-processing/tests/test_sentiment_indicators.pyapps/data-processing/src/api/server.pyAPI Changes
GET /newssentiment_score,sentiment_label,indicatorPOST /analyzeindicatorin responseGET /analyzeindicatorin responseGET /sentiment/legendSentiment Mapping
Acceptance Criteria
Checklist
feat/Closes #414