Skip to main content

Parallel download manager for HTTP/HTTPS/FTP/SFTP protocols.

Project description

Pymatris 📂

Pyversions

Parallel file downloader for HTTP/HTTPS, FTP and SFTP protocols.

How to Use

Make sure you have python>=3.9 installed Install pymatris from pip

pip install pymatris

In your terminal, run the following command to download files in parallel.

# Insert single url as argument
pymatris https://storage.data.gov.my/pricecatcher/pricecatcher_2022-01.parquet 

# Or multiple urls 
pymatris https://storage.data.gov.my/pricecatcher/pricecatcher_2022-01.parquet https://storage.data.gov.my/pricecatcher/pricecatcher_2022-02.parquet https://storage.data.gov.my/pricecatcher/pricecatcher_2022-03.parquet
  $ pymatris --help
  usage: pymatris [-h] [--max-parallel MAX_PARALLEL] [--max-splits MAX_SPLITS]
                [--overwrite] [--quiet]
                [--dir DIR] [--print-filenames] [--show-errors SHOW_ERRORS]
                URLS [URLS ...]

Arguments and Options

To provide path to save files, use --dir option. By default files will be saved in current directory.
pymatris --dir "./" <urls>
To overwrite existing files, use --overwrite option. By default, files will not be overwritten.
pymatris --overwrite <urls>

Assuming your have "pricecatcher_2022-01.parquet" file in your current directory, running above command will overwrite the existing file. During download, Pymatris creates tempfile to download files, if download is interrupted, rest assured that your existing files are safe, and tempfiles will be deleted.

To configure number of parallel downloads, use --max-parallel option. By default, 5 parallel downloads are allowed.
pymatris --max-splits 10 <urls>

Pymatris uses asyncio to download files in parallel. By default, 5 files are downloaded in parallel. You can increase or decrease the number of parallel downloads using --max-parallel option.

To configure number of parallel download parts per file, use --max-splits option. By default, 5 parts are downloaded in parallel for each file.
pymatris --max-splits 10 <urls>

This is only available for HTTP/HTTPS and SFTP protocols. Currently, FTP protocol does not support multipart downloads.

To hide progress bar, use --quiet option. By default, progress bar is shown.
pymatris --quiet <urls>

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

pymatris-0.0.4.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

pymatris-0.0.4-py3-none-any.whl (18.2 kB view details)

Uploaded Python 3

File details

Details for the file pymatris-0.0.4.tar.gz.

File metadata

  • Download URL: pymatris-0.0.4.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.12 Darwin/23.2.0

File hashes

Hashes for pymatris-0.0.4.tar.gz
Algorithm Hash digest
SHA256 0d932112615912773a0d6c3d933e207b8011886f40620501cc85b899995df249
MD5 a8a545a6c9afc31185e581089348d9c1
BLAKE2b-256 5c3ed8489b27433ffa96dc31b7386a43d88739bc46424f7904d3079c927969d2

See more details on using hashes here.

File details

Details for the file pymatris-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: pymatris-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 18.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.12 Darwin/23.2.0

File hashes

Hashes for pymatris-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0ed44ef56084176291760e2bc27460a18f8dac6852304f199348dbb596ae4d38
MD5 b6d9b23e2fee9a125c6dbf6c2b7d6bd0
BLAKE2b-256 420262a6aea6ed42052641cbb92918b55347c47177036f1ef36e36166922a52e

See more details on using hashes here.

Supported by

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