Skip to main content

Python SDK for Firebolt

Project description

firebolt-sdk

Nightly code check Unit tests Code quality checks Firebolt Security Scan Integration tests Coverage

Installation

  • Requires Python >=3.7
  • pip install firebolt-sdk

Documentation

For reference and tutorials, see the Firebolt Python SDK reference.

Connection parameters

These parameters are used to connect to a Firebolt database:

  • Username/Password authentication
    • username - account username
    • password - account password
  • Service Account authentication
    • client_id - service account client id
    • client_secret - service account client secret
  • database - name of the database to make queries to
  • engine_url - url for an engine to make requests to. Can be retrieved from Web UI, or from engine attribute endpoint
    (Mutually exclusive with engine_name)
  • engine_name - name of an engine to make requests to. Can be retrieved from Web UI, or from engine attribute name
    (Mutually exclusive with engine_url)

Optional parameters

  • account_name - name of a Firebolt account to use. Default account is used if it's not provided
  • use_token_cache - whether to store obtained authentication tokens in cache file. Defaults to True
  • api_endpoint - api hostname for logging in. Defaults to api.app.firebolt.io.

Examples

See PEP-249 for the DB API reference and specifications. An example jupyter notebook is included to illustrate the use of the Firebolt API.

Special considerations

Cursor objects should not be shared between threads

Cursor is not thread-safe and should not be shared across threads. In a multi-threaded environment you can share a Connection, but each thread would need to keep its own Cursor. This corresponds to a thread safety 2 in the DBApi specification.

Optional features

Faster datetime with ciso8601

By default, firebolt-sdk uses datetime module to parse date and datetime values, which might be slow for a large amount of operations. In order to speed up datetime operations, it's possible to use ciso8601 package. In order to install firebolt-sdk with ciso8601 support, run pip install "firebolt-sdk[ciso8601]"

Contributing

See: CONTRIBUTING.MD

License

The Firebolt DB API is licensed under the Apache License Version 2.0 software 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

firebolt_sdk-0.18.0.tar.gz (55.6 kB view hashes)

Uploaded Source

Built Distribution

firebolt_sdk-0.18.0-py3-none-any.whl (75.7 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