Skip to main content

🥾 Boots 👢 - A Tiny Bootstrapping Library

This is a tiny library for doing bootstrap sampling and estimating. It pulls together various tricks to make the process as fast and painless as possible. The tricks included are:

Install

pip install boots

For development:

pip install git+https://github.com/pmbaumgartner/boots

Example

from boots import bootstrap
import numpy as np

x = np.random.pareto(2, 100)

samples = bootstrap(
    data=x,
    statistic=np.median,
    n_iterations=1000,
    seed=1234,
    n_jobs=-1
)

# bayesian two-level w/ 4 parallel jobs
samples = bootstrap(
    data=x,
    statistic=np.median, 
    n_iterations=1000, 
    seed=1234, 
    n_jobs=4, 
    bayesian=True
)

# do something with it
import pandas as pd
posterior = pd.Series(samples)
posterior.describe(percentiles=[0.025, 0.5, 0.975])

Paired Statistics

from boots import bootstrap
import numpy as np


# generate some fake correlated data by sorting two arrays and adding some noise
a = np.sort(np.random.normal(0, 1, 100)) + np.random.normal(0, 1, 100)
b = np.sort(np.random.normal(0, 1, 100)) + np.random.normal(0, 1, 100)
pairs = list(zip(a, b))

# for paired (or row-wise) metrics you might need to
# create a wrapper function that unpacks
# each row's values into array arguments for your metric function
def corr_unwrap(pairs):
    a1, a2 = zip(*pairs)
    corr = np.corrcoef(a1, a2)[0, 1]
    return corr


samples = bootstrap(
    data=pairs,
    statistic=corr_unwrap,
    n_iterations=1000,
    seed=1234,
    n_jobs=-1,
    bayesian=True
)

import pandas as pd
posterior = pd.Series(samples)
posterior.describe(percentiles=[0.025, 0.5, 0.975])

Metadata

Release files for boots 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for boots 0.1.2
File Size Uploaded Provenance
boots-0.1.2.tar.gz 3.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for boots 0.1.2
File Interpreter ABI Platform
boots-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 6.3 kB

Release files / boots-0.1.2.tar.gz

Download URL boots-0.1.2.tar.gz
Size 3.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d69fd38f91296a689ece8f6a4452191b69dfe713775a8ef11848d0bd6ed5f576
BLAKE2b-256 checksum
How to use checksums
1c182a708fed7be51773a188c8608186973ccffe127100c6097e2c28ffe167e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.8.13 Darwin/21.5.0

Release files / boots-0.1.2-py3-none-any.whl

Download URL boots-0.1.2-py3-none-any.whl
Size 3.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4885817505c3d814fa2d484e0e1f28ed3e13d979e85cdb74694657bca50d9bec
BLAKE2b-256 checksum
How to use checksums
81dec41ca8a99e97c86ee3f9cd17bf459e18da69bdfe8d980521a679e6b77472
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.8.13 Darwin/21.5.0

Security for boots 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page