Skip to main content

Compute statistics and regression in one pass

Project description

RunStats is an Apache2 licensed Python module for online statistics and online regression. Statistics and regression summaries are computed in a single pass. Previous values are not recorded in summaries.

Long running systems often generate numbers summarizing performance. It could be the latency of a response or the time between requests. It’s often useful to use these numbers in summary statistics like the arithmetic mean, minimum, standard deviation, etc. When many values are generated, computing these summaries can be computationally intensive. It may even be infeasible to keep every recorded value. In such cases computing online statistics and online regression is necessary.

In other cases, you may only have one opportunity to observe all the recorded values. Python’s generators work exactly this way. Traditional methods for calculating the variance and other higher moments requires multiple passes over the data. With generators, this is not possible and so computing statistics in a single pass is necessary.

There are also scenarios where a user is not interested in a complete summary of the entire stream of data but rather wants to observe the current state of the system based on the recent past. In these cases exponential statistics are used. Instead of weighting all values uniformly in the statistics computation, an exponential decay weight is applied to older values. The decay rate is configurable and provides a mechanism for balancing recent values with past values.

The Python RunStats module was designed for these cases by providing classes for computing online summary statistics and online linear regression in a single pass. Summary objects work on sequences which may be larger than memory or disk space permit. They may also be efficiently combined together to create aggregate summaries.

Features

  • Pure-Python

  • Fully Documented

  • 100% Test Coverage

  • Numerically Stable

  • Optional Cython-optimized Extension (5-100 times faster)

  • Statistics summary computes mean, variance, standard deviation, skewness, kurtosis, minimum and maximum.

  • Regression summary computes slope, intercept and correlation.

  • Developed on Python 3.9

  • Tested on CPython 3.6, 3.7, 3.8, 3.9

  • Tested on Linux, Mac OS X, and Windows

  • Tested using GitHub Actions

https://github.com/grantjenks/python-runstats/workflows/integration/badge.svg

Quickstart

Installing RunStats is simple with pip:

$ pip install runstats

You can access documentation in the interpreter with Python’s built-in help function:

>>> import runstats
>>> help(runstats)                             # doctest: +SKIP
>>> help(runstats.Statistics)                  # doctest: +SKIP
>>> help(runstats.Regression)                  # doctest: +SKIP
>>> help(runstats.ExponentialStatistics)       # doctest: +SKIP

Tutorial

The Python RunStats module provides three types for computing running statistics: Statistics, ExponentialStatistics and Regression.The Regression object leverages Statistics internally for its calculations. Each can be initialized without arguments:

>>> from runstats import Statistics, Regression, ExponentialStatistics
>>> stats = Statistics()
>>> regr = Regression()
>>> exp_stats = ExponentialStatistics()

Statistics objects support four methods for modification. Use push to add values to the summary, clear to reset the summary, sum to combine Statistics summaries and multiply to weight summary Statistics by a scalar.

>>> for num in range(10):
...     stats.push(float(num))
>>> stats.mean()
4.5
>>> stats.maximum()
9.0
>>> stats += stats
>>> stats.mean()
4.5
>>> stats.variance()
8.68421052631579
>>> len(stats)
20
>>> stats *= 2
>>> len(stats)
40
>>> stats.clear()
>>> len(stats)
0
>>> stats.minimum()
nan

Use the Python built-in len for the number of pushed values. Unfortunately the Python min and max built-ins may not be used for the minimum and maximum as sequences are expected instead. Therefore, there are minimum and maximum methods provided for that purpose:

>>> import random
>>> random.seed(0)
>>> for __ in range(1000):
...     stats.push(random.random())
>>> len(stats)
1000
>>> min(stats)
Traceback (most recent call last):
    ...
TypeError: ...
>>> stats.minimum()
0.00024069652516689466
>>> stats.maximum()
0.9996851255769114

Statistics summaries provide five measures of a series: mean, variance, standard deviation, skewness and kurtosis:

>>> stats = Statistics([1, 2, 5, 12, 5, 2, 1])
>>> stats.mean()
4.0
>>> stats.variance()
15.33333333333333
>>> stats.stddev()
3.915780041490243
>>> stats.skewness()
1.33122127314735
>>> stats.kurtosis()
0.5496219281663506

All internal calculations use Python’s float type.

Like Statistics, the Regression type supports some methods for modification: push, clear and sum:

>>> regr.clear()
>>> len(regr)
0
>>> for num in range(10):
...     regr.push(num, num + 5)
>>> len(regr)
10
>>> regr.slope()
1.0
>>> more = Regression((num, num + 5) for num in range(10, 20))
>>> total = regr + more
>>> len(total)
20
>>> total.slope()
1.0
>>> total.intercept()
5.0
>>> total.correlation()
1.0

Regression summaries provide three measures of a series of pairs: slope, intercept and correlation. Note that, as a regression, the points need not exactly lie on a line:

>>> regr = Regression([(1.2, 1.9), (3, 5.1), (4.9, 8.1), (7, 11)])
>>> regr.slope()
1.5668320150154176
>>> regr.intercept()
0.21850113956294415
>>> regr.correlation()
0.9983810791694997

Both constructors accept an optional iterable that is consumed and pushed into the summary. Note that you may pass a generator as an iterable and the generator will be entirely consumed.

The ExponentialStatistics are constructed by providing a decay rate, initial mean, and initial variance. The decay rate has default 0.9 and must be between 0 and 1. The initial mean and variance default to zero.

>>> exp_stats = ExponentialStatistics()
>>> exp_stats.decay
0.9
>>> exp_stats.mean()
0.0
>>> exp_stats.variance()
0.0

The decay rate is the weight by which the current statistics are discounted by. Consequently, (1 - decay) is the weight of the new value. Like the Statistics class, there are four methods for modification: push, clear, sum and multiply.

>>> for num in range(10):
...     exp_stats.push(num)
>>> exp_stats.mean()
3.486784400999999
>>> exp_stats.variance()
11.593430921943071
>>> exp_stats.stddev()
3.4049127627507683

The decay of the exponential statistics can also be changed. The value must be between 0 and 1.

>>> exp_stats.decay
0.9
>>> exp_stats.decay = 0.5
>>> exp_stats.decay
0.5
>>> exp_stats.decay = 10
Traceback (most recent call last):
  ...
ValueError: decay must be between 0 and 1

The clear method allows to optionally set a new mean, new variance and new decay. If none are provided mean and variance reset to zero, while the decay is not changed.

>>> exp_stats.clear()
>>> exp_stats.decay
0.5
>>> exp_stats.mean()
0.0
>>> exp_stats.variance()
0.0

Combining ExponentialStatistics is done by adding them together. The mean and variance are simply added to create a new object. To weight each ExponentialStatistics, multiply them by a constant factor. If two ExponentialStatistics are added then the leftmost decay is used for the new object. The len method is not supported.

>>> alpha_stats = ExponentialStatistics(iterable=range(10))
>>> beta_stats = ExponentialStatistics(decay=0.1)
>>> for num in range(10):
...     beta_stats.push(num)
>>> exp_stats = beta_stats * 0.5 + alpha_stats * 0.5
>>> exp_stats.decay
0.1
>>> exp_stats.mean()
6.187836645

All internal calculations of the Statistics and Regression classes are based entirely on the C++ code by John Cook as posted in a couple of articles:

The ExponentialStatistics implementation is based on:

  • Finch, 2009, Incremental Calculation of Weighted Mean and Variance

The pure-Python version of RunStats is directly available if preferred.

>>> import runstats.core   # Pure-Python
>>> runstats.core.Statistics
<class 'runstats.core.Statistics'>

When importing from runstats the Cython-optimized version _core is preferred and the core version is used as fallback. Micro-benchmarking Statistics and Regression by calling push repeatedly shows the Cython-optimized extension as 20-40 times faster than the pure-Python extension.

Reference and Indices

License

Copyright 2013-2021 Grant Jenks

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

runstats-2.0.0.tar.gz (101.4 kB view details)

Uploaded Source

Built Distributions

runstats-2.0.0-cp39-cp39-win_amd64.whl (77.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

runstats-2.0.0-cp39-cp39-win32.whl (67.4 kB view details)

Uploaded CPython 3.9 Windows x86

runstats-2.0.0-cp39-cp39-manylinux2010_x86_64.whl (385.6 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

runstats-2.0.0-cp39-cp39-manylinux2010_i686.whl (365.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

runstats-2.0.0-cp39-cp39-manylinux1_x86_64.whl (385.6 kB view details)

Uploaded CPython 3.9

runstats-2.0.0-cp39-cp39-manylinux1_i686.whl (365.2 kB view details)

Uploaded CPython 3.9

runstats-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl (85.5 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

runstats-2.0.0-cp38-cp38-win_amd64.whl (77.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

runstats-2.0.0-cp38-cp38-win32.whl (67.7 kB view details)

Uploaded CPython 3.8 Windows x86

runstats-2.0.0-cp38-cp38-manylinux2010_x86_64.whl (413.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

runstats-2.0.0-cp38-cp38-manylinux2010_i686.whl (389.7 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

runstats-2.0.0-cp38-cp38-manylinux1_x86_64.whl (413.1 kB view details)

Uploaded CPython 3.8

runstats-2.0.0-cp38-cp38-manylinux1_i686.whl (389.7 kB view details)

Uploaded CPython 3.8

runstats-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl (86.3 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

runstats-2.0.0-cp37-cp37m-win_amd64.whl (74.8 kB view details)

Uploaded CPython 3.7m Windows x86-64

runstats-2.0.0-cp37-cp37m-win32.whl (65.9 kB view details)

Uploaded CPython 3.7m Windows x86

runstats-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl (350.5 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

runstats-2.0.0-cp37-cp37m-manylinux2010_i686.whl (328.3 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

runstats-2.0.0-cp37-cp37m-manylinux1_x86_64.whl (350.5 kB view details)

Uploaded CPython 3.7m

runstats-2.0.0-cp37-cp37m-manylinux1_i686.whl (328.3 kB view details)

Uploaded CPython 3.7m

runstats-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl (83.8 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

runstats-2.0.0-cp36-cp36m-win_amd64.whl (75.0 kB view details)

Uploaded CPython 3.6m Windows x86-64

runstats-2.0.0-cp36-cp36m-win32.whl (66.1 kB view details)

Uploaded CPython 3.6m Windows x86

runstats-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl (351.3 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

runstats-2.0.0-cp36-cp36m-manylinux2010_i686.whl (330.7 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

runstats-2.0.0-cp36-cp36m-manylinux1_x86_64.whl (351.3 kB view details)

Uploaded CPython 3.6m

runstats-2.0.0-cp36-cp36m-manylinux1_i686.whl (330.7 kB view details)

Uploaded CPython 3.6m

runstats-2.0.0-cp36-cp36m-macosx_10_9_x86_64.whl (87.0 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file runstats-2.0.0.tar.gz.

File metadata

  • Download URL: runstats-2.0.0.tar.gz
  • Upload date:
  • Size: 101.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0.tar.gz
Algorithm Hash digest
SHA256 0f9a5e6cc9938bbac3474b17727ffc29fbf5895f33e55ce8843341e0821e77c2
MD5 ab85b0d96a54625e75c684d6513f5de7
BLAKE2b-256 d800f0ce323f237e31a36bf65fa398d4210a579173e2aebda8f9c2ca60d04288

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 77.4 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bb60dbf78a6270e89aad50708075ca57c3d0e07d2d91ae6b07f53fa9a4e91d13
MD5 3a1b6fb6d74e01dd6f68368e89037907
BLAKE2b-256 588b468259c2097b002e9fc805ad4ac618150270430f3a64e600f9dca1fc6be6

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: runstats-2.0.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 67.4 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 8c412ade7596f1afd6be5b5d634a55c4affd3c4305d05fcfa6a0accdf60edc16
MD5 db550dee949336bf6a1a90ca8c396991
BLAKE2b-256 87294cefd34be64456d9d0aea3d761a052a760ccee4eb5579af0b38513ad1804

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 385.6 kB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 571dc4a6abc733da2b36e72b19b0b1743adab142882966e062ee7b5487a29d9a
MD5 4af4c688292913ca53364e7c3250ab73
BLAKE2b-256 2869465e5e711d2e79b80d0c5e6a8bd0e2065df03946645eb7b9aae50ffc52cb

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp39-cp39-manylinux2010_i686.whl.

File metadata

  • Download URL: runstats-2.0.0-cp39-cp39-manylinux2010_i686.whl
  • Upload date:
  • Size: 365.2 kB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp39-cp39-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 ed6e1f1839ed73bfc35ae8fae2d0e6deb826dcbc993f30a620dbb83eb2f07556
MD5 4d59f605c1e4f4e5ac3540c56ef1e7f3
BLAKE2b-256 63181832abe3b08827130bc260ccbe77a3dc759d09a0bbf39e6af949a3095ce9

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp39-cp39-manylinux1_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp39-cp39-manylinux1_x86_64.whl
  • Upload date:
  • Size: 385.6 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp39-cp39-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c133803edbb5d6f23cfb4ca05cea2e74d9ea35b1451a6b3de22987649fd0cf27
MD5 019817cd347bba56a82fd866f65dfad0
BLAKE2b-256 fdbe4642fd909dd0d25796128be86b8ff5f3bf9671aae47787b4f8f817a7c929

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp39-cp39-manylinux1_i686.whl.

File metadata

  • Download URL: runstats-2.0.0-cp39-cp39-manylinux1_i686.whl
  • Upload date:
  • Size: 365.2 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp39-cp39-manylinux1_i686.whl
Algorithm Hash digest
SHA256 8d47a09a5274f89e709853584527ef5eefbb7f10668c802eb17d82742533a7dc
MD5 8154bc4e9639a247970a83ed5523dbe5
BLAKE2b-256 ecc24223fcb43baf469afceedef2f0a144315316d6c0c17ab11d334f5ad6ff05

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 85.5 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c8b2dee3c02c32efab95b0b615a1ba24400e56db4d71591f8367120066d62ffa
MD5 2319402f49ba04f509be2b2a31b4c8ed
BLAKE2b-256 48ea8a125cf1e6f2cdfee273d354bbcf2e926936cc33c84d1df7d9899bf1d96e

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 77.3 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 deb75dd5966f6c0a944b4a4f65fbb8f6d67e1c479f6a6c666cdb7cfdec03a731
MD5 dfec8b6de52665226fb22762962a278f
BLAKE2b-256 be010410cbb31adc7945f1e246bf0c67c1e0514daf81e5605f6a27c076b457a1

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: runstats-2.0.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 67.7 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 c51efa5f1427445b0fdf404b133b407d7ebda2143c090ed60968b975903068c7
MD5 634b4a6842a15aaf96742c3f1ddc55c9
BLAKE2b-256 c139fbed9642b215b0931fd986714384c96b46653121b868932d1970ee440cc5

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 413.1 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5da7acb950243c3215c4569773d4dc30da746d49c73f14916d83b3bcfc75d7ad
MD5 3d14f49ee57f8701abc53157462760b9
BLAKE2b-256 a4b0155a3e0beb40717e265ef691cae91cced05deabbf082b6c05d5f6a105dfe

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: runstats-2.0.0-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 389.7 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 51c903801765b97b657ccbbba5941a5ad10491ee4e1c071cce4025f20af4b0e8
MD5 ae3266e2047c723f7b0c7f057412b24d
BLAKE2b-256 58061c7269c29548372d3ab0c98408219329e7e71a2726fb563ad2a22cc70fa8

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 413.1 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dc631f2f1640de2abbd6db48210e4804acc46e00104c6239435d240e67f94c2f
MD5 753dd20384d08c34d53d72f81f67bf5d
BLAKE2b-256 e4027895b5137f54004dd61ae22a18d490de89632271c766a084a8b59fd421c1

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: runstats-2.0.0-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 389.7 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7212a39a457c9858acdaf895f2e3a4f4cb5085c2f5d018498c8904ec83fcfcfb
MD5 95dae7c517c4dff25f271a985676b38e
BLAKE2b-256 beaeec2817f3e59520580bed5470bee82c803547322ac818d4c0f9b3f108ff90

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 86.3 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 3ca82450e7aaef6f0f0a6332e17bc8723f3beae8b430ce32df1fd7ea624b81a5
MD5 758f7d24fad131dc845c75b60f54e9cc
BLAKE2b-256 58d8f5fdbb149f5cdd3b867ac6b3a2e0662c4f727f2bed1996900ddba18cdad8

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 74.8 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 2b20f6aa911b812948ac3b886c0d78ea4c7acac5d615bffcf863d11711f91c52
MD5 e55add7367b2950437b31e4a9a460c5a
BLAKE2b-256 051772d04d2d2e0fe3bb0ff7c1d53b1024090c1da6fc70392f69a630add8bf26

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp37-cp37m-win32.whl.

File metadata

  • Download URL: runstats-2.0.0-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 65.9 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 e52da241b932d56e9f9f947d6e0ab3d71fefc31fe27b610c220e82fc44b4383f
MD5 c93c1f5a3ffb08e14ab991e9aa0a13eb
BLAKE2b-256 b496b65304cce316a6da48a5df0a5713704289390830cd4e564020672beffeb8

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 350.5 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 52985af2b92bb080f886e911f7bc593970aa10fd8febadcfae2e14f8b0ff9b36
MD5 5ad01f12f89352ca5b4bb058de8f7477
BLAKE2b-256 12ea48e90ff962bf4ed4068f1e4d68b7e06fa55ebbf5492585716ae1672f1ab9

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: runstats-2.0.0-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 328.3 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 328e1ea2be82a264e09091bd6f4513a47bed131b3ab0f654f8153d853f2978c3
MD5 303c948c0b9b169f0559cd59b519bb7a
BLAKE2b-256 09981c2a7cdcfc1c058b798148ac4cbb4e52b2e001f2ec1cad178dc97f4dfd7d

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 350.5 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7be16c6b781e27f0f931a2a3bc970b00c86790342b804a6a38041a88ef71ba63
MD5 3d5846c51d80476b1e47517bb7d067ab
BLAKE2b-256 1eab99c0de8314c70c7095252470151af91560f09160a9d52f451d7b89bc0ce0

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: runstats-2.0.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 328.3 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 aa71c332ab533e482f62bc7308e0474a87582986c0aecb1015f3a922b5c8283e
MD5 db48136b626285fcdcf87ee761693fc6
BLAKE2b-256 5934eb62c9a58e70714717bac65e272f5e0ab38c798718fcbe25d447875f17f8

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 83.8 kB
  • Tags: CPython 3.7m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 200297eed4d7f0192eb324d3c634672c9268e2e603f06b372968a849a30c2dfd
MD5 70700c74b13cb6b6190b7351f91474c3
BLAKE2b-256 eba93b597ec1ee094bb86dc3682cb220befa6818e06c10c17115d8a9bb927ee8

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 75.0 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 5fb4f07a3bd665335c9e4f00389585fe98203b3ff32a0e743a1ce728c22855de
MD5 addf054454dc0ebe3ceba24643f203b0
BLAKE2b-256 5896cb6eb894cc9ce3cdbf4ef10b7a719bc7ab6ec2a875b0ec2d6860d6774cc6

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp36-cp36m-win32.whl.

File metadata

  • Download URL: runstats-2.0.0-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 66.1 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 9741af3341f087686db4758e2266f26da36ad44bb49039dee43edc97930ac32e
MD5 43aa5e3b061e8ca07e410202c99c4d04
BLAKE2b-256 4c09e156dad5b385a36042d431d06d9836caec9fb65dd032ec2f57c0c925ce52

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 351.3 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9d645bebdf788ea82c2c921462cce8b5d4bda72192bde511b81816082aca9c25
MD5 22a0767089f5f96357e9553335daeca9
BLAKE2b-256 ec8fcf02f294c74abcbc7378d4a781c279dae5027c1e51b29cd6ba3c952b8bd1

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: runstats-2.0.0-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 330.7 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 748d43cc2712b319e4244c9af275f4d78513e388ff23d14eb36ae30c1e15f2ec
MD5 89c7f6b55a22fa8d9029a6e21b115c4f
BLAKE2b-256 6bf487ff1dc39fd1cd4fbe91599ea06acbd7463e4491d1e11945a12d8abf9ab2

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 351.3 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2ec49f15b276cce89ffddedebe95741136b0e309ed68108c1bf33f7295973143
MD5 b7667196f05935ad388feb7dfca3fb06
BLAKE2b-256 15c33b99c5cf8e09c20c494f0c02cb3a5d6fe384dfbf5f89dd3f5035dcc323d5

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: runstats-2.0.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 330.7 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 09cf60f075b6e03d39fbcdfd14835d9fca985e78315334e589af4840e45e04f5
MD5 e997e9d4e669019434393501505329d2
BLAKE2b-256 093fc6b044b417fc14b4c3bbfc96bd4a73eeb2ba94fa0f81b660dd52bacb8c78

See more details on using hashes here.

Provenance

File details

Details for the file runstats-2.0.0-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: runstats-2.0.0-cp36-cp36m-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 87.0 kB
  • Tags: CPython 3.6m, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for runstats-2.0.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 79efa663eb47eb480d75f12889590646f7f823169dda386c986be03310cfcc34
MD5 2420ecd1a4b401d84be58abe4c3ea509
BLAKE2b-256 d598a0874835943b0814c3b7aaaa60cd16ab737613421929bc701a41d2af5be1

See more details on using hashes here.

Provenance

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