Initial commit with README

This commit is contained in:
Alex Selimov 2025-08-02 19:12:58 -04:00
commit 24200b899a
5 changed files with 88 additions and 0 deletions

10
.gitignore vendored Normal file
View file

@ -0,0 +1,10 @@
# Python-generated files
__pycache__/
*.py[oc]
build/
dist/
wheels/
*.egg-info
# Virtual environments
.venv

1
.python-version Normal file
View file

@ -0,0 +1 @@
3.13

58
README.md Normal file
View file

@ -0,0 +1,58 @@
# rss2newsletter
**rss2newsletter** is a simple tool that pulls articles from a user-provided RSS feed, summarizes the current day's content using an [Ollama](https://ollama.com) server, and outputs a clean HTML summary suitable for email delivery.
### ✨ Features
* 📰 Fetches all articles published **today** from a provided RSS feed
* 🧠 Uses an **Ollama** server to generate article summaries
* 📬 Outputs an HTML file with:
* Article title
* AI-generated summary
* Original article URL
---
### 🚧 Work in Progress
This project is under active development. Features, formatting, and performance are expected to evolve. Contributions and feedback are welcome.
---
### 🔧 Requirements
* Python 3.8+
* [`uv`](https://github.com/astral-sh/uv) (fast Python package manager)
* A running [Ollama](https://ollama.com) server
* Internet connection for fetching RSS content
---
### 📦 Installation
1. **Install `uv` if not already installed:**
```bash
curl -Ls https://astral.sh/uv/install.sh | sh
```
2. **Clone the repository and install dependencies:**
```bash
git clone https://github.com/your-username/rss2newsletter.git
cd rss2newsletter
uv venv
source .venv/bin/activate
uv pip install -e .
```
---
### 🛠 Usage
```bash
python rss2newsletter.py https://your-feed-url.com/rss
```
---

17
pyproject.toml Normal file
View file

@ -0,0 +1,17 @@
[project]
name = "rss2newsletter"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
authors = [
{ name = "Alex Selimov", email = "alex@alexselimov.com" }
]
requires-python = ">=3.13"
dependencies = []
[project.scripts]
rss2newsletter = "rss2newsletter:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

View file

@ -0,0 +1,2 @@
def main() -> None:
print("Hello from rss2newsletter!")