Skip to main content

A Python client for Peaka

Project description

Peaka Python client

Client for Peaka, a Zero-ETL data integration platform. Provides a low-level client and a DBAPI 2.0 implementation and a SQLAlchemy adapter. It supports Python>=3.8 and PyPy.

Usage

The Python Database API (DBAPI)

Installation

$ pip install peaka

Quick Start

Use the DBAPI interface to query Peaka:

You can call the connect_to_peaka method with your Peaka api_key. catalog, schema and timezone are the optional parameters.

from peaka.client import connect_to_peaka

conn = connect_to_peaka(api_key="<YOUR_API_KEY>", catalog="<CATALOG_NAME>", schema="<SCHEMA_NAME>", timezone="<TIMEZONE>")
    
cur = conn.cursor()
cur.execute("SELECT * FROM <table_name>")
rows = cur.fetchall()

You can query your table directly, if you enter the catalog and schema when you connect.

SQLAlchemy

Installation

$ pip install peaka[sqlalchemy]

Usage

To connect to Peaka using SQLAlchemy, use a connection string (URL) following this pattern:

peaka://dbc.peaka.studio:4567/<catalog>/<schema>?http_scheme=https&extra_credential=[["peakaKey",<YOUR_API_KEY>]]&access_token=true

NOTE: schema is optional

Examples:

from sqlalchemy import create_engine
from sqlalchemy.schema import Table, MetaData
from sqlalchemy.sql.expression import select, text

engine = create_engine('peaka://dbc.peaka.studio:4567/<CATALOG_NAME>/<SCHEMA_NAME>?http_scheme=https&extra_credential=[["peakaKey",<YOUR_API_KEY>]]&access_token=true')
connection = engine.connect()

rows = connection.execute(text("SELECT * FROM <TABLE_NAME>")).fetchall()

# or using SQLAlchemy schema
nodes = Table(
    '<TABLE_NAME>',
    MetaData(schema='<SCHEMA_NAME>'),
    peaka_autoload=True,
    autoload_with=engine
)
rows = connection.execute(select(nodes)).fetchall()

In order to pass additional connection attributes use connect_args method. Attributes can also be passed in the connection string.

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

peaka-1.0.0.tar.gz (8.7 kB view hashes)

Uploaded Source

Built Distribution

peaka-1.0.0-py3-none-any.whl (8.2 kB view hashes)

Uploaded Python 3

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