Skip to main content

Python client for the grand-challenge.org API

Project description

Grand Challenge API Client

https://img.shields.io/pypi/v/gcapi.svg Build Status Code Coverage Status

Python client for the grand-challenge.org API

  • Free software: Apache Software License 2.0

Features

This client library is a handy way to interact with the REST API for grand-challenge.org from python, and provides some convenience methods.

Uploading Files to Archives, Algorithms or Reader Studies

You will need to get an API token, and find the slug of the object you want to upload to.

First, you will need to authorise the client using your personal API token.

from gcapi import Client

c = Client(token="Your Personal API Token")

Then, prepare the list of files for each image you want to upload.

from pathlib import Path

files = [f.resolve() for f in Path("/path/to/files").iterdir()]

Now, you can upload these files to an Archive, Algorithm or Reader Study which are identified by a slug. For instance, if you would like to upload to the algorithm at https://grand-challenge.org/algorithms/corads-ai/ you would use algorithm="corads-ai". Note that this is case sensitive.

Now you can start the upload.

session = c.upload_cases(files=files, algorithm="corads-ai")

You can change algorithm for archive or reader_study there.

You will get a session that starts the conversion of the files, and then adds the standardised images to the selected object once it has succeeded. You can refresh the session object with

session = c(url=session["api_url"])

and check the session status with session["status"].

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.3.1 (2021-02-01)

  • Adds support for Image answers

  • Allows setting content rather than filename in upload_files

0.3.0 (2020-12-02)

  • Breaking Changes in upload_cases:
    • Renamed kwarg files_to_upload to files

    • algorithm kwarg now takes a slug rather than a title

    • Removed run_external_algorithm, use upload_cases instead

  • Add Multiple 2D bounding box question types to reader studies

0.2.9 (2020-09-29)

  • Add support for ETDRS grid annotation endpoints

0.2.8 (2020-06-05)

  • Skip validation of PATCH requests

0.2.7 (2020-05-16)

  • Fixed reader study detail lookups

0.2.6 (2020-05-15)

  • Note: this release has been yanked from pypi

  • Added support for retina polygon annotation sets and retina single polygon annotations

  • If authentication token is unset, the GRAND_CHALLENGE_AUTHORIZATION will be used as a fallback

0.2.5 (2020-04-24)

  • Allow null answers

0.2.4 (2020-04-03)

  • Added GET request params

0.2.3 (2020-03-26)

  • Added ground truth endpoint for reader studies

0.2.2 (2020-03-24)

  • Added support for uploading to archives and reader studies

0.2.1 (2020-03-23)

  • Added Polygon and Choice question types to reader studies

0.2.0 (2020-02-09)

  • Dropped Python 2.7 and 3.5

  • Added support for Python 3.7 and 3.8

0.1.0 (2019-05-07)

  • First release on PyPI.

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

gcapi-0.3.1.tar.gz (132.2 kB view hashes)

Uploaded Source

Built Distribution

gcapi-0.3.1-py3-none-any.whl (17.5 kB view hashes)

Uploaded Python 3

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