Skip to main content

A simple Python utility to download files or entire folders recursively from Filebrowser shares.

Project description

Filebrowser Downloader

A simple Python utility to download files or folders from a Filebrowser public share URL.

Supports:

✅ Password-protected shares
✅ Recursive folder downloads (preserves structure)
✅ Progress display for file downloads
✅ Skipping already downloaded files (with size check)
✅ Partial file cleanup on error
✅ Configurable verbosity and error handling

Although primarily intended as a downloader, this utility also supports file uploads using username and password auth.


Installation

Download from PyPI:

pip install filebrowser-downloader

Minimal Usage

from filebrowser_downloader import download

# Download a single file into the current working directory:
download("https://yourhost/share/abc123")

# Download a folder (recursively) into path/to/folder
download(
    base_url="https://yourhost/share/def456", 
    password="secret", 
    destination_folder="path/to/folder"
)

Parameters:

  • base_url: The public share URL (https://host/share/<share_id>).
  • password: Password if the share is protected. If None and required, the user is prompted interactively.
  • destination_folder: Where to save files/folders. Defaults to cwd if it's a file, otherwise a folder is downloaded into a new subdirectory named after the share_id
  • abort_if_exists: Skip files that already exist and match size. If a file exists but size mismatches, it is re-downloaded. (Default = True)
  • verbose: Show progress, warnings, and status messages. (Default = True)
  • raise_on_error: If True, raises exceptions instead of failing silently/logging. (Default = False)
  • Returns: Path to the downloaded file or folder.

Upload Usage

from filebrowser_downloader import upload

upload(
    base_url="https://yourhost",
    local_file="path/to/file.bin",
    remote_folder="my/remote/folder",
    remote_filename="renamed-on-server.bin",  # omit/None to keep local filename
    username="your_username",
    password="your_password",  # omit to prompt interactively
    override=True,
)

Notes:

  • remote_folder is appended to /api/tus/<remote_folder>/<filename>.
  • remote_filename overrides the remote file name; if None, local_file's filename is used.
  • override controls whether remote file is overwritten or kept.

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

filebrowser_downloader-0.2.2.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

filebrowser_downloader-0.2.2-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file filebrowser_downloader-0.2.2.tar.gz.

File metadata

  • Download URL: filebrowser_downloader-0.2.2.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for filebrowser_downloader-0.2.2.tar.gz
Algorithm Hash digest
SHA256 dcfdba97b22b6b13e670a9552e5f9e74de1656e79bbafc66da30561f183830d6
MD5 b2dfbbf1b1b6aed9c7172a07a6da9e0b
BLAKE2b-256 afed73c5913c89375d1f5e34b7f78deb25060ae93fce5df0028044b8b694ba74

See more details on using hashes here.

File details

Details for the file filebrowser_downloader-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for filebrowser_downloader-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a6bb849729b239ea0c8b56d9d4710be156e6ce388005325bdc965bb1a2a29c96
MD5 2e3d2aa84f0cbc3616428f6400bb29ef
BLAKE2b-256 9887395af06e2e587ec4e0b4dfd77f10ef0460fb9d49100c09fcefbba664020d

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