Skip to main content

Small library for in-memory aggregation.

Project description

CI status: cistatus

This library is a thin python wrapper around counter and timer implementation in https://raw.github.com/armon/statsite

Installing

pystat can be installed via pypi:

pip install pystat

Building

Get the source:

git clone https://github.com/blackwithwhite666/pystat.git

Compile extension:

python setup.py build_ext --inplace

Usage

Counter example:

from pystat import Counter
counter = Counter()
counter.add()
assert 1 == int(counter)
counter.add()
assert 2 == int(counter)
counter.add(5)
assert 7 == int(counter)
assert 3 == len(counter)
assert 5.0 == counter.max
assert 1.0 == counter.min
assert 2.333.. == counter.mean
assert 2.309.. == counter.stddev

Timer example:

from pystat import Timer
timer = Timer()
timer.add(1.0)
assert 1 == int(timer)
timer.add(1.0)
assert 2 == int(timer)
timer.add(5)
assert 7 == int(timer)
assert (0.5, 0.95, 0.99) == timer.quantiles
assert 5.0 == timer.query(0.99)
assert 1.0 == timer.query(0.5)

Running the test suite

Use Tox to run the test suite:

tox

Changelog

0.2.4

  • Add support for load and dump;

  • Check for overflow in __len__;

0.2.3

  • Support for fluent interface;

0.2.2

  • PlainCounter implementation;

0.2.1

  • Counter can take some iterable to constructor;

0.2.0

  • Add serialization support for Counter;

  • Add union support for Counter;

0.1.0 (initial release)

  • Prototype.

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

pystat-0.2.4.tar.gz (80.9 kB view details)

Uploaded Source

File details

Details for the file pystat-0.2.4.tar.gz.

File metadata

  • Download URL: pystat-0.2.4.tar.gz
  • Upload date:
  • Size: 80.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pystat-0.2.4.tar.gz
Algorithm Hash digest
SHA256 5c8864bfa2daf28e84cf537b26e4a434ee2edda29209819e563f7ad0f6f9aec2
MD5 5237cab82366cab2b59133304b003b71
BLAKE2b-256 c6ca47ab9ddd69c208970c534c1c0c3f640d0f89df5f42ccfefb4685aa775294

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