bossanova 0.1.0.dev19__tar.gz → 0.1.0.dev20__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.
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/.gitignore +2 -1
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/PKG-INFO +1 -1
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/dispatch.py +4 -4
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/glmer.py +18 -21
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/slopes.py +15 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/model/core.py +1 -1
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/pyproject.toml +5 -1
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/LICENSE +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/README.md +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/README.md +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/advertising.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/cake.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/chickweight.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/credit.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/gammas.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/mtcars.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/penguins.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/poker.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/sleep.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/titanic.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/titanic_test.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/data/titanic_train.csv +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/distributions/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/distributions/continuous.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/distributions/discrete.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/distributions/varying.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/expressions.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/compare.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/cv.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/deviance.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/f_test.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/helpers.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/ic.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/lrt.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/lrt_compare.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/compare/refit.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/dataframes.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/resamples.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/results.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/specs.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/state.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/schemas.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/data.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/display.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/explore.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/formula.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/specs.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/state.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/validators.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/design/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/design/coding.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/design/names.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/design/reference.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/design/z_matrix.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/convergence.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/diagnostics.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/glm.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/lmer.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/ols.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/predict.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/rank.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/fit/varying.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/bundle.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/contrast_registry.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/contrast_specs.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/design.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/encoding.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/evaluate.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/evaluate_contrast.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/evaluate_newdata.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/evaluate_transforms.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/helpers.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/parse.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/parser/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/parser/expr.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/parser/parser.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/parser/scanner.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/parser/token.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/random_effects.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/asymptotic.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/bootstrap.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/cv.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/dispatch.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/formula_utils.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/mee.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/params.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/permutation.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/prediction.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/profile.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/common.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/core.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/glmer.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/lm_operators.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/lmer.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/results.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/simulate.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample_bundle.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/satterthwaite_emm.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/simulation.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/bracket_contrasts.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/compute.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/conditions.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/contrasts.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/emm.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/explore.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/explore_parser.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/explore_scanner.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/factors.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/grid.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/inference.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/joint_tests.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/matrices.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/transforms.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/validation.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/backend/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/backend/dispatch.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/backend/jax.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/backend/numpy.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/backend/protocol.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/batching.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/config.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/convergence.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/differentiation.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/algebra.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/base.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/core.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/derived.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/factories.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/plotting.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/probability.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/binomial.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/create.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/gamma.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/gaussian.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/links.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/poisson.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/response.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/schema.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/family/tdist.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/diagnostics.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/estimation.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/hypothesis.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/information_criteria.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/multiplicity.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/profile.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/sandwich.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/satterthwaite.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/wald_variance.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/welch.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/linalg/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/linalg/qr.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/linalg/schur.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/linalg/sparse.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/linalg/svd.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/predict.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/rng.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/rounding.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/glm.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/glmer.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/heuristics.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/initialization.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/lambda_builder.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/lambda_sparse.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/lambda_template.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/lmer.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/optimize.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/pirls_sparse.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/quadrature.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/tolerances.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/transforms.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/variance.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/weights.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/rendering/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/rendering/latex.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/rendering/markdown.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/dgp/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/dgp/generate.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/dgp/glm.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/dgp/glmer.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/dgp/lm.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/dgp/lmer.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/harness.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/metrics.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/model_sim.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/power.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/README.md +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/cognition.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/compare.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/core.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/core_data.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/core_protocols.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/core_sizing.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/core_viz.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/dag.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/design.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/fit.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/fit_builders.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/fit_layers.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/helpers.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/lattice.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/layout.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/mem.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/mem_forest.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/params.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/predict.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/profile.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/ranef.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/relationships.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/resamples.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/resid.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/viz/vif.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/model/__init__.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/model/guards.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/model/result.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/model/summary.py +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/py.typed +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/tests/bossanova_benchmarks/bootstrap/data/README.md +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/tests/bossanova_benchmarks/insteval/data/README.md +0 -0
- {bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/tests/bossanova_tests/hypothesis/README.md +0 -0
|
@@ -17,7 +17,7 @@ docs/_build/
|
|
|
17
17
|
docs/performance/
|
|
18
18
|
profile_*.py
|
|
19
19
|
benchmarks/
|
|
20
|
-
!bossanova-docs/
|
|
20
|
+
!bossanova-docs/benchmarking/
|
|
21
21
|
examples/
|
|
22
22
|
papers/
|
|
23
23
|
paper-summaries/
|
|
@@ -84,3 +84,4 @@ bossanova-docs/wip/
|
|
|
84
84
|
research.md
|
|
85
85
|
201b-ghct-05-models/
|
|
86
86
|
emmeans/
|
|
87
|
+
walkthrough.md
|
|
@@ -105,7 +105,7 @@ def dispatch_solver(
|
|
|
105
105
|
tol: float | None = None,
|
|
106
106
|
verbose: bool = False,
|
|
107
107
|
nAGQ: int = 1,
|
|
108
|
-
use_hessian: bool =
|
|
108
|
+
use_hessian: bool = False,
|
|
109
109
|
) -> FitState:
|
|
110
110
|
"""Dispatch to the concrete solver implementation.
|
|
111
111
|
|
|
@@ -121,7 +121,7 @@ def dispatch_solver(
|
|
|
121
121
|
tol: Convergence tolerance (solver-specific defaults if None).
|
|
122
122
|
verbose: Print optimization progress (default: False).
|
|
123
123
|
nAGQ: Quadrature points for GLMER (default: 1).
|
|
124
|
-
use_hessian: Use Hessian-based vcov for GLMER (default:
|
|
124
|
+
use_hessian: Use Hessian-based vcov for GLMER (default: False).
|
|
125
125
|
|
|
126
126
|
Returns:
|
|
127
127
|
FitState from the selected solver.
|
|
@@ -172,7 +172,7 @@ def fit_model(
|
|
|
172
172
|
tol: float | None = None,
|
|
173
173
|
verbose: bool = False,
|
|
174
174
|
nAGQ: int = 1,
|
|
175
|
-
use_hessian: bool =
|
|
175
|
+
use_hessian: bool = False,
|
|
176
176
|
) -> FitState:
|
|
177
177
|
"""Dispatch to appropriate fitter based on model specification.
|
|
178
178
|
|
|
@@ -205,7 +205,7 @@ def fit_model(
|
|
|
205
205
|
tol: Convergence tolerance (solver-specific defaults if None).
|
|
206
206
|
verbose: Print optimization progress (default: False).
|
|
207
207
|
nAGQ: Quadrature points for GLMER (default: 1).
|
|
208
|
-
use_hessian: Use Hessian-based vcov for GLMER (default:
|
|
208
|
+
use_hessian: Use Hessian-based vcov for GLMER (default: False).
|
|
209
209
|
|
|
210
210
|
Returns:
|
|
211
211
|
FitState containing all fitting results.
|
|
@@ -29,7 +29,7 @@ def fit_glmer_pirls(
|
|
|
29
29
|
tol: float = 1e-7,
|
|
30
30
|
verbose: bool = False,
|
|
31
31
|
nAGQ: int = 1,
|
|
32
|
-
use_hessian: bool =
|
|
32
|
+
use_hessian: bool = False,
|
|
33
33
|
) -> FitState:
|
|
34
34
|
"""Fit generalized linear mixed model using Penalized IRLS.
|
|
35
35
|
|
|
@@ -70,7 +70,10 @@ def fit_glmer_pirls(
|
|
|
70
70
|
tol: PIRLS convergence tolerance (default: 1e-7).
|
|
71
71
|
verbose: Print optimization progress (default: False).
|
|
72
72
|
nAGQ: Quadrature points (0 or 1, default: 1).
|
|
73
|
-
use_hessian: Use Hessian-based vcov (default:
|
|
73
|
+
use_hessian: Use Hessian-based vcov (default: False). The default
|
|
74
|
+
Schur complement approach matches lme4's ``vcov()`` with
|
|
75
|
+
``use.hessian=FALSE`` and avoids expensive numerical
|
|
76
|
+
differentiation. Set to True for observed-information vcov.
|
|
74
77
|
|
|
75
78
|
Returns:
|
|
76
79
|
FitState containing:
|
|
@@ -91,7 +94,6 @@ def fit_glmer_pirls(
|
|
|
91
94
|
- bossanova.internal.maths.solvers.glmer: Underlying PIRLS implementation
|
|
92
95
|
"""
|
|
93
96
|
from bossanova.internal.maths.solvers.glmer import (
|
|
94
|
-
compute_hessian_vcov,
|
|
95
97
|
compute_irls_quantities,
|
|
96
98
|
fit_glmm_pirls,
|
|
97
99
|
)
|
|
@@ -177,9 +179,17 @@ def fit_glmer_pirls(
|
|
|
177
179
|
converged = fit_result["converged"]
|
|
178
180
|
n_iter = fit_result["n_func_evals"]
|
|
179
181
|
|
|
182
|
+
# Compute IRLS weights once (needed by both vcov paths and for XtWX_inv)
|
|
183
|
+
working_weights, _ = compute_irls_quantities(y, eta, family)
|
|
184
|
+
if weights is not None:
|
|
185
|
+
total_weights = weights * working_weights
|
|
186
|
+
else:
|
|
187
|
+
total_weights = working_weights
|
|
188
|
+
|
|
180
189
|
# Compute variance-covariance matrix of beta
|
|
181
190
|
if use_hessian:
|
|
182
|
-
|
|
191
|
+
from bossanova.internal.maths.solvers.glmer import compute_hessian_vcov
|
|
192
|
+
|
|
183
193
|
vcov, _ = compute_hessian_vcov(
|
|
184
194
|
theta=theta,
|
|
185
195
|
beta=beta,
|
|
@@ -196,15 +206,7 @@ def fit_glmer_pirls(
|
|
|
196
206
|
eta_init=eta, # Use optimal eta as starting point
|
|
197
207
|
)
|
|
198
208
|
else:
|
|
199
|
-
# Schur complement-based vcov (
|
|
200
|
-
working_weights, _ = compute_irls_quantities(y, eta, family)
|
|
201
|
-
|
|
202
|
-
if weights is not None:
|
|
203
|
-
total_weights = weights * working_weights
|
|
204
|
-
else:
|
|
205
|
-
total_weights = working_weights
|
|
206
|
-
|
|
207
|
-
# Build Lambda for Schur complement
|
|
209
|
+
# Schur complement-based vcov (analytical, matches lme4 vcov(use.hessian=FALSE))
|
|
208
210
|
Lambda = build_lambda_sparse(theta, n_groups_list, re_structure, metadata)
|
|
209
211
|
vcov = compute_vcov_schur_sparse(X, Z, Lambda, weights=total_weights)
|
|
210
212
|
|
|
@@ -218,13 +220,8 @@ def fit_glmer_pirls(
|
|
|
218
220
|
# Degrees of freedom
|
|
219
221
|
df_resid = float(n - p)
|
|
220
222
|
|
|
221
|
-
#
|
|
222
|
-
|
|
223
|
-
if weights is not None:
|
|
224
|
-
final_irls_weights = weights * final_working_weights
|
|
225
|
-
else:
|
|
226
|
-
final_irls_weights = final_working_weights
|
|
227
|
-
XtWX = X.T @ (X * final_irls_weights[:, np.newaxis])
|
|
223
|
+
# XtWX_inv for sandwich/cluster-robust SEs (reuse total_weights)
|
|
224
|
+
XtWX = X.T @ (X * total_weights[:, np.newaxis])
|
|
228
225
|
XtWX_inv = np.linalg.inv(XtWX)
|
|
229
226
|
|
|
230
227
|
return build_fit_state(
|
|
@@ -240,6 +237,6 @@ def fit_glmer_pirls(
|
|
|
240
237
|
u=u,
|
|
241
238
|
converged=converged,
|
|
242
239
|
n_iter=n_iter,
|
|
243
|
-
irls_weights=
|
|
240
|
+
irls_weights=total_weights,
|
|
244
241
|
XtWX_inv=XtWX_inv,
|
|
245
242
|
)
|
|
@@ -312,6 +312,15 @@ def compute_slopes_finite_diff(
|
|
|
312
312
|
|
|
313
313
|
validate_focal_var(bundle, focal_var)
|
|
314
314
|
|
|
315
|
+
# --- drop rows with missing values in model variables -----------------
|
|
316
|
+
# The caller may pass raw data that includes rows dropped during fitting.
|
|
317
|
+
# Null/NaN values propagate through matrix multiplication and corrupt the
|
|
318
|
+
# AME estimate, so filter to complete cases on the model's columns.
|
|
319
|
+
model_cols = [c for c in bundle.X_names if c in data.columns]
|
|
320
|
+
if bundle.y_name in data.columns:
|
|
321
|
+
model_cols.append(bundle.y_name)
|
|
322
|
+
data = data.drop_nulls(subset=model_cols)
|
|
323
|
+
|
|
315
324
|
# --- step size --------------------------------------------------------
|
|
316
325
|
focal_col = data[focal_var].cast(pl.Float64).to_numpy()
|
|
317
326
|
var_range = float(focal_col.max() - focal_col.min())
|
|
@@ -443,6 +452,12 @@ def compute_slopes_crossed(
|
|
|
443
452
|
"(needed by evaluate_newdata)."
|
|
444
453
|
)
|
|
445
454
|
|
|
455
|
+
# --- drop rows with missing values in model variables -----------------
|
|
456
|
+
model_cols = [c for c in bundle.X_names if c in data.columns]
|
|
457
|
+
if bundle.y_name in data.columns:
|
|
458
|
+
model_cols.append(bundle.y_name)
|
|
459
|
+
data = data.drop_nulls(subset=model_cols)
|
|
460
|
+
|
|
446
461
|
# --- step size --------------------------------------------------------
|
|
447
462
|
focal_col = data[focal_var].cast(pl.Float64).to_numpy()
|
|
448
463
|
var_range = float(focal_col.max() - focal_col.min())
|
|
@@ -1028,7 +1028,7 @@ class model:
|
|
|
1028
1028
|
"tol": kwargs.pop("tol", None),
|
|
1029
1029
|
"verbose": bool(kwargs.pop("verbose", False)),
|
|
1030
1030
|
"nAGQ": int(kwargs.pop("nAGQ", 1)),
|
|
1031
|
-
"use_hessian": bool(kwargs.pop("use_hessian",
|
|
1031
|
+
"use_hessian": bool(kwargs.pop("use_hessian", False)),
|
|
1032
1032
|
}
|
|
1033
1033
|
if fit_kwargs["max_iter"] is not None:
|
|
1034
1034
|
fit_kwargs["max_iter"] = int(fit_kwargs["max_iter"])
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "bossanova"
|
|
3
3
|
requires-python = ">=3.11"
|
|
4
|
-
version = "0.1.0.
|
|
4
|
+
version = "0.1.0.dev20"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "Eshin Jolly"},
|
|
7
7
|
]
|
|
@@ -167,6 +167,10 @@ setup-kernel = { cmd = "python -m ipykernel install --user --name=\"$(basename $
|
|
|
167
167
|
_tutorials-export = { cmd = "bash scripts/tutorials_export.sh", description = "Convert marimo notebooks to MyST markdown" }
|
|
168
168
|
_tutorials-import = { cmd = "bash scripts/tutorials_import.sh", description = "Convert MyST markdown to marimo notebooks" }
|
|
169
169
|
|
|
170
|
+
# === Benchmarks ===
|
|
171
|
+
# `pixi run benchmark lm`, `pixi run benchmark glm`, etc. Runs --all-backends by default.
|
|
172
|
+
benchmark = { cmd = "bash scripts/run-logged.sh benchmark-{{ model }} python benchmarking/benchmark_{{ model }}_methods.py --all-backends", args = [{ arg = "model", choices = ["lm", "glm", "lmer", "glmer"] }], description = "Run model benchmarks (writes markdown to docs)" }
|
|
173
|
+
|
|
170
174
|
# === Build & Release ===
|
|
171
175
|
_build = { cmd = "uv build --clear", description = "Build sdist + wheel (clears old artifacts)" }
|
|
172
176
|
release = { cmd = "python scripts/release.py {{ target }}", args = [{ arg = "target", choices = ["pypi", "testpypi"], default = "pypi" }], description = "Full release: review logs, bump version, build, test, publish" }
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/__init__.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/dataframes.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/resamples.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/results.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/specs.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/builders/state.py
RENAMED
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/__init__.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/data.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/display.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/explore.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/formula.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/specs.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/containers/structs/state.py
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
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/contrast_registry.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/contrast_specs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/evaluate_contrast.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/evaluate_newdata.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/evaluate_transforms.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/parser/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/parser/scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/formula/random_effects.py
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
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/lm_operators.py
RENAMED
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/results.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/resample/simulate.py
RENAMED
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/infer/satterthwaite_emm.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/bracket_contrasts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/explore_parser.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/marginal/explore_scanner.py
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
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/backend/__init__.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/backend/dispatch.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/backend/protocol.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/__init__.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/algebra.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/base.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/core.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/derived.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/factories.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/distributions/plotting.py
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
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/__init__.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/diagnostics.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/estimation.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/hypothesis.py
RENAMED
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/multiplicity.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/profile.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/sandwich.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/satterthwaite.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/inference/wald_variance.py
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
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/heuristics.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/initialization.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/lambda_builder.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/lambda_sparse.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/lambda_template.py
RENAMED
|
File without changes
|
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/optimize.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/pirls_sparse.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/maths/solvers/quadrature.py
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
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/dgp/__init__.py
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/bossanova/internal/simulation/dgp/generate.py
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
|
|
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
|
|
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
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/tests/bossanova_benchmarks/bootstrap/data/README.md
RENAMED
|
File without changes
|
{bossanova-0.1.0.dev19 → bossanova-0.1.0.dev20}/tests/bossanova_benchmarks/insteval/data/README.md
RENAMED
|
File without changes
|
|
File without changes
|