Utility for downloading large datasets from Synapse.
Project description
Synapse Downloader
Utility for downloading large datasets from Synapse.
Dependencies
- Python3.10+
- A Synapse account with an auth token.
Install
pip install synapse-downloader
Configuration
Environment Variables
No configuration is necessary if using environment variables or the default synapse config file.
For user/pass, set:
SYNAPSE_USERNAME=
SYNAPSE_PASSWORD=
For auth token, set:
SYNAPSE_AUTH_TOKEN=
For Synapse Config file:
Have a valid config file in: ~/.synapseConfig
Or, have the environment variable set: SYNAPSE_CONFIG_FILE=
Command Line Arguments
options:
-u USERNAME, --username USERNAME
Synapse username.
-p PASSWORD, --password PASSWORD
Synapse password.
--auth-token AUTH_TOKEN
Synapse auth token.
--synapse-config SYNAPSE_CONFIG
Path to Synapse configuration file.
Usage
usage: synapse-downloader [-h] [--version] {download,compare,sync-from-synapse} ...
Synapse Downloader
options:
-h, --help show this help message and exit
--version show program's version number and exit
Commands:
{download,compare,sync-from-synapse}
download Download items from Synapse to a local directory. Default command.
compare Compare items in Synapse to a local directory.
sync-from-synapse Download items from Synapse to a local directory using the syncFromSynapse method.
Download
usage: synapse-downloader download [-h] [-u USERNAME] [-p PASSWORD] [--auth-token AUTH_TOKEN]
[--synapse-config SYNAPSE_CONFIG] [-ll LOG_LEVEL] [-ld LOG_DIR] [-e [EXCLUDE]] [-wc]
entity-id local-path
positional arguments:
entity-id The ID of the Synapse entity to download (Project, Folder or File).
local-path The local path to save the files to.
options:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
Synapse username.
-p PASSWORD, --password PASSWORD
Synapse password.
--auth-token AUTH_TOKEN
Synapse auth token.
--synapse-config SYNAPSE_CONFIG
Path to Synapse configuration file.
-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.
-e [EXCLUDE], --exclude [EXCLUDE]
Items to exclude from download. Synapse IDs, names, or filenames (names are case-sensitive).
-wc, --with-compare Run compare after downloading everything.
Compare
usage: synapse-downloader compare [-h] [-u USERNAME] [-p PASSWORD] [--auth-token AUTH_TOKEN] [--synapse-config SYNAPSE_CONFIG]
[-ll LOG_LEVEL] [-ld LOG_DIR] [-e [EXCLUDE]]
entity-id local-path
positional arguments:
entity-id The ID of the Synapse entity to compare (Project, Folder or File).
local-path The local path to compare.
options:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
Synapse username.
-p PASSWORD, --password PASSWORD
Synapse password.
--auth-token AUTH_TOKEN
Synapse auth token.
--synapse-config SYNAPSE_CONFIG
Path to Synapse configuration file.
-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.
-e [EXCLUDE], --exclude [EXCLUDE]
Items to exclude from compare. Synapse IDs, names, or filenames (names are case-sensitive).
Sync From Synapse
usage: synapse-downloader sync-from-synapse [-h] [-u USERNAME] [-p PASSWORD] [--auth-token AUTH_TOKEN]
[--synapse-config SYNAPSE_CONFIG] [-ll LOG_LEVEL] [-ld LOG_DIR]
entity-id local-path
positional arguments:
entity-id The ID of the Synapse entity to download (Project, Folder or File).
local-path The local path to save the files to.
options:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
Synapse username.
-p PASSWORD, --password PASSWORD
Synapse password.
--auth-token AUTH_TOKEN
Synapse auth token.
--synapse-config SYNAPSE_CONFIG
Path to Synapse configuration file.
-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.
Development Setup
pipenv --python 3.10
pipenv shell
make pip_install
make build
make install_local
See Makefile for all commands.
Run tests:
- Rename
.env.template
to.env
and set the variables in the file. - Run
make test
ortox
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
synapse-downloader-0.2.0.tar.gz
(17.0 kB
view details)
Built Distribution
File details
Details for the file synapse-downloader-0.2.0.tar.gz
.
File metadata
- Download URL: synapse-downloader-0.2.0.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 437b79058ffdf46c0f6c451a4082a3a589c051ed256ea4365c7d33bde7aea8e1 |
|
MD5 | ca36867e99c8732ca3c653543e181364 |
|
BLAKE2b-256 | 8d5409fd08b0eeac57f353c3b5dd184d2d75ba0dd3e314740725e9df17b7b473 |
File details
Details for the file synapse_downloader-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: synapse_downloader-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f07b4ec9068637a1f5372460df52b2dbb4300fee9edffd0b05d9d5293e8897c |
|
MD5 | ccbe1266d922bfd82692921545403f86 |
|
BLAKE2b-256 | c246f17305de386783451fad6d21d8756b924cc34ad43a87c82aa47c1949c0f7 |