Skip to main content

Coronado - triple API Python wrapper and reference implementation

Project description

% coronado(5) Version 1.3.10 | triple API Python wrapper

NAME

coronado - Native language wrapper for the triple API. The triple API enables partners to integrate with the triple platform. The full API documentation is available from https://api.tripleup.dev/docs

Python API reference implementation:

JVM API:

  • PENDING

Typescript/JavaScript API:

triple API Info

Service URL: https://api.partners.dev.tripleupdev.com

Service build: 1.7.8.post2+17e2674d

SYNOPSIS

| coronado - Auth, TripleObjects, and business objects manipulation API | triplchk - CLI for reporting if the triple service is available and healthy | triplwhoami - CLI tool for reporting client ID, content provider info for the current API user and scope

triplechk takes no arguments. The triple configuration file must exist in the system-dependent configuration directory.

triplewhoami takes a scope argument, where scope is one of:

| CONTENT_PROVIDERS | PORTFOLIOS | PUBLISHERS | VIEW_OFFERS | NONE

Executables install to /usr/local/bin unless coronado is installed in a virtual environment, in which case they are installed to $VIRTUALENV/bin.

DESCRIPTION

Reference implementation wrapper for the triple API. All wrappers are implemented under the umbrella project Coronado, can can be viewed on-line at:

Use of this API requires credentials issued by tripleup.com and access to an S3 bucket provided by them. Contact tripleup.com to assist you in setting up access.

Installation

The coronado package is available in PyPI, Maven Central, NPM, CRAN, and other indices and repositories. Use the corresponding best-practice mechanism to install.

Python

pip install coronado

This makes the triple API modules available in the current Python environment. You may verify this with the command:

pip list | awk 'NR < 3 { print; next; } /coronado/'

JVM - Kotlin, Java, Scala

<dependency>
  <groupId>io.github.coronado-fi</groupId>
  <artifactId>coronado-jvm</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <type>pom</type>
</dependency>

mvn build

Typescript/Javascript

npm install coronado

Authentication

This component requires OAuth2 credentials available from triple - please contact a triple representative to get this information. Credentials cover:

  • clientID
  • clientName
  • secret
  • serviceURL - different URLs for sandbox, staging, production
  • tokenURL - the OAuth2 service provider

Authentication tokens and service information are stored in the coronado.auth.Auth objects. API users need only create an instance of Auth and use it across all services in the corresponding scope. The Auth object guarantees that a valid, current token is always available, regardless of the OAuth2 expiration policy set. If the token expires, Auth objects will request a new token without user or programmer intervention.

General use:

auth = Auth( tokenURL,
             clientID = 'somevalue',
             clientSecret = '53cr3+',
             scope = Scopes.PUBLISHERS)

API wrappers usage

This example leverages the Publisher object and service, but the concepts shown here apply to all the Coronado API business objects. A better, more detailed explanation is available via https://github.com/coronado-fi/coronado/quick-start-guide.ipynb or by running the same notebook in Lucyfer or Jupyter.

# Once per run-time, per Coronado class:
Publisher.initialize(serviceURL, auth)

pubsList = Publisher.list()

pubObject = Publisher.byID(42)

assert pubsList[3].assumedName == pubObject.assumedName

print(pubObject.address)

All Coronado TripleObject classes and subclasses can be imported into pandas or Kotlin DataFrame objects straight from the API, without further modifications:

import pandas as pd

panel = pd.DataFrame([ publisher.__dict__ for publisher in pubsList ])

panel.index = panel.objID
del(panel['objID'])

API reference

Under construction

The API references for all supporte languages are available from:

https://coronado.fi/docs

BUGS

See GitHub issues: https://github.com/coronado-fi/coronado/issues

FILES

Coronado provides a simple configuration service via API that resolves a JSON configuration file from system-specific, well-known file system locations. All paths are assumed to be under a service user in $HOME.

  • Linux (XDG): `$HOME/.config/coronado/config.json
  • macOS: `$HOME/Application Support/coronado/config.json
  • Windows: TBD

All implementations use the paths resolved by the Python AppDirs object for user configuration.

AUTHOR

numo LLC and triple LLC, <coronado.project AT numo.com>

SEE ALSO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

coronado-1.3.10-py3-none-any.whl (54.2 kB view details)

Uploaded Python 3

File details

Details for the file coronado-1.3.10-py3-none-any.whl.

File metadata

  • Download URL: coronado-1.3.10-py3-none-any.whl
  • Upload date:
  • Size: 54.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for coronado-1.3.10-py3-none-any.whl
Algorithm Hash digest
SHA256 2249272c1c62cd70fdf89167bbe8aa4b9beea0729a100fad0a59123358daf824
MD5 baad020825bd054f573c8c7afa8b06bf
BLAKE2b-256 723d055d04a43652aa0ebaa63d1840b38603d832ac4d9f7fa6ee32600b9ab48e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page