Skip to main content

Utility to upload a directory and files to Synapse.

Project description

Build Status Coverage Status

Synapse Uploader

Utility to upload a directory and files to Synapse.

Dependencies

  • Python3
  • 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.

Install

pip install synapse-uploader

Configuration

Your Synapse credentials can be provided on the command line (--username, --password) or via environment variables.

SYNAPSE_USERNAME=your-synapse-username
SYNAPSE_PASSWORD=your-synapse-password

Usage

usage: synapse-uploader [-h] [--version] [-r REMOTE_FOLDER_PATH] [-d DEPTH]
                        [-t THREADS] [-u USERNAME] [-p PASSWORD]
                        [-ll LOG_LEVEL] [-ld LOG_DIR] [-f] [-cd CACHE_DIR]
                        entity-id local-path

positional arguments:
  entity-id             Synapse entity ID to upload to (e.g., syn123456789).
  local-path            Path of the directory or file to upload.

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  -r REMOTE_FOLDER_PATH, --remote-folder-path REMOTE_FOLDER_PATH
                        Folder to upload to in Synapse.
  -d DEPTH, --depth DEPTH
                        The maximum number of child folders or files under a
                        Synapse Project/Folder.
  -t THREADS, --threads THREADS
                        The maximum number of threads to use.
  -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.
  -f, --force-upload    Force files to be re-uploaded. This will clear the
                        local Synapse cache and increment each file's version.
  -cd CACHE_DIR, --cache-dir CACHE_DIR
                        Set the directory where the Synapse cache will be
                        stored.

Examples

Upload all the folders and files in ~/my_study to your Project ID syn123456:

  • Linux: synapse-uploader syn123456 ~/my_study
  • Windows: synapse-uploader syn123456 %USERPROFILE%\my_study

Upload all the folders and files in ~/my_study to your Project ID syn123456 in the drafts/my_study folder:

  • Linux: synapse-uploader syn123456 ~/my_study -r drafts/my_study
  • Windows: synapse-uploader syn123456 %USERPROFILE%\my_study -r drafts\my_study

Note: The correct path separator (\ for Windows and / for Linux) must be used in both the local-folder-path and the remote-folder-path.

Development Setup

pipenv --three
pipenv shell
make pip_install
make build
make install_local

See Makefile for all commands.

Testing

  • Create and activate a virtual environment:
  • Copy private.test.env.json to the tests directory and set each of the variables.
  • Run the tests: make test

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-uploader-0.0.6.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

synapse_uploader-0.0.6-py2.py3-none-any.whl (13.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file synapse-uploader-0.0.6.tar.gz.

File metadata

  • Download URL: synapse-uploader-0.0.6.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for synapse-uploader-0.0.6.tar.gz
Algorithm Hash digest
SHA256 05f449e96cb6ae98404e466052593bc714c0babf4ba5714619a1848fd5b61530
MD5 b0f8b7176896ea374e682ede6bee734a
BLAKE2b-256 7b80cc854641b5df87c25a3bf097dbfa8d2d1b4dea7f1ceadac74d64bb4386e2

See more details on using hashes here.

File details

Details for the file synapse_uploader-0.0.6-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for synapse_uploader-0.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7719ee1f51dbef291febc8d0376eeef209b3883254f2d84fd9ce3134595a9358
MD5 ef2ef7bee492d4003aa32629609ddbd5
BLAKE2b-256 257d827ecfdc5266b5b40410ecbac11a397d3e4c56a218100af8181b59abf038

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