Skip to main content

Kentik API SDK

Project description

Kentik API Python library

This is a Python client library for Kentik APIs. It is distributed as kentik-api PyPI package.

Installation with pip

  1. Install the library using pip:
    pip3 install kentik-api
  2. Check installation successful - no errors should be reported: python3 -c "import kentik_api"
  3. Run an example (optional):
export KTAPI_AUTH_EMAIL=<your kentik api credentials email>
export KTAPI_AUTH_TOKEN=<your kentik api credentials token>
python3 examples/sites_example.py

Getting started

The best way to get started coding with the SDK is to study provided examples.

Interfaces for manipulating all Kentik API resources are available under the KentikAPI object.
Every Kentik API resource is represented by a public class, and all related data types are located in the same source file or directory as the implementation of the class:

Additional utilities available in the utils sub-module

Authentication support

  • get_credentials: function for retrieving authentication credentials from the environment or a profile stored on the disk. API authentication credentials can be provided via environment variables KTAPI_AUTH_EMAIL and KTAPI_AUTH_TOKEN or via named profile (specified as argument to the get_credentials functions, defaulting to default) which is a JSON file with following format:
{
  "email": "<email address>",
  "api-key": "<the API key>"
}

Path to the profile file can be provided in KTAPI_CFG_FILE. Otherwise, it is first searched in ${KTAPI_HOME}/<profile_name> and then in ${HOME}/.kentik/<profile_name>.

Support for caching of device data

The DeviceCache class allows caching of device related data obtained from the Kentik API. It internally builds index of devices by name and by id. Devices are represented by the Device class which internally builds dictionary of device interfaces (represented by the DeviceInterface class) by name.

Analytic support

The analytics package provides support for processing Kentik time series data using Pandas Dataframes. The pandas and PyYAML modules are required by the analytics sub-module and are automatically installed with the kentik-api[analytics] option. See analytics readme for more details.

Available Examples

Development

Instructions for developers

Open-source libraries

This software uses the following open-source libraries:

  • dacite by Konrad Hałas - MIT License
  • requests by Kenneth Reitz - Apache Software License (Apache 2.0)
  • typing-extensions by Guido van Rossum, Jukka Lehtosalo, Lukasz Langa, Michael Lee - PSFL License
  • pandas supported by NumFOCUS - BSD 3-Clause License
  • pyyaml by Ingy döt Net and Kirill Simonov - MIT license

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

kentik-api-1.0.7.tar.gz (105.1 kB view details)

Uploaded Source

Built Distribution

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

kentik_api-1.0.7-py3-none-any.whl (147.4 kB view details)

Uploaded Python 3

File details

Details for the file kentik-api-1.0.7.tar.gz.

File metadata

  • Download URL: kentik-api-1.0.7.tar.gz
  • Upload date:
  • Size: 105.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for kentik-api-1.0.7.tar.gz
Algorithm Hash digest
SHA256 376b9740ff7177ad0ac5077bcd5c8daa9d89b8ffb6f55e85421aa3335c69b617
MD5 cecc095652818ffedcd48cafd5c7d786
BLAKE2b-256 d152c851941a1e8cf761559835999c21fb5a4629bcd6ce2d297ca8ca9e87bd1a

See more details on using hashes here.

File details

Details for the file kentik_api-1.0.7-py3-none-any.whl.

File metadata

  • Download URL: kentik_api-1.0.7-py3-none-any.whl
  • Upload date:
  • Size: 147.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for kentik_api-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 eef2b89aa55e632609232234fa743ad3b972abc1b31e00885ebbe1e6194b897e
MD5 7a56b56eb51c3c897572ff770856f65a
BLAKE2b-256 7472027374efebbb2fd2b0d3881442abc011582a462031bd12c53e2ac82b4e71

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