Python SDK for the Seer data platform, which handles authenticating a user, downloading channel data, and uploading labels/annotations.
To install, simply clone or download this repository, then type pip install .
which will install all the dependencies.
For users attempting to download data for the Epilepsy Ecosystem, please download the latest release instead of cloning the repository or downloading the master branch. Then open the script ContestDataDownloader.py
in Examples
and it will guide you through the download process (you will need to change a few things in this script including the path to download the data to).
This library currently requires Python 3, and it if you don't currently have a Python 3 installation, we recommend you use the Anaconda distribution for its simplicity, support, stability and extensibility. It can be downloaded here: https://www.anaconda.com/download
The install instructions above will install all the required dependencies, however, if you wish to install them yourself, here's what you'll need:
gql
: a GraphQL python library is required to query the Seer platform. To install, simply run:pip install gql
- Pandas, numpy, and matplotlib are also required. Some of these installs can be tricky, so Anaconda is recommended, however, they can be installed separately. Please see these guides for more detailed information:
To run the Jupyter notebook example (optional, included in Anaconda): pip install notebook
Check out the Example for a step-by-step example of how to use the SDK to access data on the Seer platform.
To start a Jupyter notebook, run jupyter notebook
in a command/bash window. Further instructions on Jupyter can be found here: https://github.com/jupyter/notebook
There is a known issue with using python's multiprocessing module on Windows with spyder. The function getLinks
uses multiprocessing.Pool
to run multiple downloads simultaneously, which can cause the process to run indefinitely. The workaround for this is to ensure that the current working directory is set to the directory containing your script. Running the script from a command window will also solve this problem. Alternatively, setting threads=1
in the getLinks
function will stop in from using multiprocessing
altogether.