Skip to content
This repository has been archived by the owner on Jun 25, 2022. It is now read-only.

Latest commit

 

History

History
57 lines (34 loc) · 1.86 KB

README.rst

File metadata and controls

57 lines (34 loc) · 1.86 KB

ZHT - ZeroMQ Hash Table

ZHT is a distributed hash table (and protocol) implemented on top of the ZeroMQ messaging library.

Installation

With pip (you most likely want to do this in a virtualenv):

pip install https://github.com/mghlarsen/ZHT/tarball/v0.0.4

(You can replace v0.0.4 with any other tag) OR:

pip install -e git+git://github.com/mghlarsen/[email protected]#egg=ZHT

(You can change the part after the @ to be any tag/branch/revision).

WARNING: ZHT is in a really early state, and I can't guarantee that it won't blow up your computer, house, or municipality, much less that it will work properly.

All the packages you'll want for development can be installed by running:

pip install -r requirements.txt

As long as you have a new-enough libzeromq (for pyzmq) and libevent (for gevent) with devel packages, this should work fine.

Usage

You can start a ZHT node by running:

python -m zht.shell

This will try to take configuration options from .zhtrc in the current directory. Use -h to find out what kind of options are available, and note that .zhtrc should be ini-style and responds to settings in a [zht] section. If you want to get rid of the logging warning/want to see log output, put settings in a .zhtloggingrc file. This should be in a format compatible with logging.config.fileConfig(). All ZHT logging is in the zht domain, with subdomains defined for each module in ZHT.

You can also run the test suite by running:

python setup.py nosetests

Keep in mind that you'll need nose and probably coverage (you could skip that by messing with setup.cfg, but it's in requirements.txt) for this.

You can generate the HTML docs by running:

python setup.py build_sphinx

Note that you'll need Sphinx for this. requirements.txt includes it.