Top-level package for MakeDistribution.com Python client.
Project description
Python client for the MakeDistribution API (docs).
Offers a thin wrapper around the API (JSONClient
) as well as the Distribution
class which lets you interact with MakeDistribution.com distributions as if they were ordinary SciPy distribution objects.
At the moment, Distribution
supports commonly used functionality which should be sufficient for the great majority of use cases. Eventually, the goal is to provide a full drop-in replacement for SciPy's distributions (specifically, rv_continuous_frozen
).
Installation
pip install make_distribution # or `poetry add make_distribution`
Usage
import os
import make_distribution.client
TOKEN = os.environ["MAKEDISTRIBUTION_API_TOKEN"]
json_client = make_distribution.client.JSONClient(token=TOKEN)
client = make_distribution.client.SciPyClient(json_client)
data = {
# See API docs for available families
"family": {"requested": "cinterp5_01"},
"arguments": {
"quantiles": [
{
"p": 0.1,
"x": 0,
},
{
"p": 0.5,
"x": 1,
},
{
"p": 0.9,
"x": 4,
},
]
},
}
# `dist` is an instance of class `Distribution`
dist = client.post("1d/dists/", json=data)
# Print basic information about the distribution
print(dist)
# `dist` lets you query other endpoints with a SciPy-like interface
size = 5
print(f"rvs(size={size}) = {dist.rvs(size)}") # Draw random samples
x = [1, 2, 3]
print(f"cdf({x}) = {dist.cdf(x)}") # Cumulative distribution function
print(f"pdf({x}) = {dist.pdf(x)}") # Probability density function
p = [0.1, 0.2, 0.3]
print(f"ppf({p}) = {dist.ppf(p)}") # Quantile function (inverse CDF)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file make_distribution-0.2.0.tar.gz
.
File metadata
- Download URL: make_distribution-0.2.0.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a08219c1d61aa5b78da5ccf468f58b51e7fc2ab93cf35cd7cef020b405f4142 |
|
MD5 | 3971f38497ddc0d575c1814369ea2dd2 |
|
BLAKE2b-256 | 94f7a02ea9b8f1ea496e07a0ab384b600eb508a0e5de5cd07ee39519e22e1cbd |
File details
Details for the file make_distribution-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: make_distribution-0.2.0-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.12.2 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1b1d26eee80c8cb1ef4ec7d26dd6e1a424910c8abc374b369e743c2872ad0dd |
|
MD5 | 850cd595079a96fcf6c501ed648e7a5e |
|
BLAKE2b-256 | 815bac72a63dceaf3e9bd04a99df0d946c00e277b4a634f57baae413b448ab88 |