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:
$ 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
API Documentation
The documentation of is hosted on readthedocs.io
You can build the documentation locally 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 API documentation for other data structures available and the quickstart page 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.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ac758b278ee8f0d95e01c66694038e45189d25d3df3f42be65c648a552aee62 |
|
MD5 | d87802fb3e8086f26578a9ce07947813 |
|
BLAKE2b-256 | b0e0e587bbd637ead7fd76d0dc7515f7d64085ad15ba1861e0ffa5287adce889 |