Probabilistic data structures in python
Project description
pyprobables is a python library for probabilistic data structures. The goal is to provide the developer with a pure-python implementation of common probabilistic data-structures to use in their work.
Installation
Pip Installation: coming
$ pip install pyprobables
To install from source:
To install pyprobables, simply clone the repository on GitHub, then run from the folder:
$ python setup.py install
pyprobables supports python versions 2.7 and 3.3 - 3.6
Documentation
Documentation is currently under development. The documentation of the latest release will be hosted on readthedocs.io
Once completed, you can build the documentation yourself by running:
$ pip install sphinx $ cd docs/ $ make html
Automated Tests
To run automated tests, one must simply run the following command from the downloaded folder:
$ python setup.py test
Quickstart
Import pyprobables and setup a Bloom Filter:
>>> from probables import (BloomFilter)
>>> blm = BloomFilter(est_elements=1000, false_positive_rate=0.05)
>>> blm.add('google.com')
>>> blm.check('facebook.com') # should return False
>>> blm.check('google.com') # should return True
Import pyprobables and setup a Count-Min Sketch:
>>> from probables import (CountMinSketch)
>>> cms = CountMinSketch(width=1000, depth=5)
>>> cms.add('google.com') # should return 1
>>> cms.add('facebook.com', 25) # insert 25 at once; should return 25
See the documentation for other data structures available and for more examples!
Changelog
Please see the changelog for a list of all changes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for pyprobables-0.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f093709e0dc55fd318569d0160daaffbd19e28d3bdb284ed6c1b02fa7f38125 |
|
MD5 | 5bc7cdf1aef4eed8ce4f64f884d7bb4d |
|
BLAKE2b-256 | d9da6faa323de778f890128b70a9055eb05dd8dd5f51325047eba09d5f456aff |