multivariate-probit 0.3.1__tar.gz → 0.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/PKG-INFO +1 -1
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/pyproject.toml +1 -1
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/__init__.py +1 -1
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/orthant/__init__.py +16 -7
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_evaluators.py +11 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/.github/ISSUE_TEMPLATE/use-case.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/.gitignore +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/CITATION.cff +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/LICENSE +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/README.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/bench.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/benchmarks.ipynb +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d12_n3000_100_rho0.4_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d16_n3000_100_rho0.4_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d3_n3000_100_rho0.4_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d5_n3000_100_rho0.4_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d8_n3000_100_rho0.4_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d12_n3000_100_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d16_n3000_100_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d3_n3000_100_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d5_n3000_100_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d8_n3000_100_s0.npz +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/results.csv +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/api.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/benchmarks.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/fiml.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/ifm.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/implementation.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/limitations.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/README.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/comparators.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/ghk.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/index-correlation-shortcut.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/log-score-evaluator.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/margin-gaps.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/mulan-multilabel.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/multilabel-benchmarks.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/sparse-label-transfer.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/uci-credit.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/use-cases/README.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/use-cases/claims-fast-track.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/use-cases/content-moderation.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/use-cases/cyber.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/use-cases/fraud-vendor-fusion.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/use-cases/hcc-codes.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/use-cases/property-imagery.md +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/hatch_build.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/_corr.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/_mvn.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/_remote.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/ifm.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/inner.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/linear.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/model.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/results.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/conftest.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_calibration.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_conditional.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_contract.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_correlation_projection.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_linear.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_modal_fit.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_rf.py +0 -0
- {multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_xgboost.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: multivariate-probit
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: Joint probabilities for correlated binary outcomes: P(any), P(all), patterns and conditionals that agree. Any classifier per outcome; scikit-learn-style API.
|
|
5
5
|
Project-URL: Homepage, https://quantecarlo.com/multivariate-probit
|
|
6
6
|
Project-URL: Source, https://github.com/sign-of-fourier/multivariate-probit
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "multivariate-probit"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.2"
|
|
8
8
|
description = "Joint probabilities for correlated binary outcomes: P(any), P(all), patterns and conditionals that agree. Any classifier per outcome; scikit-learn-style API."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { file = "LICENSE" }
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/src/multivariate_probit/orthant/__init__.py
RENAMED
|
@@ -60,8 +60,12 @@ def _import_extension(data, modname):
|
|
|
60
60
|
fd = os.memfd_create(modname)
|
|
61
61
|
try:
|
|
62
62
|
os.write(fd, data)
|
|
63
|
+
path = "/proc/self/fd/%d" % fd
|
|
64
|
+
# The path has no .so suffix, so the loader must be given
|
|
65
|
+
# explicitly; inferred from the path, the spec would be None.
|
|
63
66
|
spec = importlib.util.spec_from_file_location(
|
|
64
|
-
qualified,
|
|
67
|
+
qualified, path,
|
|
68
|
+
loader=importlib.machinery.ExtensionFileLoader(qualified, path))
|
|
65
69
|
mod = importlib.util.module_from_spec(spec)
|
|
66
70
|
spec.loader.exec_module(mod)
|
|
67
71
|
return mod
|
|
@@ -177,12 +181,10 @@ def _bind():
|
|
|
177
181
|
key = _read_key()
|
|
178
182
|
if key is not None:
|
|
179
183
|
try:
|
|
180
|
-
|
|
184
|
+
data = _decrypt_paid(key, tag)
|
|
181
185
|
except ImportError as e:
|
|
182
|
-
# Not a key problem: a missing dependency or a binary that won't
|
|
183
|
-
# load on this platform. Say so rather than blaming the key.
|
|
184
186
|
notice = ("orthant: key found but the paid binary could not be "
|
|
185
|
-
"
|
|
187
|
+
"decrypted (%s) -- running in FREE mode (n<=3, "
|
|
186
188
|
"resolution='low').\n" % e)
|
|
187
189
|
if (e.name or "").startswith("cryptography"):
|
|
188
190
|
notice += " pip install cryptography\n"
|
|
@@ -191,8 +193,15 @@ def _bind():
|
|
|
191
193
|
"mode (n<=3, resolution='low').\n"
|
|
192
194
|
" Renew or get a key: %s\n" % _URL)
|
|
193
195
|
else:
|
|
194
|
-
|
|
195
|
-
|
|
196
|
+
try:
|
|
197
|
+
globals()["cdf"] = _import_extension(data, "_ocore").cdf
|
|
198
|
+
return "paid"
|
|
199
|
+
except Exception as e:
|
|
200
|
+
# The key was right; loading the binary failed. Say so
|
|
201
|
+
# rather than blaming the key.
|
|
202
|
+
notice = ("orthant: key accepted but the paid binary could not "
|
|
203
|
+
"be loaded (%s: %s) -- running in FREE mode (n<=3, "
|
|
204
|
+
"resolution='low').\n" % (type(e).__name__, e))
|
|
196
205
|
else:
|
|
197
206
|
notice = ("orthant: FREE mode -- n<=3 and resolution='low' only. No key "
|
|
198
207
|
"in $ORTHANT_KEY or ~/.orthant/key when this module was "
|
|
@@ -198,3 +198,14 @@ def test_orthant_activate_after_import_without_environment(tmp_path):
|
|
|
198
198
|
)
|
|
199
199
|
assert out.returncode == 0, out.stderr
|
|
200
200
|
assert "FREE mode" not in out.stderr
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
@orthant_built
|
|
204
|
+
def test_orthant_loads_an_extension_from_memory():
|
|
205
|
+
# The paid binary is loaded from bytes. Where os.memfd_create exists the
|
|
206
|
+
# path has no .so suffix, which once left the spec without a loader.
|
|
207
|
+
from multivariate_probit.orthant import _import_extension, _tag
|
|
208
|
+
|
|
209
|
+
with open(ORTHANT_DIR / f"_ofree.{_tag()}.so", "rb") as f:
|
|
210
|
+
mod = _import_extension(f.read(), "_ofree")
|
|
211
|
+
assert callable(mod.cdf)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d12_n3000_100_rho0.4_s0.npz
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d16_n3000_100_rho0.4_s0.npz
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d3_n3000_100_rho0.4_s0.npz
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d5_n3000_100_rho0.4_s0.npz
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_d8_n3000_100_rho0.4_s0.npz
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d12_n3000_100_s0.npz
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d16_n3000_100_s0.npz
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d3_n3000_100_s0.npz
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d5_n3000_100_s0.npz
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/benchmarks/ref_pairwise_d8_n3000_100_s0.npz
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/index-correlation-shortcut.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/multilabel-benchmarks.md
RENAMED
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/studies/sparse-label-transfer.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/use-cases/content-moderation.md
RENAMED
|
File without changes
|
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/docs/use-cases/fraud-vendor-fusion.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{multivariate_probit-0.3.1 → multivariate_probit-0.3.2}/tests/test_correlation_projection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|