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.
./package
First 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.txt
Run 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