pinotdb
Python DB-API and SQLAlchemy dialect for Pinot.
Install
pinotdb on PyPI
pip
pip install pinotdbuv
uv add pinotdbpoetry
poetry add pinotdbPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — ciso8601, h11, httpx, urllib3 |
| Maintenance | actively maintained — 80 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: pinotdb-9.1.2-py3-none-any.whl
About pinotdb
from the package's own PyPI description — quoted content, verbatim
Python DB-API and SQLAlchemy dialect for Pinot
This module allows accessing Pinot via its SQL API.
Current supported Pinot version: 1.1.0.
Usage
Using the DB API to query Pinot Broker directly:
from pinotdb import connect
# this assumes 8000 is the broker port
conn = connect(host='localhost', port=8000, path='/query/sql', scheme='http')
curs = conn.cursor()
curs.execute("""
SELECT place,
CAST(REGEXP_EXTRACT(place, '(.*),', 1) AS FLOAT) AS lat,
CAST(REGEXP_EXTRACT(place, ',(.*)', 1) AS FLOAT) AS lon
FROM places
LIMIT 10
""")
for row in curs:
print(row)
For HTTPS:
from pinotdb import connect
# this assumes that 443 is the broker secure https port
conn = connect(host='localhost', port=443, path='/query/sql', scheme='https')
curs = conn.cursor()
curs.execute("""
SELECT place,
CAST(REGEXP_EXTRACT(place, '(.*),', 1) AS FLOAT) AS lat,
CAST(REGEXP_EXTRACT(place, ',(.*)', 1) AS FLOAT) AS lon
FROM places
LIMIT 10
""")
for row in curs:
print(row)
Pinot also supports basic auth,...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
A Python DB-API and SQLAlchemy dialect for querying Apache Pinot via its SQL API, supporting both synchronous and asynchronous connections with optional authentication and multi-stage engine configuration.
Low install friction with four lightweight runtime dependencies (ciso8601, h11, httpx, urllib3). Package is actively maintained with a recent release 80 days ago and an active repository.
MIT license permits unrestricted use, modification, and distribution in both open-source and commercial contexts with minimal obligations.
Usage
from pinotdb import connect
conn = connect(host='localhost', port=8000, path='/query/sql', scheme='http')
curs = conn.cursor()
curs.execute('SELECT * FROM places LIMIT 10')
for row in curs:
print(row)
Requires a running Pinot Broker instance accessible at the specified host and port; Python 3.10 or later.
Verdict: A well-maintained, permissively licensed connector for Pinot with low install friction and no known vulnerabilities. Suitable for production use in environments with active Pinot deployments, supporting both traditional and async SQLAlchemy patterns.
Needs verification
- Whether the package's four runtime dependencies themselves have any known vulnerabilities or maintenance concerns.
- Performance characteristics and query timeout behavior under high-load or network-latency scenarios.
- Compatibility guarantees with Pinot versions beyond the stated 1.1.0 support.
Similar packages
permissive · top 1,000 on PyPI
databricks-sqlalchemypermissive · top 1,000 on PyPI
snowflake-sqlalchemypermissive · top 1,000 on PyPI
sqlalchemy-bigquerypermissive · top 1,000 on PyPI
pymssqlcopyleft · top 1,000 on PyPI
pg8000permissive · top 1,000 on PyPI
clickhouse-connectpermissive · top 1,000 on PyPI
opentelemetry-instrumentation-sqlalchemypermissive · top 1,000 on PyPI
databricks-sql-connectorpermissive · top 1,000 on PyPI
shapelypermissive · top 1,000 on PyPI