Skip to main content

Package to help connect to Verity's Data Hub API

Project description

This package simplifies the calls to Data Hub's API.

No magic. You need to follow the Data Hub Swagger Documentation for correct formatting of your requests

Be aware that this is a new package, certainly missing many features. Feel free to contribute.

You first need to create an instance of the ApiConnector class with following parameters:

ATTENTION: this package can only be used from Data Hub version 7.0 (July 1, 2025) onward, as it uses the authentication to the the new technology (Keycloak). For previous versions, the opinum-api-connector package must be used (https://github.com/opinum/opinum-api-connector) instead.

VERSION 1.2 Fixed operation_id on PUSH calls, and added operation_timeout_sec. Also added the possibility to request a count of items on some calls with the IncludeItemsCount optional parameter.

VERSION 1.1 Improved sturdiness. Added thread lock on token requests, and a default timeout of 10 seconds on all requests (incliding token)

environment

a dictionary of environment variables

if None, ApiConnector uses your environment variables (os.environ)

Mandatory environment variables are:

  • DATAHUB_USERNAME: the Data Hub user.
    TAKE CARE: if this user has access to multiple tenants and if you do not specify a tenant id, ApiConnector will use the last tenant used.
  • DATAHUB_PASSWORD: the password for the user
  • DATAHUB_CLIENT_ID: the client id for accessing the API
  • DATAHUB_CLIENT_SECRET the corresponding secret

Optional environment variables are:

  • DATAHUB_API_URL: another API URL than the Europe SaaS one (https://api.opinum.com)
  • DATAHUB_AUTH_URL: another authentication URL than the Europe SaaS one (https://auth.opinum.com)
  • DATAHUB_PUSH_URL: another push URL than the Europe SaaS one (https://push.opinum.com)
  • DATAHUB_SCOPE: the scope of you session (default: "datahub-api")
    if you want to push data, the scope should be "datahub-api push-data"

account_id

one of the tenant ids available for the Data Hub user (default: None)

retries_when_connection_failure

number of extra attempts when no 200 or 204 return code (default: 0, maximum: 5)

request_timeout

timeout value in seconds on all requests (including fetch token) (default: 10)

log_level

sets log level for the module (default: INFO)

Once you have your ApiConnector instance, you may use the class methods

  • get
  • post
  • patch
  • put
  • delete
  • send_file_to_storage

All keyword arguments will be converted to path parameters in the API call with one important exception, the data keyword referring to the body of your call.

There are two other class methods for data pushing because we have another API for this

  • push_data
  • push_dataframe_data

There is a little bit of magic with the method multi_thread_request_on_path that splits a list of parameters Allowing to make parallel calls.

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

datahub_api_connector-1.2.tar.gz (11.3 kB view details)

Uploaded Source

Built Distribution

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

datahub_api_connector-1.2-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file datahub_api_connector-1.2.tar.gz.

File metadata

  • Download URL: datahub_api_connector-1.2.tar.gz
  • Upload date:
  • Size: 11.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for datahub_api_connector-1.2.tar.gz
Algorithm Hash digest
SHA256 f1c8d9e69a5f285864d99cb379b70d046b59aeff8d7ddcabc8de525b3c0c1439
MD5 c56871fdba7005f35671be24ec4cde44
BLAKE2b-256 ee2e5a44b888c002823bcc45bcf038eae0c5960fdf0bc23b746ab6e658c8c26e

See more details on using hashes here.

File details

Details for the file datahub_api_connector-1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for datahub_api_connector-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fdd1d41f1a90be0c8634c204ddb3c88b24a4d27b64f612790c9191b8149965c7
MD5 fdc9b524c1ecc587d4955b46c4abc166
BLAKE2b-256 2d076561616a6e62c516b06c8db878de58e62de86889e4675fc9a46d2c7d8735

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