https://github.com/miniflux/python-client
Python client for Miniflux API
https://github.com/miniflux/python-client
api miniflux python
Last synced: 22 days ago
JSON representation
Python client for Miniflux API
- Host: GitHub
- URL: https://github.com/miniflux/python-client
- Owner: miniflux
- License: mit
- Created: 2017-12-25T00:14:48.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-02-22T05:22:04.000Z (2 months ago)
- Last Synced: 2025-03-29T06:06:42.667Z (29 days ago)
- Topics: api, miniflux, python
- Language: Python
- Homepage: https://pypi.org/project/miniflux/
- Size: 85.9 KB
- Stars: 64
- Watchers: 5
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Miniflux Python API Client
==========================Python client library for [Miniflux](https://miniflux.app).
Requirements
------------- Miniflux >= 2.0.49
- Python >= 3.8
- requestsThis project uses [Ruff](https://docs.astral.sh/ruff/) for linting and formatting.
Installation
------------```bash
python3 -m pip install miniflux
```Running Tests
-------------```bash
python3 -m unittest -v
```Examples
--------```python
import miniflux# Creating a client using username / password authentication
client = miniflux.Client("https://miniflux.example.org", username="my_username", password="my_secret_password")# Use an API Key (preferred method)
client = miniflux.Client("https://miniflux.example.org", api_key="My secret API token")# Get all feeds
feeds = client.get_feeds()# Refresh a feed
client.refresh_feed(123)# Discover subscriptions from a website
subscriptions = client.discover("https://example.org")# Create a new feed, with a personalized user agent and with the crawler enabled
feed_id = client.create_feed("http://example.org/feed.xml", category_id=42, crawler=True, user_agent="GoogleBot")# Fetch 10 starred entries
entries = client.get_entries(starred=True, limit=10)# Fetch last 5 feed entries
feed_entries = client.get_feed_entries(123, direction='desc', order='published_at', limit=5)# Fetch entries that belongs to a category with status unread and read
entries = client.get_entries(category_id=456, status=['read', 'unread'])# Update entry title and content
client.update_entry(entry_id=1234, title="New title", content="New content")# Update a feed category
client.update_feed(123, category_id=456)# OPML Export
opml = client.export_feeds()# OPML import
client.import_feeds(opml_data)# Get application version
client.get_version()# Flush history
client.flush_history()# Get current user
myself = client.me()
```You can also use a context manager:
```python
import minifluxwith miniflux.Client("https://miniflux.domain.tld", api_key="secret") as clt:
clt.me()
```Look at [miniflux.py](https://github.com/miniflux/python-client/blob/main/miniflux.py) for the complete list of methods.
Author
------Frédéric Guillot
License
-------This library is distributed under MIT License.