fusedzoo
A FUSE filesystem that mounts an Apache ZooKeeper tree as a local directory, backed by kazoo.
The dual znode model
ZooKeeper znodes are simultaneously containers (they have children) and data holders (they carry a byte payload). fusedzoo exposes both facets at once:
- Every znode
/a/b/cmaps to a directory at the mountpoint. - The znode's data payload is exposed through a virtual file named
.zk-datainside that directory.
/mnt/zk/
my/
favorite/ <- znode /my/favorite (ls to see children)
.zk-data <- read/write the node's raw byte payload
node/ <- child znode /my/favorite/node
.zk-data
| Filesystem operation | ZooKeeper operation |
|---|---|
ls /mnt/zk/a/b |
get_children(/a/b) |
cat /mnt/zk/a/b/.zk-data |
get(/a/b) |
echo foo > /mnt/zk/a/b/.zk-data |
set(/a/b, b"foo") |
mkdir /mnt/zk/a/b/c |
create(/a/b/c, b"") |
rmdir /mnt/zk/a/b/c |
delete(/a/b/c) (if childless) |
Node data is passed through as raw bytes with no encoding.
Installation
pip install fusedzoo # default: fusepy (libfuse2) backend
pip install fusedzoo[pyfuse3] # opt-in: pyfuse3 (libfuse3, async) backend
The host system needs libfuse installed (libfuse2 for the fusepy backend,
libfuse3 for pyfuse3) and a usable /dev/fuse device.
Usage
fusedzoo mount localhost:2181 /mnt/zk # mounts in the foreground
fusedzoo umount /mnt/zk
See fusedzoo mount --help for pool sizing, backend selection, read-only, and
experimental poll options.
# Create a znode
mkdir /mnt/zk/services
# Write its payload
echo '{"host": "db1"}' > /mnt/zk/services/.zk-data
# Read it back
cat /mnt/zk/services/.zk-data
# Inspect ZooKeeper metadata as extended attributes
getfattr -d /mnt/zk/services
# Remove a childless znode
rmdir /mnt/zk/services
Note:
dfwill not show fusedzoo in plaindf -hbecause ZooKeeper has no filesystem capacity concept and the mount reports0/0blocks. Usedf -h -aordf -h /mnt/zkto see it explicitly.
Development
hatch run release # ruff + mypy + pytest --cov + hatch build (full gate)
hatch run dry_release # same but non-blocking (continues on failure)
hatch run docs:build # build Sphinx docs
License
Apache 2.0
Metadata
Release files for fusedzoo 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fusedzoo-0.1.0.tar.gz | 40.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fusedzoo-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 66.8 kB
Release files / fusedzoo-0.1.0.tar.gz
| Download URL | fusedzoo-0.1.0.tar.gz |
|---|---|
| Size | 40.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b32b669ba22f99f83f25e733957c58797b861714a9f2f0fa5198eaa3b7abc11
|
|
BLAKE2b-256 checksum How to use checksums |
275da1fe8e5a2a5b8c39ee8a172f0e7b709c18448058f3316569b220ec981d1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 28, 2026.
Transparency logRelease files / fusedzoo-0.1.0-py3-none-any.whl
| Download URL | fusedzoo-0.1.0-py3-none-any.whl |
|---|---|
| Size | 26.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f0c0ca36f73c628728aeb74197a60845efececbfcec3ddd290c3f51bba31cb66
|
|
BLAKE2b-256 checksum How to use checksums |
4e64086ef1e0be8a5ac9f1601c5b52272f5d5273d04a1faac93c1c92cf3bf084
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 28, 2026.
Transparency log