Skip to main content

CLI tool to fetch and save web content as Markdown files using Jina Reader API. Handles authentication and provides rich terminal output.

Project description

JinaFetch

License: MIT Python 3.12+

A CLI tool to fetch web content and save it as Markdown using the Jina Reader API (get API key).

Features

  • 🚀 Fast web content conversion to Markdown
  • 🔑 Secure API key management via .env
  • 🎨 Rich terminal output with success/error formatting
  • 📂 Automatic filename generation with fallback

Installation

pipx install jinafetch  # Recommended
# or
pip install jinafetch

Usage

Configure API Key

jinafetch configure  # Update stored API key
jinafetch show-config  # See where credentials are stored

Basic fetching

jinafetch fetch https://example.com

Specify output file

jinafetch fetch https://example.com --output my_document.md

Pipe output to other commands

jinafetch fetch https://example.com --stdout | pbcopy  # Example: pipe to clipboard

Environment Configuration

The CLI will guide you through first-time setup:

  1. Run any command (e.g. jinafetch fetch https://example.com)
  2. You'll be prompted to enter your Jina API key
  3. Your key will be securely stored in:
    • Linux: ~/.config/jinafetch/config.ini
    • macOS: ~/Library/Application Support/jinafetch/config.ini
    • Windows: C:\Users\<user>\AppData\Local\jinafetch\config.ini

For CI/CD use cases, you can still set via environment variable:

export JINA_API_KEY=your_key_here
# or
JINA_API_KEY=your_key_here jinafetch fetch...

Error Handling

The CLI returns these exit codes:

  • 0: Success
  • 1: General error (network issues, invalid API key)
  • 2: File system error (permission issues, path problems)

Common error scenarios include:

  • 🔒 Missing API key
  • 🌐 Network errors
  • 💾 File write permissions
  • 🔗 Invalid URLs

Errors display clear messages in red with details.

Troubleshooting

🔧 Where's my API key actually stored? Run jinafetch show-config to see the config file location

🌐 Network errors Check your internet connection and firewall settings for HTTPS access

🔑 Invalid API key errors Update your key with jinafetch configure or via environment variable

Requirements

  • Python 3.12+
  • Valid Jina Reader API key

📝 Note: Requires valid authentication via Jina Reader API

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Project details


Download files

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

Source Distribution

jinafetch-0.3.1.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

jinafetch-0.3.1-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file jinafetch-0.3.1.tar.gz.

File metadata

  • Download URL: jinafetch-0.3.1.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for jinafetch-0.3.1.tar.gz
Algorithm Hash digest
SHA256 52f5f2f3d670f6e34fd63222dedc11e0d2753744ec3aa16f6ef671324be859b6
MD5 c4567d1ffbe08992281967e6d7f8aae3
BLAKE2b-256 ee0698954f8c8e98b8ddad24b07fed9eaefd83415e6019ca16f83e72a0bf6e7a

See more details on using hashes here.

File details

Details for the file jinafetch-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: jinafetch-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for jinafetch-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 19442a54c251625a7d76039da9a7834ccbec7616668386e557d09a8a9de54ff7
MD5 b96402d14b87b85cf0eac8baafeece37
BLAKE2b-256 2aae6bad57a31c23559019e0d29a7adcc4d9239e8b09bc963578408fb42f554c

See more details on using hashes here.

Supported by

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