Metadata-Version: 2.4
Name: hdfs-native
Version: 0.12.1
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: typing-extensions
Requires-Dist: fsspec
Requires-Dist: mypy~=1.15.0 ; extra == 'devel'
Requires-Dist: pytest~=8.3 ; extra == 'devel'
Requires-Dist: pytest-asyncio~=1.1 ; extra == 'devel'
Requires-Dist: pytest-benchmark~=5.1 ; extra == 'devel'
Requires-Dist: ruff~=0.11.6 ; extra == 'devel'
Requires-Dist: snowballstemmer<3 ; extra == 'docs'
Requires-Dist: sphinx~=8.1 ; extra == 'docs'
Requires-Dist: sphinx-automodapi~=0.18 ; extra == 'docs'
Requires-Dist: sphinx-rtd-theme~=3.0 ; extra == 'docs'
Provides-Extra: devel
Provides-Extra: docs
Summary: Python bindings for hdfs-native Rust library
Home-Page: https://github.com/Kimahriman/hdfs-native
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: repository, https://github.com/Kimahriman/hdfs-native
Project-URL: documentation, https://hdfs-native.readthedocs.io/

Native HDFS Python bindings based on hdfs-native Rust package.

## Installation

```bash
pip install hdfs-native
```

## Example

```python
from hdfs_native import Client
client = Client("hdfs://localhost:9000")

status = client.get_file_info("/file.txt")
```

## Kerberos support
Kerberos (SASL GSSAPI) is supported through a runtime dynamic link to `libgssapi_krb5`. This must be installed separately, but is likely already installed on your system. If not you can install it by:

#### Debian-based systems
```bash
apt-get install libgssapi-krb5-2
```

#### RHEL-based systems
```bash
yum install krb5-libs
```

#### MacOS
```bash
brew install krb5
```

## Running tests
The same requirements apply as the Rust tests, requiring Java, Maven, Hadoop, and Kerberos tools to be on your path. Then you can:

```bash
python3 -m venv .venv
source .venv/bin/activate
pip3 install maturin
maturin develop -E devel
pytest
```
