Overview of the GDC Data Transfer Tool
The gdc-client provides several convenience functions over the GDC API which provides general download/upload via HTTPS.
There is a bash script inside the ./bin directory of this repository named package that does most of the heavy lifting for building a single executable file of the gdc-client through PyInstaller. It will attempt to guess your operating system, based on uname, and build accordingly.
Building on Windows requires the installation of git and the use of the git-shell that comes bundled with it. This will provide enough Unix-like utility needed to run the bash script in this repository.
# The script is currently location-dependant, so navigate to the bin directory.
cd bin
# Then just execute the package script. The result will be a zip file containing your executable.
./packageFirst install the Python package from source locally
virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
python setup.py install
pip install -r dev-requirements.txtRun tests
python -m pytest tests/
Run tests with coverage:
python -m pytest --cov=gdc_client --cov-branch --cov-report term tests/
This repository makes use of pre-commit for code formatting and secrets
detecting.
In order to make use of it, run the following command:
pip install -r dev-requirements.txt
pre-commit install
Note: This requires your dev environment to have Python 3.6 or higher.
We use detect-secrets to search for secrets being committed into the repo.
To update the .secrets.baseline file run
detect-secrets scan --update .secrets.baseline
.secrets.baseline contains all the string that were caught by detect-secrets but are not stored in plain text. Audit the baseline to view the secrets .
detect-secrets audit .secrets.baseline
Read how to contribute here