An open API service indexing awesome lists of open source software.

https://github.com/hridesh-net/turons_agent

A Latest News Filter and Notifier! πŸš€ Keep yourself updated with the latest news in the easiest way possible. Whether you’re into tech, fashion, sports, or any other topic, this project lets you stay informed with customized news updates and concise content summaries.
https://github.com/hridesh-net/turons_agent

ai aiagentsframework automation langgraph-python llms news python technology

Last synced: about 2 months ago
JSON representation

A Latest News Filter and Notifier! πŸš€ Keep yourself updated with the latest news in the easiest way possible. Whether you’re into tech, fashion, sports, or any other topic, this project lets you stay informed with customized news updates and concise content summaries.

Awesome Lists containing this project

README

        

![Header Image](images/Turons%20Letter%20(2).png)

# πŸ“° Turons Agent
Latest News Filter and Notifier

Welcome to the Latest News Filter and Notifier! πŸš€
Keep yourself updated with the latest news in the easiest way possible. Whether you’re into tech, fashion, sports, or any other topic, this project lets you stay informed with customized news updates and concise content summaries.

----

### 🌟 Features

#### 1. Personalized News Updates:

Default category is Technology, but you can change it to any topic you like (e.g., health, business, entertainment).

#### 2. AI-Powered Filtering

Not all β€œtech” news is actually about tech. Our built-in AI filters ensure you get relevant, high-quality articles.

#### 3. Half-Minute Reads

Don’t have time to read long articles? The project summarizes news into easy-to-read, concise content so you can stay informed in just 30 seconds.

#### 4. Seamless Integration with DynamoDB

All filtered news articles are stored in AWS DynamoDB with their content and status for easy management and tracking.

#### 5. Notifications for Latest Articles

The project keeps you up-to-date by notifying you whenever new, relevant articles are available.
#### 6. Two Modes to Run

- main.py: For a straightforward execution.

- lg_app.py: The LangGraph-powered version, offering a modular, state-based workflow for advanced use cases.
-----

### πŸ—οΈ Project Structure

Here’s a breakdown of the project directory:
```bash
.
β”œβ”€β”€ main.py # The simple version of the application
β”œβ”€β”€ lg_app.py # The LangGraph-powered version
β”œβ”€β”€ nodes/ # State nodes for LangGraph
β”‚ β”œβ”€β”€ db_node.py
β”‚ β”œβ”€β”€ filter_tech_article.py
β”‚ β”œβ”€β”€ generate_article.py
β”‚ β”œβ”€β”€ generate_prompt.py
β”‚ β”œβ”€β”€ state_manager.py
β”œβ”€β”€ utils/ # Utility functions and classes
β”‚ β”œβ”€β”€ aws_utils.py
β”‚ β”œβ”€β”€ base_utils_class.py
β”‚ β”œβ”€β”€ data_utils.py
└── README.md
```
----

### πŸš€ How It Works

#### 1️⃣ Fetch News

Using the NewsData API, the project fetches the latest news articles from the selected category (default: technology).

#### 2️⃣ AI-Powered Filtering

Articles are passed to an AI agent to identify the most relevant ones for your chosen category.

#### 3️⃣ Content Summarization

Filtered articles are summarized into concise, engaging pieces that you can read in half a minute. AI ensures summaries are simple, understandable, and free of clutter.

#### 4️⃣ Store and Notify

Filtered articles are stored in AWS DynamoDB with their summaries and status. Notifications ensure you’re always updated.

----

### πŸ› οΈ How to Use

#### Prerequisites
- Python 3.12+
- AWS account with DynamoDB configured
- NewsData API key
- Groq API key

#### Installation
1. Clone this repository:
```bash
git clone https://github.com/your-repo/latest-news-filter.git
cd latest-news-filter
```

2. Install dependencies:
```bash
pip install -r requirements.txt
```

3. Configure environment variables:
Create a .env file with the following variables:

```bash
NEWS_API_KEY=your_newsdata_api_key
GROQ_API_KEY=your_groq_api_key
AWS_REGION=your_aws_region
AWS_ACCESS_KEY=your_aws_access_key
AWS_SECRET_KEY=your_aws_secret_key
DYNAMODB_TABLE=TechNews
```

#### Running the Application

1. Simple Mode
```bash
python main.py
```
2. LangGraph Mode
```bash
python lg_app.py
```
----

### ✨ Why Choose This Project?
1. Scalable and Modular

Whether you’re a beginner or an advanced user, this project is easy to use and extend.

2. Stay Updated

Get personalized, summarized news updates every day without spending hours scrolling.

3. AI-Powered Precision

Leverages cutting-edge AI for content filtering and summarization.

4. Customizable

Easily switch categories to focus on what matters to you.

----

# 🀝 Contribution

We love contributions! If you have ideas to improve this project or want to fix something, feel free to fork the repo and create a pull request.

---

# πŸ›‘οΈ Disclaimer

This project uses external APIs and services. Ensure you comply with their terms of use.

Enjoy staying informed effortlessly with Latest News Filter and Notifier! πŸŽ‰