commit 24200b899a4a2492341af41731608b1336024a23 Author: Alex Selimov Date: Sat Aug 2 19:12:58 2025 -0400 Initial commit with README diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..505a3b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# Python-generated files +__pycache__/ +*.py[oc] +build/ +dist/ +wheels/ +*.egg-info + +# Virtual environments +.venv diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/README.md b/README.md new file mode 100644 index 0000000..03d2443 --- /dev/null +++ b/README.md @@ -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 +``` + +--- diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..4d1cbff --- /dev/null +++ b/pyproject.toml @@ -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" diff --git a/src/rss2newsletter/__init__.py b/src/rss2newsletter/__init__.py new file mode 100644 index 0000000..868ef3e --- /dev/null +++ b/src/rss2newsletter/__init__.py @@ -0,0 +1,2 @@ +def main() -> None: + print("Hello from rss2newsletter!")