Skip to main content

CLI to get the latest and freshest documentation from any website in Markdown format

Project description

fresh

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 .

Usage

# Show help
fresh --help

# 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/

# Manage aliases for quick access
fresh alias add python https://docs.python.org/3/
fresh alias list
fresh alias search python

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

# Check for updates
fresh update --check

# Show enhanced documentation for a command
fresh doc get
fresh doc list

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 alias

Manage library aliases for quick access.

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

# List all aliases
fresh alias list

# Remove an alias
fresh alias remove <name>

# 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 update

Check for and install updates to fresh.

fresh update [OPTIONS]

Options:

  • --check - Only check for updates without installing
  • -y, --yes - Automatically confirm updates

fresh doc

Show enhanced documentation for fresh commands.

fresh doc [COMMAND]

Configuration

Fresh stores its configuration in the following locations:

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

Development

# Install dev dependencies
uv sync --extra dev

# Run linter
ruff check .

# Run type checker
mypy src/

# Run tests
pytest

License

MIT

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

fresh_docs-2.1.1.tar.gz (92.2 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.1.1-py3-none-any.whl (49.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fresh_docs-2.1.1.tar.gz
  • Upload date:
  • Size: 92.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fresh_docs-2.1.1.tar.gz
Algorithm Hash digest
SHA256 34d8ba186c595586dfa496ad599e4bf6526fc90db834a4c6c40d2d3a4e932dc6
MD5 333df0c9e1bafacf56f8713eba55bcec
BLAKE2b-256 e470275f03fa9c9a8238c6b36981de643bb32511f2174a3c96d79f1633fac10b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fresh_docs-2.1.1-py3-none-any.whl
  • Upload date:
  • Size: 49.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fresh_docs-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 693fcb32fa55410ad1873f06fe40d864a2c905042b28b643ca027053427a4b2f
MD5 7492300a4ac626120d3284b3f4decb7a
BLAKE2b-256 8a7182b6ef53345d4f7c4b1ba46c80b9083f5f53eeb53a1551ee7b2370158d5d

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