Skip to main content

No project description provided

Project description

Research Portal Client

Library to interact with Minder Research APIs.

Example

pip install minder.research-portal-client
import logging
import asyncio
import datetime
import platform
from minder.research_portal_client import Configuration, JobManager
from minder.research_portal_client.models import (
    ExportJobRequest,
    ExportJobRequestDataset,
)


logging.basicConfig(level=logging.INFO)

Configuration.set_default(
    Configuration(
        access_token="---REDACTED---",
    )
)


async def example1():
    async with JobManager() as job_manager:
        now = datetime.datetime.today()
        since = now - datetime.timedelta(days=7)
        datasets: dict(str, ExportJobRequestDataset) = {
            "patients": ExportJobRequestDataset(),
            "observation_notes": ExportJobRequestDataset(),
        }

        export_job = ExportJobRequest(since, datasets=datasets)
        job_id = await job_manager.submit(export_job)
        job = await job_manager.wait(job_id)
        files = await job_manager.download(job)
        print(files)


async def example2():
    job_id = "c25249e0-82ff-43d1-9676-f3cead0228b9"
    async with JobManager() as job_manager:
        files = await job_manager.download(job_id)
        print(files)


async def example3():
    async with JobManager() as job_manager:
        datasets = await job_manager.client.info.list_datasets()
        print(datasets)

        organizations = await job_manager.client.info.list_organizations()
        print(organizations)

        reports = await job_manager.client.reports.list_reports()
        print(reports)


async def main():
    await example1()
    await example2()
    await example3()


if platform.system() == "Windows":
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

asyncio.run(main())

Development

Useful commands

Setup

poetry install

Run tests

poetry run pytest

Code Coverage

This command consists of 2 parts:

  • running tests with coverage collection
  • formatting the report: report (text to stdout), xml (GitLab compatible: cobertura), html (visual)
poetry run coverage run -m pytest && poetry run coverage report -m

Linting

poetry run flake8

Formatting

poetry run black .

Type Checking

poetry run mypy .

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

minder.research_portal_client-0.1.3.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file minder.research_portal_client-0.1.3.tar.gz.

File metadata

File hashes

Hashes for minder.research_portal_client-0.1.3.tar.gz
Algorithm Hash digest
SHA256 808929ba37f59bc09d37b98e898af836b04ba6a1b1f6a08837e8631ccbb5d7f7
MD5 be2e4d186299d520608ca8145df1e545
BLAKE2b-256 0d6dfbdfb3b63bb37eab9970ba7235515d89701542075bd9422bfc161230ec7f

See more details on using hashes here.

File details

Details for the file minder.research_portal_client-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for minder.research_portal_client-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e806544097eca225ef2390decc05188718bd13c0fc916b0a3013d8cde618190e
MD5 7f0f5c98b25a5ad179fcf037eb9bd1d0
BLAKE2b-256 968ac3f8b7f13316273683fc18746a7a7ab436b10a5cf7db7a4e1c3c5152b19d

See more details on using hashes here.

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