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 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 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.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b9a9a12c0bf9d0ec307cf366e75b7cb54c7d2fe205526c866f62780879e2f15 |
|
MD5 | 9157ff648026d22b7d4b54bcbab591a3 |
|
BLAKE2b-256 | f9f04ce415633be078a34af4c5a41412aabf4cc69312f176d2d69309c92d76e7 |