Skip to main content

Fresh Logo

Fresh

PyPI Version PyPI Downloads Tests Coverage License Monthly Downloads

A CLI tool to fetch the latest documentation from any website in Markdown format.

Requirements

  • Python 3.12+
  • uv (recommended) or pip

Installation

# Using uv (recommended)
uv sync

# Or using pip
pip install -e .

Quick Start

# List all documentation pages on a website
fresh list https://docs.python.org/3/

# Fetch a documentation page and convert to Markdown
fresh get https://docs.python.org/3/tutorial/

# Search for content across documentation pages
fresh search "virtual environment" https://docs.python.org/3/

# Download entire documentation for offline use
fresh sync https://docs.python.org/3/

# Add an alias for quick access
fresh alias add python https://docs.python.org/3/
fresh list python

Commands

fresh list

List all documentation pages available on a website.

fresh list <URL> [OPTIONS]

Options:

  • -v, --verbose - Use rich output format
  • -p, --pattern TEXT - Filter paths matching pattern
  • -d, --depth INTEGER - Maximum crawl depth (default: 3)
  • --max-pages INTEGER - Maximum number of pages to discover (default: 100)
  • --sort TEXT - Sort results by name or path
  • -f, --format TEXT - Output format: json, yaml, xml
  • -c, --count - Show only total count

fresh get

Fetch a documentation page and convert it to Markdown.

fresh get <URL> [OPTIONS]

Options:

  • -v, --verbose - Use verbose output
  • -t, --timeout INTEGER - Request timeout in seconds (default: 30)
  • --header TEXT - Custom HTTP header
  • --no-follow - Do not follow redirects
  • --skip-scripts - Exclude JavaScript from output
  • --no-cache - Bypass cache
  • -o, --output TEXT - Write output to file
  • -r, --retry INTEGER - Number of retry attempts (default: 3)
  • --dry-run - Show what would be fetched without downloading

fresh search

Search for content across documentation pages.

fresh search <QUERY> <URL> [OPTIONS]

fresh websearch

Search the general web for any topic.

# Basic search (uses DuckDuckGo HTML, free)
fresh websearch "python async tutorial"

# With specific number of results
fresh websearch "react hooks" --count 5

# Table output for human-readable display
fresh websearch "rust ownership" --table

Options:

  • -n, --count INTEGER - Maximum number of results (default: 10)
  • -e, --engine TEXT - Search engine: auto, ddg, brave (default: auto)
  • -j, --json - Output as JSON (default)
  • -t, --table - Output as table
  • -v, --verbose - Show verbose output

Note: Brave Search API can be used by setting the BRAVE_API_KEY environment variable. DuckDuckGo is used by default (free, no API key required).

fresh alias

Manage library aliases for quick access.

# Add an alias
fresh alias add <name> <url>

# List all aliases
fresh alias list

# Search aliases
fresh alias search <query>

fresh sync

Download entire documentation for offline use.

fresh sync <URL> [OPTIONS]

Options:

  • -o, --output-dir PATH - Target directory for synced docs
  • -v, --verbose - Use verbose output
  • --max-pages INTEGER - Maximum number of pages to sync (default: 100)
  • -d, --depth INTEGER - Maximum crawl depth (default: 3)
  • -f, --force - Force re-sync (delete existing files first)
  • -p, --pattern TEXT - Filter paths matching pattern

fresh guide

Manage personal guides and documentation.

# Create a new guide
fresh guide create my-guide --content "Guide content here" --title "My Guide"

# List all guides
fresh guide list

# Show a specific guide
fresh guide show my-guide

# Search across guides
fresh guide search "keyword"

Configuration

Fresh stores its configuration in the following locations:

  • Aliases: ~/.fresh/aliases.json
  • Cache: ~/.fresh/cache/
  • Sync data: ~/.fresh/docs/
  • History: ~/.fresh/history.db

Development

# Install dev dependencies
uv sync --extra dev

# Run linter
ruff check .

# Run type checker
mypy src/

# Run tests
pytest

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Author

  • Nesalia Inc.

Security

If you discover any security vulnerabilities, please send an e-mail to support@nesalia.com.

License

MIT License - see the LICENSE file for details.

Download files

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

Source Distribution

fresh_docs-2.8.4.tar.gz (261.8 kB view details)

Uploaded Source

Built Distribution

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

fresh_docs-2.8.4-py3-none-any.whl (74.6 kB view details)

Uploaded Python 3

File details

Details for the file fresh_docs-2.8.4.tar.gz.

File metadata

  • Download URL: fresh_docs-2.8.4.tar.gz
  • Upload date:
  • Size: 261.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for fresh_docs-2.8.4.tar.gz
Algorithm Hash digest
SHA256 f3708e7a666ba2e249d4fd702bc2d2e2f5ca18f40b0bc11199d7550428c5443e
MD5 51eba2f950093a8ae1010fc841185e13
BLAKE2b-256 87e00a2eabc4013987f0a2f6ff3b175bba102330285ddefddb6bd31d086bd0ce

See more details on using hashes here.

File details

Details for the file fresh_docs-2.8.4-py3-none-any.whl.

File metadata

  • Download URL: fresh_docs-2.8.4-py3-none-any.whl
  • Upload date:
  • Size: 74.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for fresh_docs-2.8.4-py3-none-any.whl
Algorithm Hash digest
SHA256 da704a6fd138aa742b3638542f52e02c9643265b9447fca2718f315287c1a1f9
MD5 436b3f0b92191663c72326effca822a9
BLAKE2b-256 24580614e6fec4f097e4d87b415d65d7350e0fdf80dc887da9c4503a2f67b43a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.8.4 This release

2 files

2.7.2

2 files

2.6.0

2 files

2.5.0

2 files

2.3.1

2 files

2.3.0

2 files

2.2.0

2 files

2.1.2

2 files

2.1.1

2 files

2.1.0

2 files

2.0.0

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.9

2 files

0.1.8

2 files

Supported by

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