Metadata-Version: 2.4
Name: elizaos-plugin-rss
Version: 2.0.0a5
Summary: elizaOS RSS Plugin - RSS and Atom feed integration for monitoring news feeds
Project-URL: Homepage, https://github.com/elizaos/eliza
Project-URL: Documentation, https://elizaos.ai/docs
Project-URL: Repository, https://github.com/elizaos/eliza
Author: elizaOS Contributors
License-Expression: MIT
Keywords: agents,ai,atom,elizaos,feed,news,rss
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content :: News/Diary
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: defusedxml>=0.7.1
Requires-Dist: httpx>=0.28.0
Requires-Dist: pydantic>=2.10.0
Provides-Extra: dev
Requires-Dist: mypy>=1.14.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
Requires-Dist: pytest-cov>=6.0.0; extra == 'dev'
Requires-Dist: pytest-xprocess>=1.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: respx>=0.22.0; extra == 'dev'
Requires-Dist: ruff>=0.9.0; extra == 'dev'
Description-Content-Type: text/markdown

# elizaos-plugin-rss

Python implementation of the RSS plugin for elizaOS.

## Installation

```bash
pip install elizaos-plugin-rss
```

Or for development:

```bash
pip install -e ".[dev]"
```

## Usage

```python
from elizaos_plugin_rss import RssClient, RssConfig

# Create client
config = RssConfig()
client = RssClient(config)

# Fetch a feed
feed = await client.fetch_feed("https://news.ycombinator.com/rss")
print(f"Feed: {feed.title}")
print(f"Items: {len(feed.items)}")

for item in feed.items[:5]:
    print(f"  - {item.title}")
```

## Features

- Async HTTP client using httpx
- Type-safe with Pydantic models
- RSS 2.0 and Atom feed parsing
- Secure XML parsing with defusedxml
- Full feature parity with TypeScript and Rust implementations

## Development

```bash
# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Type checking
mypy elizaos_plugin_rss

# Linting
ruff check .
ruff format .
```

## License

MIT



