Skip to main content

greybox

PyPI version PyPI - Downloads Python CI Python versions License: LGPL-2.1

Python port of the R greybox package — a toolbox for regression model building and forecasting.

hex-sticker of the greybox package for Python

Installation

pip install greybox

For more installation options, see the Installation wiki page.

Quick Example

import numpy as np
import pandas as pd
from greybox import ALM, formula

# Generate sample data
np.random.seed(42)
n = 200
data = pd.DataFrame({
    "y": np.random.normal(10, 2, n),
    "x1": np.random.normal(5, 1, n),
    "x2": np.random.normal(3, 1, n),
})
data["y"] = 2 + 0.5 * data["x1"] - 0.3 * data["x2"] + np.random.normal(0, 1, n)

# Parse formula and fit model
y, X = formula("y ~ x1 + x2", data=data)
model = ALM(distribution="dnorm")
model.fit(X, y)

# Summary
print(model.summary())

# Predict with intervals
pred = model.predict(result.data, interval="prediction", level=0.95)
print(pred.mean[:5])

# Include AR terms (ARIMA-like models)
# For example, ARIMA(1,1,0) model with Log-Normal distribution:
model = ALM(distribution="dlnorm", orders=(1, 1, 0))
model.fit(X, y)

Supported Distributions

Category Distributions
Continuous dnorm, dlaplace, ds, dgnorm, dlgnorm, dfnorm, drectnorm, dt
Positive dlnorm, dinvgauss, dgamma, dexp, dchisq
Count dpois, dnbinom, dgeom
Bounded dbeta, dlogitnorm, dbcnorm
CDF-based pnorm, plogis
Other dalaplace, dbinom

Smoothers (lowess, supsmu)

See the Smoothers wiki page for the full reference.

Non-parametric smoothers that reproduce R's stats::lowess and stats::supsmu to machine precision (native pybind11 implementations).

import numpy as np
from greybox import lowess, supsmu

rng = np.random.default_rng(0)
x = np.linspace(0, 6, 80)
y = np.sin(x) + rng.normal(0, 0.2, 80)

# Cleveland's LOWESS — robust local regression
lo = lowess(x, y, f=0.4)
print(lo["x"], lo["y"])   # sorted x, smoothed y

# Friedman's SuperSmoother — variable-span cross-validation
sm_cv    = supsmu(x, y)              # automatic span selection
sm_fixed = supsmu(x, y, span=0.3)    # fixed span

References: Cleveland (1979) for LOWESS, Friedman (1984) for SuperSmoother.

Automatic Identification of Demand (aid, aid_cat)

See the AID wiki page for the full reference.

Classifies a time series into one of six demand types and flags stockouts, new products, and obsolete products. Port of R's greybox::aid() / aidCat().

import numpy as np
import matplotlib.pyplot as plt
from greybox import aid, aid_cat

rng = np.random.default_rng(42)

# Intermittent count demand: Poisson(0.7)
y = rng.poisson(0.7, 120).astype(float)
result = aid(y)
print(result)                       # human-readable summary
print(result.name)                  # e.g. "smooth intermittent count"
print(result.type.type1)            # "count" or "fractional" — R-style attribute access
print(result.type["type1"])         # dict-style fallback also works

# Detect injected stockouts and plot them
y2 = rng.poisson(3, 100).astype(float)
y2[40:50] = 0
result2 = aid(y2)
print(result2.stockouts.start, result2.stockouts.end)  # 1-based, [41] [50]
ax = result2.plot()                 # series + grey-shaded stockout span
plt.show()

# Apply to multiple series at once
series = {
    "a": rng.poisson(1, 80).astype(float),
    "b": rng.poisson(5, 80).astype(float),
    "c": rng.normal(10, 2, 80),
}
cat = aid_cat(series)
print(cat.types)        # 2x3 demand-category frequency table
print(cat.anomalies)    # counts of new / stockouts / old products
ax = cat.plot()         # 2x3 demand-category panel
plt.show()

The nested type and stockouts fields are typed dataclasses that support both result.stockouts.start (R-style attribute access) and result.stockouts["start"] (dict-style fallback).

Features

  • ALM (Augmented Linear Model): Likelihood-based regression with 26 distributions
  • Formula parser: R-style formulas (y ~ x1 + x2, log(y) ~ ., y ~ 0 + x1) with support for backshift operator
  • stepwise(): IC-based variable selection with partial correlations
  • CALM(): Combine ALM models based on IC weights
  • Forecast error measures: MAE, MSE, RMSE, MAPE, MASE, MPE, sMAPE, and more
  • Variable processing: xreg_expander (lags/leads), xreg_multiplier (interactions), temporal_dummy
  • Distributions: 27 distribution families with density, CDF, quantile, and random generation
  • Association: Partial correlations and measures of association
  • Diagnostics: Model diagnostics and validation
  • Smoothers: lowess and supsmu matching R's stats::lowess and stats::supsmu to machine precision
  • Demand identification: aid() and aid_cat() for automatic classification of demand series and stockout detection
  • Method comparison (RMCB): rmcb() for the Nemenyi/MCB test comparing forecasting methods, with "mcb" and "lines" plots

Links

License

LGPL-2.1

About

greybox is developed and maintained by OpenForecast, a demand forecasting and inventory management consultancy. The package implements the methods we use in our consulting and teach in our training courses.

Metadata

Release files for greybox 1.0.7

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

Source distribution (sdist)

Source distribution for greybox 1.0.7
File Size Uploaded
greybox-1.0.7.tar.gz 193.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for greybox 1.0.7
File
greybox-1.0.7-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
greybox-1.0.7-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
greybox-1.0.7-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
greybox-1.0.7-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
greybox-1.0.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
greybox-1.0.7-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
greybox-1.0.7-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
greybox-1.0.7-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
greybox-1.0.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
greybox-1.0.7-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
greybox-1.0.7-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
greybox-1.0.7-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
greybox-1.0.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
greybox-1.0.7-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
greybox-1.0.7-cp311-cp311-macosx_10_13_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.13+ x86-64 Details

Total release size: 6.1 MB

Release files / greybox-1.0.7.tar.gz

Download URL greybox-1.0.7.tar.gz
Size 193.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f7938b184f71163a821797bc2fa23135cc9805f4c84b458c1cc6dd9aeb9de705
BLAKE2b-256 checksum
How to use checksums
ee6baccb13c68a4435b8aa1dcf52d3d7bcdacb077e25da4addf8a4505df0eb73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp314-cp314-win_amd64.whl

Download URL greybox-1.0.7-cp314-cp314-win_amd64.whl
Size 408.3 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
68525706fecc2ea31cce55620600bbc3601ce2301d9fbe09f0d9a573c3690971
BLAKE2b-256 checksum
How to use checksums
4ff388ce6d1acdc412f8f31f1f7744943e39e1cc07d2952ed547da57458ad06f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL greybox-1.0.7-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 425.4 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3f9934c347cc53781d7d7535217d6104f4b69e0e6c4b4ced1c4de13a50f9c3f3
BLAKE2b-256 checksum
How to use checksums
3312c84384b9e3ea03f80292954d82cabef367d563c3431b15e179835e91c106
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp314-cp314-macosx_11_0_arm64.whl

Download URL greybox-1.0.7-cp314-cp314-macosx_11_0_arm64.whl
Size 373.4 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
384500c04e74ffd3ebbd58d6857311820dd66ca89122994f0fce3b6545c98950
BLAKE2b-256 checksum
How to use checksums
aec0bb0d320c02dfd3681cc73e0ff3c1ab0e9a31165c11390297981b387d427a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp313-cp313-win_amd64.whl

Download URL greybox-1.0.7-cp313-cp313-win_amd64.whl
Size 401.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
51c14f6731e9e9e32766f500b542e3d79fb8fdb3d7242b3d439011f4d8310513
BLAKE2b-256 checksum
How to use checksums
c25c76dfe3985c085163eebb43cca0fdd7481a31f60dfb2b0940a2e71d7a910c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL greybox-1.0.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 424.9 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a6a5ee1964b7e6efcd8eae4b4c5488df29903857de88f46abbf1b7e648664666
BLAKE2b-256 checksum
How to use checksums
51ef128fa543f30d58cfbc1635cd28bc322c776e00a05393206c88348f5c07a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp313-cp313-macosx_11_0_arm64.whl

Download URL greybox-1.0.7-cp313-cp313-macosx_11_0_arm64.whl
Size 372.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f64682cc8ef639845cb531b799d7c672d350e584adf5938ef1fce21fdd789d17
BLAKE2b-256 checksum
How to use checksums
c1c9fcf22082328fc46f8c67061bfb7547398394ab34dd986001acc4d5d11fb4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp313-cp313-macosx_10_13_x86_64.whl

Download URL greybox-1.0.7-cp313-cp313-macosx_10_13_x86_64.whl
Size 383.9 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
a83d58cca3fa892d5c85e7b1618277a108cd5eb93abbbd878eef9f1d08d4a526
BLAKE2b-256 checksum
How to use checksums
dd01c1fd4b7aa5b2fc5e11a75c5e443b6457470c587bbe2ccf2d77e934bb1c7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp312-cp312-win_amd64.whl

Download URL greybox-1.0.7-cp312-cp312-win_amd64.whl
Size 401.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
b36ed69443897315cda3949e86b5814497c0b36ee23f0177ef528bda14b301b4
BLAKE2b-256 checksum
How to use checksums
d24da7066eaaca782db4615c53d05a68aa1530f9d62bd30c5790cf276eeb14de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL greybox-1.0.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 424.8 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4ad69a8a26bba87fa7ced19d110fb3acaef93bbc1639f9cd564ecb82cccc80c3
BLAKE2b-256 checksum
How to use checksums
ffb0e93322816a7ae9dfeebe51a7e8ff39972f6746f0f4d09d0ccc02a5526e31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp312-cp312-macosx_11_0_arm64.whl

Download URL greybox-1.0.7-cp312-cp312-macosx_11_0_arm64.whl
Size 372.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
38b624b05b8bb96fd666b63aaf91cc7e3d2f33b116451da0f28f0d3123905bbd
BLAKE2b-256 checksum
How to use checksums
c4d0277f40046643a0fae6460fa3e7856bf9b7c9d70c5d71477adae16db50f47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp312-cp312-macosx_10_13_x86_64.whl

Download URL greybox-1.0.7-cp312-cp312-macosx_10_13_x86_64.whl
Size 383.6 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
91e4ed02fe7c28fff4905f160f8e66adc23212d852291b718bd57067eafa42fd
BLAKE2b-256 checksum
How to use checksums
cd1d891a0059faa748d1290bb6591a43ce69f84353a71be358afe2d51680c7a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp311-cp311-win_amd64.whl

Download URL greybox-1.0.7-cp311-cp311-win_amd64.whl
Size 394.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
702261e729ac04b34408329465caf28d500db00d15933af1d730bc5ac46ae48e
BLAKE2b-256 checksum
How to use checksums
575734199929b21d8577ba34a37013be13ac3d965322d26ac8319686e2c425a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL greybox-1.0.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 419.2 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0cb2fd11339cdb7f64bc4a179d1763d16c6beb460a85fb45cad40eb8fd60ee3e
BLAKE2b-256 checksum
How to use checksums
9fda15833f10aa30a6d2cc50a2b810f4f23d81ff91bf338ce05803c442538f9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp311-cp311-macosx_11_0_arm64.whl

Download URL greybox-1.0.7-cp311-cp311-macosx_11_0_arm64.whl
Size 367.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
662fa35564523cef97e12e7345641b0197769c1d86dcb82428836c8c53274d09
BLAKE2b-256 checksum
How to use checksums
4002b8b6b019f93cb6331309f4eb6744a529179ee47b14068e56e9ba35ee482c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / greybox-1.0.7-cp311-cp311-macosx_10_13_x86_64.whl

Download URL greybox-1.0.7-cp311-cp311-macosx_10_13_x86_64.whl
Size 376.7 kB
Tags CPython 3.11 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
2c7f34f2cda721bce2626166be984b6a5eaa353dbfbaf4c422644b2f3abe4cd1
BLAKE2b-256 checksum
How to use checksums
a75ba8af26d0ca2a44571bac67bf2c31ae6bad82aabf7638f7da12d1878b5a75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.7 This release

16 release files

1.0.6

16 release files

1.0.5

16 release files

1.0.4

16 release files

1.0.3

17 release files

1.0.2

17 release files

1.0.1

2 release files

1.0.0

2 release files

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