Metadata-Version: 2.1
Name: gcapi
Version: 0.3.5
Summary: Python client for the grand-challenge.org API
Home-page: https://github.com/DIAGNijmegen/rse-gcapi
Author: James Meakin
Author-email: code@jmsmkn.com
License: Apache Software License 2.0
Description: ==========================
        Grand Challenge API Client
        ==========================
        
        
        .. image:: https://img.shields.io/pypi/v/gcapi.svg
           :target: https://pypi.python.org/pypi/gcapi
        
        .. image:: https://github.com/DIAGNijmegen/rse-gcapi/workflows/CI/badge.svg
           :target: https://github.com/DIAGNijmegen/rse-gcapi/actions?query=workflow%3ACI+branch%3Amaster
           :alt: Build Status
        
        .. image:: https://codecov.io/gh/DIAGNijmegen/rse-gcapi/branch/master/graph/badge.svg
           :target: https://codecov.io/gh/DIAGNijmegen/rse-gcapi
           :alt: 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.
        
        .. code:: python
        
            from gcapi import Client
            
            c = Client(token="Your Personal API Token")
        
        Then, prepare the list of files for each image you want to upload.
        
        .. code:: python
        
            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.
        
        .. code:: python
        
            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
        
        .. code:: python
        
            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.
        
        .. _Cookiecutter: https://github.com/audreyr/cookiecutter
        .. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage
        
        
        =======
        History
        =======
        
        0.3.5 (2021-03-01)
        ------------------
        
        * Allow same domain calls
        * Normalize API tokens
        
        0.3.4 (2021-02-03)
        ------------------
        
        * Fix number answer type support for readerstudy validation
        
        0.3.3 (2021-02-02)
        ------------------
        
        * Adds support for multiple polygon image answers
        
        0.3.2 (2021-02-01)
        ------------------
        
        * Adds support for Number answers
        
        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.
        
Keywords: gcapi
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Provides-Extra: test
