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.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.0

1 file

Supported by

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