snakebite-py3
Pure Python HDFS client
Decision gist · record as of 2026-08-14
Yes, if you need programmatic HDFS access from Python and are running Hadoop 2.2.0 or later (CDH5 or HDP2.0+). The package has low install friction, permissive licensing, and no known vulnerabilities. However, maintenance is aging (last release 542 days ago), so verify that it works with your specific Hadoop version before committing to production use.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a running Hadoop cluster; only supports Hadoop 2.2.0 and up (protocol version 9).
- Low install friction with only 2 runtime dependencies (protobuf and argparse).
- Maintenance status is aging—last release was 542 days ago—though the repository remains active with a recent commit on 2026-01-23.
License · maintenance · safety
Apache License 2.0 (permissive) — Licensed under Apache License 2.0 (permissive). You can use, modify, and distribute this package freely in commercial and private projects, with minimal restrictions.
last release 2025-02-18 (542 days) · last repo commit 2026-01-23 · 26 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,714,136 downloads/mo, #3,624 on PyPI
Alternatives
Verify before relying
pip install snakebite-py3
from snakebite.client import Client
client = Client('namenode_host', namenode_port)
for file_info in client.ls(['/path/to/file']):
print(file_info)- Whether CRC checking during transfer can be enabled without unacceptable performance impact for your use case.
- Compatibility with Hadoop versions beyond CDH5 and HDP2.0, as the description does not document tested versions.
- Current Python version support (requires_python is unspecified in the fact sheet).
- Specific port number and connection parameters for the Client API.
What it is and what it does
Snakebite-py3 is a pure Python HDFS client that communicates with Hadoop NameNodes and DataNodes using protobuf. It provides both a library API and a command-line tool for interacting with HDFS clusters. The package is a Python 3 fork maintained by Internet Archive, originally from Spotify, and is designed to work with modern Hadoop versions (2.2.0 and up). It supports most NameNode operations and can read data from DataNodes, with optional CRC checking during transfer (disabled by default for performance).
The library depends on protobuf for serialization and argparse for CLI argument handling. It has been tested primarily against Cloudera CDH5 and Hortonworks HDP2.0 clusters. The package is useful for Python-based applications that need direct programmatic access to HDFS without relying on shell commands.
Use it for
- Build Python data pipelines that read or write files directly to HDFS clusters without shelling out to commands.
- Automate HDFS file management tasks (listing, checking, reading) from Python scripts in a Hadoop environment.
- Integrate HDFS access into Python applications running on or near a Hadoop cluster for data processing workflows.
- Replace shell-based HDFS access in lightweight Python tools that need to communicate with NameNodes.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need programmatic HDFS access from Python and are running Hadoop 2.2.0 or later (CDH5 or HDP2.0+).
The package has low install friction, permissive licensing, and no known vulnerabilities. However, maintenance is aging (last release 542 days ago), so verify that it works with your specific Hadoop version before committing to production use.
Install
snakebite-py3 on PyPI
Before you install
Low install friction with only 2 runtime dependencies (protobuf and argparse). Maintenance status is aging—last release was 542 days ago—though the repository remains active with a recent commit on 2026-01-23. This is a maintained fork by Internet Archive for their CDH5 cluster needs.
Requires a running Hadoop cluster; only supports Hadoop 2.2.0 and up (protocol version 9).
License in practice
Licensed under Apache License 2.0 (permissive). You can use, modify, and distribute this package freely in commercial and private projects, with minimal restrictions.
Quickstart
pip install snakebite-py3
from snakebite.client import Client
client = Client('namenode_host', namenode_port)
for file_info in client.ls(['/path/to/file']):
print(file_info)
Verify before relying
- Whether CRC checking during transfer can be enabled without unacceptable performance impact for your use case.
- Compatibility with Hadoop versions beyond CDH5 and HDP2.0, as the description does not document tested versions.
- Current Python version support (requires_python is unspecified in the fact sheet).
- Specific port number and connection parameters for the Client API.
Package facts
| License | Apache License 2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesprotobufargparse |
| Maintenance | Aging 542 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,714,136 / month, #3,624 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Environment :: Other EnvironmentOperating System :: MacOSOperating System :: POSIX :: LinuxProgramming Language :: PythonTopic :: Software Development :: Libraries :: Application FrameworksTopic :: Utilities |
Evidence: snakebite_py3-3.0.6-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 › “hdfs client python”
- snakebite-py3Provides a pure Python HDFS client library and command-line interface…
- hdfsHdfsCLI provides Python bindings and a command-line interface for…
- apache-airflow-providers-apache-hdfsIntegrates Apache Hadoop Distributed File System (HDFS) and WebHDFS…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also hdfs · yarn-api-client · apache-airflow-providers-apache-hdfs · smart-open · livy · qds-sdk · google-cloud-dataproc · pydgraph · ClusterShell · aioesphomeapi