PyHive
Python interface to Hive
Decision gist · record as of 2026-08-14
Yes, if you need to query Hive, Presto, or Trino from Python and are willing to manage the extra selection and engine-specific dependencies. The package is actively maintained, permissively licensed, and widely downloaded, but install friction is high and the project's own description marks it unsupported—clarify your engine's support status before committing. No known vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a running Hive, Presto, or Trino server accessible at the specified host and port; install with extras (pip install 'pyhive[presto]', 'pyhive[hive]', or 'pyhive[trino]').
- Installation requires choosing extras for your target engine (hive, presto, or trino); the hive extra uses sasl which does not support Python 3.11, though a pure-sasl alternative is available.
- The package is actively maintained but marked unsupported in its description.
License · maintenance · safety
Apache License, Version 2.0 (permissive) — Licensed under Apache License, Version 2.0 (permissive), allowing commercial and private use with minimal restrictions.
last release 2023-08-17 (1093 days) · last repo commit 2026-04-13 · 1,694 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 6,915,720 downloads/mo, #1,812 on PyPI
Alternatives
Verify before relying
# DB-API usage
from pyhive import presto
cursor = presto.connect('localhost').cursor()
cursor.execute('SELECT * FROM my_table LIMIT 10')
print(cursor.fetchall())
# Alternative engines
from pyhive import hive
from pyhive import trino- Current maintenance status unclear despite 'active' label and 'unsupported' notice in description—clarify project's actual support level.
- Python 3.11 compatibility with hive extra depends on sasl package status; pure-sasl alternative availability should be verified.
- Query generation functionality noted as not exhaustive in documentation; scope of supported SQL operations unclear.
What it is and what it does
PyHive is a Python client library that bridges your code to Hive, Presto, and Trino clusters via two interfaces: a standard DB-API (similar to psycopg2 or sqlite3) and a dialect for query builders. It lets you execute SQL queries against these big-data engines and fetch results, with optional asynchronous execution for long-running queries on Hive. The package has no runtime dependencies by default; you install extras for the specific engine you need (hive, presto, or trino), each bringing its own transport and protocol dependencies.
The library is minimal in scope—it handles connection, query execution, and result fetching without attempting to abstract away engine-specific features. It supports session configuration (query timeouts, resource limits), authentication (LDAP, basic auth over HTTPS), and both modern and legacy patterns. The project is maintained but explicitly marked unsupported in its description, and installation friction is high due to the need to select and install the correct extras for your target engine.
Use it for
- Execute ad-hoc SQL queries against a Hive cluster from a Python script or notebook.
- Build a data pipeline that reads from Presto or Trino and processes results in Python.
- Construct dynamic queries against Hive with LDAP authentication via the dialect interface.
- Poll asynchronous Hive queries for completion and fetch logs while waiting.
- Integrate Hive or Trino as a data source in a Python application via the DB-API.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to query Hive, Presto, or Trino from Python and are willing to manage the extra selection and engine-specific dependencies.
The package is actively maintained, permissively licensed, and widely downloaded, but install friction is high and the project's own description marks it unsupported—clarify your engine's support status before committing. No known vulnerabilities.
Install
pyhive on PyPI
Before you install
Installation requires choosing extras for your target engine (hive, presto, or trino); the hive extra uses sasl which does not support Python 3.11, though a pure-sasl alternative is available. The package is actively maintained but marked unsupported in its description.
Requires a running Hive, Presto, or Trino server accessible at the specified host and port; install with extras (pip install 'pyhive[presto]', 'pyhive[hive]', or 'pyhive[trino]').
License in practice
Licensed under Apache License, Version 2.0 (permissive), allowing commercial and private use with minimal restrictions.
Quickstart
# DB-API usage
from pyhive import presto
cursor = presto.connect('localhost').cursor()
cursor.execute('SELECT * FROM my_table LIMIT 10')
print(cursor.fetchall())
# Alternative engines
from pyhive import hive
from pyhive import trino
Verify before relying
- Current maintenance status unclear despite 'active' label and 'unsupported' notice in description—clarify project's actual support level.
- Python 3.11 compatibility with hive extra depends on sasl package status; pure-sasl alternative availability should be verified.
- Query generation functionality noted as not exhaustive in documentation; scope of supported SQL operations unclear.
Package facts
| License | Apache License, Version 2.0 permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | None |
| Maintenance | Actively maintained 1,093 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,915,720 / month, #1,812 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentTopic :: Database :: Front-Ends |
Evidence: PyHive-0.7.0.tar.gz
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “db-api hive connection”
- PyHivePyHive provides DB-API and SQLAlchemy interfaces to query Presto,…
- hive-metastore-clientA Python client for connecting to Apache Hive Metastore and executing…
- hmsclientA Python client for connecting to and querying the Hive metastore via…
Give your agent the search over MCP, or paste the wish link into any chat.
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object Relational Mapper (ORM) that provides both a high-level ORM layer for declarative object persistence and a Core SQL construction system for direct database abstraction and query building.
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Alembic generates and manages database schema migrations for SQLAlchemy applications, handling version control of database structure changes with support for upgrades, downgrades, and auto-generation from model changes.
Install it if you use SQLAlchemy and need to version-control schema changes; skip it only if you manage migrations manually or use a different ORM entirely.
A Python client library for connecting to and querying Weaviate, a vector database that enables semantic search and AI-powered data retrieval.
A Python client library that connects to Databricks clusters and SQL warehouses using a Thrift-based protocol, conforming to the Python DB API 2.0 specification and supporting Arrow-based data exchange.
Install it if you need to query Databricks clusters or SQL warehouses from Python.
Psycopg 3 is a PostgreSQL database adapter for Python that enables applications to connect to, query, and manage PostgreSQL databases using Python code.
Install it if you need to connect Python to PostgreSQL.
See also databricks-dbapi · qds-sdk · pyhiveapi · trino · pure-transport · impyla · pinotdb · sqlalchemy-trino · pydoris · pydoris-custom