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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kiosque-0.2.0.tar.gz (194.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kiosque-0.2.0-py3-none-any.whl (54.7 kB view details)

Uploaded Python 3

File details

Details for the file kiosque-0.2.0.tar.gz.

File metadata

  • Download URL: kiosque-0.2.0.tar.gz
  • Upload date:
  • Size: 194.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kiosque-0.2.0.tar.gz
Algorithm Hash digest
SHA256 90211e2f45865bc9c5f92d629db6709e1f1cf8b571186c16933b44366be72184
MD5 cf0cc4dbacd5ac6962c81ef0ebb052f6
BLAKE2b-256 b2402f83ae13966e12eb17132f3193ca4032d4780eb7512ce1e52795f712e264

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiosque-0.2.0.tar.gz:

Publisher: release.yml on xoolive/kiosque

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kiosque-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: kiosque-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 54.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kiosque-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fce030a90445fd289044813c10024e6f5a9aaccc7b792994a1314485478fd764
MD5 5164ba608286167b260cba81a047589c
BLAKE2b-256 41ef972f88009e134d7160d4bcc2135b9c7c3ff8208ae4468cd259e9f65e6fdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for kiosque-0.2.0-py3-none-any.whl:

Publisher: release.yml on xoolive/kiosque

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page