hmsclient
A package interact with the Hive metastore via the Thrift protocol
Decision gist · record as of 2026-08-14
Yes, if you need Hive metastore access from Python and are working with a compatible Hive version. The low install friction and permissive license make it straightforward to adopt. However, note that the package has not been updated since 2018—verify that the Thrift protocol implementation works with your target Hive metastore version before relying on it in production.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a running Hive metastore server accessible at the specified host and port; thrift compiler needed only if regenerating bindings via generate.py
- Low install friction with only 2 runtime dependencies (thrift and click).
- The package is actively maintained with recent commits, though the latest release was in 2018.
License · maintenance · safety
Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.
last release 2018-04-24 (3034 days) · last repo commit 2026-05-20 · 20 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 5,115,887 downloads/mo, #2,165 on PyPI
Alternatives
Verify before relying
pip install hmsclient
from hmsclient import hmsclient
client = hmsclient.HMSClient(host='localhost', port=9083)
with client as c:
c.check_for_named_partition('db', 'table', 'date=20180101')- Whether the Thrift protocol implementation remains compatible with current Hive metastore versions
- Python version support beyond 3.5 and 3.6 listed in classifiers
- Whether the package handles Hive metastore schema changes since 2018
What it is and what it does
HMSClient is a thin Python wrapper around Thrift-generated code for communicating with the Hive metastore. It provides a simple interface to query Hive metadata—such as checking for named partitions—by wrapping the low-level Thrift protocol details. The package depends on thrift for protocol handling and click for its code generation utility.
The client is designed for developers who need programmatic access to Hive metastore information from Python. It uses a context-manager pattern for connections and exposes methods like check_for_named_partition to interact with the metastore. The package also includes a code generation tool (generate.py) that can regenerate the Thrift bindings from updated .thrift schema files.
Use it for
- Check whether a specific partition exists in a Hive table before running ETL jobs
- Programmatically query Hive metadata from Python applications or data pipelines
- Regenerate Thrift client code when upgrading to a newer Hive metastore schema
- Integrate Hive metastore queries into data orchestration or validation workflows
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need Hive metastore access from Python and are working with a compatible Hive version.
The low install friction and permissive license make it straightforward to adopt. However, note that the package has not been updated since 2018—verify that the Thrift protocol implementation works with your target Hive metastore version before relying on it in production.
Install
hmsclient on PyPI
Before you install
Low install friction with only 2 runtime dependencies (thrift and click). The package is actively maintained with recent commits, though the latest release was in 2018.
Requires a running Hive metastore server accessible at the specified host and port; thrift compiler needed only if regenerating bindings via generate.py
License in practice
Licensed under Apache 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution and liability disclaimers.
Quickstart
pip install hmsclient
from hmsclient import hmsclient
client = hmsclient.HMSClient(host='localhost', port=9083)
with client as c:
c.check_for_named_partition('db', 'table', 'date=20180101')
Verify before relying
- Whether the Thrift protocol implementation remains compatible with current Hive metastore versions
- Python version support beyond 3.5 and 3.6 listed in classifiers
- Whether the package handles Hive metastore schema changes since 2018
Package facts
| License | Apache 2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesthriftclick |
| Maintenance | Actively maintained 3,034 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 5,115,887 / month, #2,165 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: Information TechnologyLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Topic :: Database |
Evidence: hmsclient-0.1.1-py3-none-any.whl
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 › “thrift hive connection”
- hmsclientA Python client for connecting to and querying the Hive metastore via…
- hive-metastore-clientA Python client for connecting to Apache Hive Metastore and executing…
- pure-transportProvides a Thrift transport for PyHive connections using Pure-SASL…
Give your agent the search over MCP, or paste the wish link into any chat.
More Database packages
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.
Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.
Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.
YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.
Install it if you need to connect Python applications to YDB databases.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.
Install it if you need to manipulate, format, or analyze SQL text programmatically.
Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.
See also hive-metastore-client · pymetastore · pure-transport · thrift · thriftpy2 · thrift-sasl · google-cloud-bigquery-biglake · PyHive · google-cloud-dataproc-metastore · apache-airflow-providers-apache-hive