Skip to main content

Universal Python connector for APIs - Query any data source with SQL

Project description

WaveQL

WaveQL Logo

The Universal SQL Connector for Modern APIs
Query ServiceNow, Salesforce, Jira, and more using standard SQL.


WaveQL unifies SaaS APIs (ServiceNow, Salesforce, Hubspot), Databases, and Files under a standard SQL interface. It translates your SQL into optimized API calls (pushing down predicates like WHERE and ORDER BY) and handles pagination/auth automatically.

🚀 Quick Start

pip install waveql
import waveql

# Connect to any source
conn = waveql.connect("servicenow://instance.service-now.com", username="admin", password="password")

# Run standard SQL (We handle the API translation)
cursor = conn.cursor()
cursor.execute("""
    SELECT number, short_description 
    FROM incident 
    WHERE priority = 1 
    ORDER BY number DESC 
    LIMIT 5
""")

print(cursor.to_df())  # Returns Pandas DataFrame

📚 Documentation

Topic Description
Adapters Supported sources (ServiceNow, Salesforce, etc.)
Architecture System diagram & components
Configuration Auth, Caching, and Paths
Transactions Saga Pattern & Atomic Writes
CDC Real-time Change Data Capture
Semantic Layer Virtual Views & dbt integration

Contributors: Read AGENTS.md.

✨ Key Features

  • Universal SQL: Join servicenow.incident with salesforce.account.
  • Smart Pushdown: WHERE converts to JQL/SOQL automatically.
  • Zero-Copy: Built on DuckDB + PyArrow.
  • Async Native: async/await throughout.
  • Production Ready: Retries, rate-limiting, and pooling.

License

MIT.

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

waveql-0.1.8.tar.gz (4.8 MB view details)

Uploaded Source

Built Distribution

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

waveql-0.1.8-py3-none-any.whl (297.3 kB view details)

Uploaded Python 3

File details

Details for the file waveql-0.1.8.tar.gz.

File metadata

  • Download URL: waveql-0.1.8.tar.gz
  • Upload date:
  • Size: 4.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for waveql-0.1.8.tar.gz
Algorithm Hash digest
SHA256 72d85feeeeb9fa0d7c207777ebc68d1d0f7399d0ca21aeff2ae12fd4c3e4d898
MD5 8838f6cda34dd9dd47991c86d4887b78
BLAKE2b-256 b331d7fc4acefd5d9e0fd27f070eefd574ecc512b8ff14d9c02a3c5d4def9b85

See more details on using hashes here.

File details

Details for the file waveql-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: waveql-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 297.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for waveql-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7ad55786fe685f5918074b8bff00bc7e0e2605550f5effda2f027de40209e89e
MD5 46218ab538f2932eb6de49a0cc56f478
BLAKE2b-256 ca870e0478316141986cd7e0c9bb64fcdb1bae7fdb626e083ea49d64623af4be

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