Utility for downloading large datasets from Synapse.
- Python3.7
- A Synapse account with a username/password. Authentication through a 3rd party (.e.g., Google) will not work, you must have a Synapse user/pass for the API to authenticate.
pip install synapse-downloader
Your Synapse credential can be provided on the command line (--username
, --password
) or via environment variables.
SYNAPSE_USERNAME=your-synapse-username
SYNAPSE_PASSWORD=your-synapse-password
usage: synapse-downloader [-h] [-u USERNAME] [-p PASSWORD] [-ll LOG_LEVEL]
[-ld LOG_DIR] [-dt DOWNLOAD_TIMEOUT] [-w] [-wc] [-c]
[-ci [COMPARE_IGNORE]]
entity-id download-path
positional arguments:
entity-id The ID of the Synapse entity to download or compare
(Project, Folder or File).
download-path The local path to save the files to or to compare.
optional arguments:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
Synapse username.
-p PASSWORD, --password PASSWORD
Synapse password.
-ll LOG_LEVEL, --log-level LOG_LEVEL
Set the logging level.
-ld LOG_DIR, --log-dir LOG_DIR
Set the directory where the log file will be written.
-dt DOWNLOAD_TIMEOUT, --download-timeout DOWNLOAD_TIMEOUT
Set the maximum time (in seconds) a file can download
before it is canceled.
-w, --with-view Use an entity view for loading file info. Fastest for
large projects.
-wc, --with-compare Run the comparison after downloading everything.
-c, --compare Compare a local directory against a remote project or
folder.
-ci [COMPARE_IGNORE], --compare-ignore [COMPARE_IGNORE]
Path to directories or files to ignore when comparing.
pipenv --three
pipenv shell
make pip_install
make build
make install_local
See Makefile for all commands.