Skip to main content

Python implementation of fast approximation reservioir sampling.

Project description

# os-fast-reservoir
[![Build Status](https://www.travis-ci.org/cfhamlet/os-fast-reservoir.svg?branch=master)](https://www.travis-ci.org/cfhamlet/os-fast-reservoir)
[![codecov](https://codecov.io/gh/cfhamlet/os-fast-reservoir/branch/master/graph/badge.svg)](https://codecov.io/gh/cfhamlet/os-fast-reservoir)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/os-fast-reservoir.svg)](https://pypi.python.org/pypi/os-fast-reservoir)
[![PyPI](https://img.shields.io/pypi/v/os-fast-reservoir.svg)](https://pypi.python.org/pypi/os-fast-reservoir)

Python implementation of fast approximation reservioir sampling.

# Install
`$ pip install os-fast-reservoir`

# Usage
* API
```
from os_fast_reservoir import ReservoirSampling

rs = ReservoirSampling(100)

for i in range(1000):
rs.sample(i)

for i in rs:
print i
```
* Command line
```
$ os-fast-reservoir -h
usage: os-fast-reservoir [-h] [-f INPUT_FILE] -n NUM

Reservoir sample tool.

optional arguments:
-h, --help show this help message and exit
-f INPUT_FILE, --file INPUT_FILE
file to be sampled (default: stdin)
-n NUM, --num NUM sample number
```

# Algorithm
* [Reservoir sampling](https://en.wikipedia.org/wiki/Reservoir_sampling)
* [Faster Random Samples With Gap Sampling](http://erikerlandson.github.io/blog/2014/09/11/faster-random-samples-with-gap-sampling/)
* [Very Fast Reservoir Sampling](http://erikerlandson.github.io/blog/2015/11/20/very-fast-reservoir-sampling/)
* Implementation: [alexprengere/reservoir](https://github.com/alexprengere/reservoir)

# Unit Tests
`$ tox`

# License
MIT licensed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

os-fast-reservoir-0.2.2.tar.gz (4.6 kB view details)

Uploaded Source

File details

Details for the file os-fast-reservoir-0.2.2.tar.gz.

File metadata

File hashes

Hashes for os-fast-reservoir-0.2.2.tar.gz
Algorithm Hash digest
SHA256 5835996f585051bc9b7ee6ce78ae0afe145a5ac33ffd1257910043a8290b3a71
MD5 1df81b79428e6a2883151db1917cf01e
BLAKE2b-256 07e44c8ed865846f0f152a809da6b547592f412e93c98e84dfddfa1ccb5f2d9d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page