Registry / data / qds-sdk

qds-sdk

JSON →
library1.17.0pypypi✓ verified 84d ago

The Qubole Data Service (QDS) Python SDK provides a programmatic interface for interacting with the Qubole Data Service API, allowing users to manage clusters, submit commands (e.g., Hive, Spark, Presto), and access query results. The library is actively maintained, with version 1.17.0 being the latest, and typically sees several releases per year to add features and ensure compatibility.

pip install qds-sdk==1.17.0
INSTALL
IMPORT
SIG · QDS-SDK
Q
qds-sdk
datapythonv1.17.0
Install
4.2s avg
Import
—
Disk
53MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v1.17.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.940 runs
installs and imports cleanly · install 0.0s · import 0.000s · 54MB
glibc
py 3.10–3.940 runs
installs and imports cleanly · install 4.2s · import 0.000s · 55MB
53MB installed
● package 53MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

qds_sdk
✓ import qds_sdk
✗ import qds_sdk

This quickstart demonstrates how to configure the Qubole SDK with API credentials and submit a simple Hive command. It requires setting `QDS_API_TOKEN` and `QDS_API_URL` as environment variables, and optionally `QDS_CLUSTER_ID` for targeting a specific cluster. The example submits a query, waits for its completion, and then fetches the results.

import os from qds_sdk.commands import HiveCommand from qds_sdk import qds # Configure Qubole API token and endpoint qds.set_api_token(os.environ.get('QDS_API_TOKEN', '')) qds.set_api_url(os.environ.get('QDS_API_URL', 'https://api.qubole.com/api/v1.2')) # Define and execute a Hive command hive_command = HiveCommand.create( query='SELECT 1 + 1 AS result;', cluster_id=os.environ.get('QDS_CLUSTER_ID', None) # Use an existing cluster ID or name ) print(f"Submitted Hive Command ID: {hive_command.id}") # Wait for command completion (optional, for synchronous execution) status = HiveCommand.wait_for_completion(hive_command.id) print(f"Command {hive_command.id} finished with status: {status}") # Fetch results if status == 'done': result = HiveCommand.get_results(hive_command.id) print("Query Result:") print(result)
Debug
Known issues
breakingSupport for Python 2.6 was dropped. Users on older Python 2.x versions might encounter compatibility issues or errors.
fix
Upgrade to Python 2.7+ or preferably Python 3.6+ for continued support and security updates. For Python 2.x users, explicitly install `qds-sdk<1.13.1` if upgrading Python is not an option.
affects: <=1.13.1
breakingThe default S3 Signature Version for API requests changed to V4. This might affect interactions with older S3 buckets or specific S3 endpoints that only support V2 signatures.
fix
Ensure your AWS S3 buckets and configurations support Signature Version V4. If encountering S3 authentication issues, check your Qubole cluster S3 settings and potentially AWS IAM policies.
affects: >=1.12.0
gotchaVersions prior to 1.17.0 might have compatibility issues or syntax warnings when running on Python 3.12 due to deprecated constructs and third-party library changes.
fix
Upgrade to `qds-sdk==1.17.0` or newer when using Python 3.12 to ensure full compatibility and avoid unexpected behavior.
affects: <1.17.0
gotchaAPI commands and resources frequently receive new parameters (e.g., `--upload-to-source` for JupyterNotebookCommand). While usually additions, incorrect usage or assumptions about default behavior can lead to errors.
fix
Always refer to the latest QDS SDK documentation or `help()` for specific command/resource creation methods to understand required and optional parameters. Be mindful of new parameters that might become mandatory or change default behavior in future releases.
affects: All versions
Upgrade
Version history
1.17.0latest on PyPI · released Mar 6, 2025
Audit
Dependencies
python-dateutilrequiredDate and time utilities for API interactions.
inflectionrequiredUsed for string inflections (e.g., singular/plural forms in API object names).
requestsrequiredHTTP client for making API requests to Qubole.
sixrequiredPython 2 and 3 compatibility utilities, though Python 2.x support is largely dropped in recent versions.
Agent activity
34 hits · last 30 days
node
32
Amazon
1
Resources
qds-sdk — pip install qds-sdk · libregistry