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

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.10

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.10
File Size Uploaded Provenance
greybox-1.0.10.tar.gz 370.1 kB With provenance Details

Built distributions (wheels)

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

Total release size: 12.4 MB

Release files / greybox-1.0.10.tar.gz

Download URL greybox-1.0.10.tar.gz
Size 370.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e4e911ca86efc82b3ef538659c8e9c217be6320a94d818be9cb45acb2ab739e0
BLAKE2b-256 checksum
How to use checksums
c7689dff92ed6392b7ee86d0b9b65b17eccb6952f42a6cb84096935958058001
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp314-cp314-win_amd64.whl
Size 961.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
694cbc280a09fc61a62605671c6c86f8b85e1e21aadabba218acc665d599431c
BLAKE2b-256 checksum
How to use checksums
86e7d3446f957eeeba2ee6ec9b463319f7fd0be40d01de14a1ec8b14260c40bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 817.1 kB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
71f3be9f6ce7bbde011b3f48e0946de07d2bce3800d4510b658b74901b8e2528
BLAKE2b-256 checksum
How to use checksums
e79d9073ba770fee911c88053247626391c8f4dbf0ba822cfc9d58ab1c842d7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp314-cp314-macosx_11_0_arm64.whl
Size 706.8 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c5e02e5033a17c8dcdf1fe84568e5b7d16323c0a4e6ac6099a0f127e9eeb9a8e
BLAKE2b-256 checksum
How to use checksums
8df20d013cadea42f2c7934031d290dad4a94338eba8d1d631065ef02c58f7c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp313-cp313-win_amd64.whl
Size 940.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
8881ad8a0704254ad9d7d0532984a7aa3ba2a24d2d0212026e480936e9fd6d22
BLAKE2b-256 checksum
How to use checksums
756430ff32d0efe24c2ffe818ba3d3f6dfc360eb4015a3f8593a62cbc597e070
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 816.3 kB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
690b4ee85128a2c9f116e391e537eaaa02c9c18bc612c7d686efa1dc5389aa3c
BLAKE2b-256 checksum
How to use checksums
77dd4f6d0e61de158d5b77e1a4de0d14bf664cbcfb98841b0a64128218372531
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

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

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp313-cp313-macosx_10_13_x86_64.whl
Size 734.2 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
88c46648e501b11894a24f69ff45272ee629b518136336d15fcaae89e1cc881e
BLAKE2b-256 checksum
How to use checksums
d5867a3506e6d784d28d40403b969ffad73b3adc1cf269ed30f2f57627156010
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp312-cp312-win_amd64.whl
Size 940.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
464ba96fc7eeee70a9418c17bbd058ab92c37201177f00f330c70fdde8019fbd
BLAKE2b-256 checksum
How to use checksums
37888a9ccf89227b0659f07a54ebeb39389ed494c5eab2979754b3aab0eacdb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 816.2 kB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1edf73decf9119536823e07e658f627eef11773cbc6e471cb74fb1c2c611645a
BLAKE2b-256 checksum
How to use checksums
7810a41e31cd69b5d30e7a0395b201a5b208a07d06537f56a67e4da660a575da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp312-cp312-macosx_11_0_arm64.whl
Size 705.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c993c6965c9673d6090039be8555135499d7dd637a2dda344deae15d3179a638
BLAKE2b-256 checksum
How to use checksums
cf57c3a2a95d6a809e90d7e9e94f91634a717d7ae0c1addd255b8c6618982eb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp312-cp312-macosx_10_13_x86_64.whl
Size 733.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
2c0a8b479645c5d88112d1698f2a04e9f70a2f0434ba62eff5c75ddcbf5cdc35
BLAKE2b-256 checksum
How to use checksums
9c55ed2239f79460f9d3f2e1c48631c7bd6a48cbe95484975486ed07522b9ec5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp311-cp311-win_amd64.whl
Size 927.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b65333c58bfad6304e2f447e3512e833c9efe4766a44c12313bc53033d7d2861
BLAKE2b-256 checksum
How to use checksums
20b608135ab32a04fbb290e839d039bd28df7171dbfe209c7e8e83494f4c8216
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 804.9 kB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a176a8df7557fd87ccf6b9f5d3c95e9d333c356d11592128e11ccbb5d7d5677e
BLAKE2b-256 checksum
How to use checksums
f154aa597dab33431776660c0451ea70be7813840ecf5afc737ce7f340edb51b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp311-cp311-macosx_11_0_arm64.whl
Size 697.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dd4b13ab20ee2813af8bdc76c539bb8b85d194e30cfcafee4cafa448e8eba92a
BLAKE2b-256 checksum
How to use checksums
a07ebeb028b93dfce7c28a850754660c87dbe2d65274ca488eaac4e9caaab166
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

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

Download URL greybox-1.0.10-cp311-cp311-macosx_10_13_x86_64.whl
Size 722.5 kB
Tags CPython 3.11 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
91e7064b1b4e224dbf3b220db9cf50fe3e0f5ff710235a9e8d97f18c69719469
BLAKE2b-256 checksum
How to use checksums
6fbc5655af026e6111b5d7ee6443370791ad3704a1e673d1f6ea4b338bd00710
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 21, 2026.

Transparency log

Security for greybox 1.0.10

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.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for greybox-1.0.10.tar.gz

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 Oct 21, 2026.

Transparency log

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