Skip to main content

kiosque

A unified tool for news article extraction and bookmark management.

What is Kiosque?

Kiosque combines three essential capabilities:

  1. Article Extractor (CLI/API) - Download full-text articles from several paywalled news websites as Markdown
  2. Bookmark Manager (TUI) - Browse and manage bookmarks from Raindrop.io and GitHub Stars in a beautiful terminal interface
  3. Content Aggregator - Unified tabbed interface for multiple content sources with smart context-aware actions

Quick Start

# Launch TUI (Terminal User Interface) - default
kiosque

# Extract article to file
kiosque https://www.lemonde.fr/article output.md

# Print to stdout
kiosque https://www.nytimes.com/article - | bat - -l md

# Download NYT front page PDF
kiosque nyt

Installation

# From PyPI
pip install kiosque

# Or with uv (recommended)
uv tool install kiosque

Requirements: Python 3.12+, pandoc

Core Features

📰 Article Extraction

  • News Websites - Le Monde, NYT, Guardian, Mediapart, and more
  • Authentication - Login support for paywalled sites
  • Markdown Output - Clean, readable format with metadata
  • Proxy Support - Access geo-blocked websites via SOCKS/HTTP proxies

🔖 Bookmark Management

  • Raindrop.io Integration - Browse, preview, archive, delete, edit tags
  • GitHub Stars - Explore starred repos, preview READMEs, unstar
  • Unified Search - Filter by title, URL, tags, topics across all sources
  • Beautiful Previews - Markdown rendering with syntax highlighting

🚀 Content Aggregation

  • Tabbed Interface - Switch between Raindrop and GitHub
  • Progressive Loading - Non-blocking, fast performance
  • Smart Actions - Context-aware keybindings (e.g., star GitHub repos from Raindrop)

Configuration

Create ~/.config/kiosque/kiosque.conf:

# Website authentication
[https://www.lemonde.fr/]
username = your.email@example.com
password = your_password

[https://www.nytimes.com/]
cookie_nyt_s = your_nyt_cookie_value

# Raindrop.io integration
[raindrop.io]
token = your_raindrop_api_token

# GitHub Stars integration
[github]
token = ghp_your_github_personal_access_token

# Proxy for geo-blocked sites (optional)
[proxy]
url = socks5://localhost:1080

Python API

from kiosque import Website

# Extract article as Markdown
url = "https://www.lemonde.fr/article"
markdown = Website.instance(url).full_text(url)

# Save to file
Website.instance(url).save(url, "article.md")

Documentation

📚 Full documentation: https://www.xoolive.org/kiosque

TUI Keybindings

Key Action
↑ or k / ↓ or j Navigate entries
1 / 2 Switch tabs
/ Search
Space Preview article/README
Enter / o Open in browser
t Edit tags (Raindrop)
e Archive (Raindrop)
d Delete (Raindrop)
u Unstar (GitHub)
s Star on GitHub (GitHub URLs)
r Refresh
q Quit

Contributing

Contributions welcome! See the Contributing Guide for:

  • How to add support for new websites
  • Code style and testing guidelines
  • Architecture overview

License

MIT

Metadata

Release files for kiosque 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kiosque 0.2.0
File Size Uploaded
kiosque-0.2.0.tar.gz 194.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kiosque 0.2.0
File Interpreter ABI Platform
kiosque-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 249.3 kB

Release files / kiosque-0.2.0.tar.gz

Download URL kiosque-0.2.0.tar.gz
Size 194.6 kB
Tags Source
SHA-256 checksum
How to use checksums
90211e2f45865bc9c5f92d629db6709e1f1cf8b571186c16933b44366be72184
BLAKE2b-256 checksum
How to use checksums
b2402f83ae13966e12eb17132f3193ca4032d4780eb7512ce1e52795f712e264
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 11, 2026.

Transparency log

Release files / kiosque-0.2.0-py3-none-any.whl

Download URL kiosque-0.2.0-py3-none-any.whl
Size 54.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fce030a90445fd289044813c10024e6f5a9aaccc7b792994a1314485478fd764
BLAKE2b-256 checksum
How to use checksums
41ef972f88009e134d7160d4bcc2135b9c7c3ff8208ae4468cd259e9f65e6fdc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page