happybase
A developer-friendly Python library to interact with Apache HBase
What it is and what it does
HappyBase is a Python wrapper around the HBase Thrift API that abstracts away low-level connection and serialization details. It lets you interact with Apache HBase—a distributed, column-oriented NoSQL database—using familiar Python idioms: opening connections, accessing tables, reading and writing rows, and scanning data ranges without wrestling with Thrift protocol mechanics directly.
The library is built on thriftpy2 for Thrift communication and six for Python 2/3 compatibility. It is classified as Production/Stable and has been maintained since 2012, making it a mature choice for Python applications that need HBase access. The project is actively developed with a recent release in September 2025.
Use it for:
- Build a Python application that reads and writes time-series data stored in HBase tables for analytics or monitoring.
- Migrate data between HBase and other systems using Python scripts that scan and transform rows.
- Prototype or test HBase table schemas and data operations before deploying to production systems.
- Integrate HBase as a backend store for a Python web application or data pipeline.
- Perform batch operations on HBase data, such as bulk inserts or conditional updates, from Python.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
HappyBase is a Python library that provides a developer-friendly interface to Apache HBase, enabling you to read, write, and manage data in HBase tables through straightforward Python code.
Yes, if you need to work with Apache HBase from Python. The library is mature, actively maintained, has low install friction, and carries no known security vulnerabilities. The main constraint is that HBase itself must be deployed and running separately—this is not a pure-Python solution. MIT licensing poses no restrictions for any project type.
Install
happybase on PyPI
pip
pip install happybaseuv
uv add happybasepoetry
poetry add happybaseInstalling happybase
Before you install
Low friction installation with a pure-Python wheel and only three runtime dependencies (six, thriftpy2, importlib-resources). The project is actively maintained with a recent release in September 2025 and ongoing commits.
License in practice
MIT license is permissive, allowing unrestricted use, modification, and distribution in both open-source and commercial projects with minimal obligations beyond retaining the license notice.
Quickstart
pip install happybase
import happybase
connection = happybase.Connection('localhost')
table = connection.table('my_table')
row = table.row(b'row_key')
Requires a running Apache HBase instance accessible at the specified host and port; HBase itself is a Java application and must be deployed separately.
Verify before relying
- Whether thriftpy2 dependency introduces any compatibility issues with modern Python versions or HBase server versions.
- Current state of HBase protocol support relative to recent HBase releases.
- Actual Python version support, as requires_python is unspecified in the fact sheet.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — six, thriftpy2, importlib-resources |
| Maintenance | actively maintained — 322 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,875/month — #14,778 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: happybase-1.3.0-py2.py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
couchbasePython client library for connecting to and…
permissive · top 5,000 on PyPI
CouchDBA Python client library for interacting with…
permissive · top 15,000 on PyPI
borneoPython SDK for connecting to Oracle NoSQL…
unclear · top 15,000 on PyPI
plyvelPlyvel is a Python interface to LevelDB, a fast…
permissive · top 5,000 on PyPI
tinydbTinyDB is a lightweight, pure-Python document…
permissive · top 5,000 on PyPI
PyMySQLPyMySQL is a pure-Python MySQL and MariaDB…
permissive · top 1,000 on PyPI
google-cloud-datastorePython client library for Google Cloud…
permissive · top 5,000 on PyPI
aerospikePython client library for connecting to and…
permissive · top 15,000 on PyPI
hive-metastore-clientA Python client for connecting to Apache Hive…
unclear · top 15,000 on PyPI
google-cloud-firestorePython client library for Google Cloud…
permissive · top 1,000 on PyPI