bossanova 0.1.0.dev22__tar.gz → 0.1.0.dev23__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.
Files changed (239) hide show
  1. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/PKG-INFO +1 -1
  2. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/emm.py +33 -4
  3. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/pyproject.toml +1 -1
  4. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/.gitignore +0 -0
  5. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/LICENSE +0 -0
  6. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/README.md +0 -0
  7. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/__init__.py +0 -0
  8. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/README.md +0 -0
  9. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/__init__.py +0 -0
  10. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/advertising.csv +0 -0
  11. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/cake.csv +0 -0
  12. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/chickweight.csv +0 -0
  13. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/credit.csv +0 -0
  14. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/gammas.csv +0 -0
  15. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/mtcars.csv +0 -0
  16. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/penguins.csv +0 -0
  17. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/poker.csv +0 -0
  18. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/sleep.csv +0 -0
  19. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/titanic.csv +0 -0
  20. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/titanic_test.csv +0 -0
  21. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/data/titanic_train.csv +0 -0
  22. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/distributions/__init__.py +0 -0
  23. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/distributions/continuous.py +0 -0
  24. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/distributions/discrete.py +0 -0
  25. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/distributions/varying.py +0 -0
  26. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/expressions.py +0 -0
  27. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/__init__.py +0 -0
  28. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/__init__.py +0 -0
  29. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/compare.py +0 -0
  30. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/cv.py +0 -0
  31. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/deviance.py +0 -0
  32. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/f_test.py +0 -0
  33. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/helpers.py +0 -0
  34. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/ic.py +0 -0
  35. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/lrt.py +0 -0
  36. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/lrt_compare.py +0 -0
  37. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/compare/refit.py +0 -0
  38. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/__init__.py +0 -0
  39. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/builders/__init__.py +0 -0
  40. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/builders/dataframes.py +0 -0
  41. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/builders/resamples.py +0 -0
  42. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/builders/results.py +0 -0
  43. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/builders/specs.py +0 -0
  44. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/builders/state.py +0 -0
  45. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/schemas.py +0 -0
  46. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/structs/__init__.py +0 -0
  47. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/structs/data.py +0 -0
  48. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/structs/display.py +0 -0
  49. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/structs/explore.py +0 -0
  50. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/structs/formula.py +0 -0
  51. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/structs/specs.py +0 -0
  52. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/structs/state.py +0 -0
  53. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/containers/validators.py +0 -0
  54. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/design/__init__.py +0 -0
  55. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/design/coding.py +0 -0
  56. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/design/names.py +0 -0
  57. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/design/reference.py +0 -0
  58. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/design/z_matrix.py +0 -0
  59. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/__init__.py +0 -0
  60. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/convergence.py +0 -0
  61. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/diagnostics.py +0 -0
  62. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/dispatch.py +0 -0
  63. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/glm.py +0 -0
  64. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/glmer.py +0 -0
  65. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/lmer.py +0 -0
  66. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/ols.py +0 -0
  67. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/predict.py +0 -0
  68. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/fit/varying.py +0 -0
  69. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/__init__.py +0 -0
  70. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/bundle.py +0 -0
  71. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/contrast_registry.py +0 -0
  72. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/contrast_specs.py +0 -0
  73. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/design.py +0 -0
  74. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/encoding.py +0 -0
  75. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/evaluate.py +0 -0
  76. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/evaluate_contrast.py +0 -0
  77. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/evaluate_newdata.py +0 -0
  78. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/evaluate_transforms.py +0 -0
  79. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/helpers.py +0 -0
  80. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/parse.py +0 -0
  81. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/parser/__init__.py +0 -0
  82. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/parser/expr.py +0 -0
  83. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/parser/parser.py +0 -0
  84. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/parser/scanner.py +0 -0
  85. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/parser/token.py +0 -0
  86. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/formula/random_effects.py +0 -0
  87. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/__init__.py +0 -0
  88. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/asymptotic.py +0 -0
  89. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/bootstrap.py +0 -0
  90. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/cv.py +0 -0
  91. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/dispatch.py +0 -0
  92. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/formula_utils.py +0 -0
  93. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/mee.py +0 -0
  94. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/params.py +0 -0
  95. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/permutation.py +0 -0
  96. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/prediction.py +0 -0
  97. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/profile.py +0 -0
  98. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/resample/__init__.py +0 -0
  99. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/resample/common.py +0 -0
  100. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/resample/core.py +0 -0
  101. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/resample/glmer.py +0 -0
  102. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/resample/lm_operators.py +0 -0
  103. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/resample/lmer.py +0 -0
  104. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/resample/results.py +0 -0
  105. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/resample/simulate.py +0 -0
  106. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/resample_bundle.py +0 -0
  107. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/satterthwaite_emm.py +0 -0
  108. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/infer/simulation.py +0 -0
  109. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/__init__.py +0 -0
  110. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/bracket_contrasts.py +0 -0
  111. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/compute.py +0 -0
  112. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/conditions.py +0 -0
  113. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/contrasts.py +0 -0
  114. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/explore.py +0 -0
  115. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/explore_parser.py +0 -0
  116. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/explore_scanner.py +0 -0
  117. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/factors.py +0 -0
  118. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/grid.py +0 -0
  119. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/inference.py +0 -0
  120. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/joint_tests.py +0 -0
  121. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/matrices.py +0 -0
  122. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/resolve.py +0 -0
  123. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/slopes.py +0 -0
  124. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/transforms.py +0 -0
  125. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/marginal/validation.py +0 -0
  126. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/__init__.py +0 -0
  127. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/backend/__init__.py +0 -0
  128. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/backend/dispatch.py +0 -0
  129. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/backend/jax.py +0 -0
  130. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/backend/numpy.py +0 -0
  131. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/backend/protocol.py +0 -0
  132. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/batching.py +0 -0
  133. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/config.py +0 -0
  134. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/convergence.py +0 -0
  135. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/differentiation.py +0 -0
  136. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/distributions/__init__.py +0 -0
  137. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/distributions/algebra.py +0 -0
  138. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/distributions/base.py +0 -0
  139. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/distributions/core.py +0 -0
  140. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/distributions/derived.py +0 -0
  141. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/distributions/factories.py +0 -0
  142. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/distributions/plotting.py +0 -0
  143. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/distributions/probability.py +0 -0
  144. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/__init__.py +0 -0
  145. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/binomial.py +0 -0
  146. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/create.py +0 -0
  147. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/gamma.py +0 -0
  148. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/gaussian.py +0 -0
  149. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/links.py +0 -0
  150. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/poisson.py +0 -0
  151. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/response.py +0 -0
  152. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/schema.py +0 -0
  153. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/family/tdist.py +0 -0
  154. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/__init__.py +0 -0
  155. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/diagnostics.py +0 -0
  156. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/estimation.py +0 -0
  157. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/hypothesis.py +0 -0
  158. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/information_criteria.py +0 -0
  159. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/multiplicity.py +0 -0
  160. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/profile.py +0 -0
  161. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/sandwich.py +0 -0
  162. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/satterthwaite.py +0 -0
  163. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/wald_variance.py +0 -0
  164. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/inference/welch.py +0 -0
  165. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/linalg/__init__.py +0 -0
  166. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/linalg/qr.py +0 -0
  167. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/linalg/rank.py +0 -0
  168. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/linalg/schur.py +0 -0
  169. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/linalg/sparse.py +0 -0
  170. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/linalg/svd.py +0 -0
  171. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/predict.py +0 -0
  172. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/rng.py +0 -0
  173. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/rounding.py +0 -0
  174. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/__init__.py +0 -0
  175. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/glm.py +0 -0
  176. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/glmer.py +0 -0
  177. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/heuristics.py +0 -0
  178. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/initialization.py +0 -0
  179. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/lambda_builder.py +0 -0
  180. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/lambda_sparse.py +0 -0
  181. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/lambda_template.py +0 -0
  182. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/lmer.py +0 -0
  183. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/optimize.py +0 -0
  184. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/pirls_sparse.py +0 -0
  185. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/solvers/quadrature.py +0 -0
  186. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/tolerances.py +0 -0
  187. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/transforms.py +0 -0
  188. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/variance.py +0 -0
  189. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/maths/weights.py +0 -0
  190. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/rendering/__init__.py +0 -0
  191. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/rendering/latex.py +0 -0
  192. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/rendering/markdown.py +0 -0
  193. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/__init__.py +0 -0
  194. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/dgp/__init__.py +0 -0
  195. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/dgp/generate.py +0 -0
  196. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/dgp/glm.py +0 -0
  197. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/dgp/glmer.py +0 -0
  198. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/dgp/lm.py +0 -0
  199. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/dgp/lmer.py +0 -0
  200. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/harness.py +0 -0
  201. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/metrics.py +0 -0
  202. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/model_sim.py +0 -0
  203. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/simulation/power.py +0 -0
  204. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/README.md +0 -0
  205. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/__init__.py +0 -0
  206. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/cognition.py +0 -0
  207. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/compare.py +0 -0
  208. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/core.py +0 -0
  209. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/core_data.py +0 -0
  210. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/core_protocols.py +0 -0
  211. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/core_sizing.py +0 -0
  212. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/core_viz.py +0 -0
  213. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/dag.py +0 -0
  214. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/design.py +0 -0
  215. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/fit.py +0 -0
  216. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/fit_builders.py +0 -0
  217. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/fit_layers.py +0 -0
  218. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/helpers.py +0 -0
  219. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/lattice.py +0 -0
  220. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/layout.py +0 -0
  221. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/mem.py +0 -0
  222. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/mem_forest.py +0 -0
  223. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/params.py +0 -0
  224. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/predict.py +0 -0
  225. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/profile.py +0 -0
  226. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/ranef.py +0 -0
  227. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/relationships.py +0 -0
  228. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/resamples.py +0 -0
  229. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/resid.py +0 -0
  230. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/internal/viz/vif.py +0 -0
  231. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/model/__init__.py +0 -0
  232. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/model/core.py +0 -0
  233. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/model/guards.py +0 -0
  234. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/model/result.py +0 -0
  235. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/model/summary.py +0 -0
  236. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/bossanova/py.typed +0 -0
  237. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/tests/bossanova_benchmarks/bootstrap/data/README.md +0 -0
  238. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/tests/bossanova_benchmarks/insteval/data/README.md +0 -0
  239. {bossanova-0.1.0.dev22 → bossanova-0.1.0.dev23}/tests/bossanova_tests/hypothesis/README.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bossanova
3
- Version: 0.1.0.dev22
3
+ Version: 0.1.0.dev23
4
4
  Summary: Bridging statistical cultures with some jazz
5
5
  Author: Eshin Jolly
6
6
  License-Expression: MIT
@@ -653,8 +653,24 @@ def _compute_emm_crossed_mem(
653
653
  L_matrix = d[:, np.newaxis] * X_ref
654
654
 
655
655
  grid = pl.DataFrame(grid_data)
656
- if grid_vars:
657
- grid = grid.select(grid_vars + [c for c in grid.columns if c not in grid_vars])
656
+
657
+ # Add scalar-pinned conditions as constant columns (set_categoricals
658
+ # and at_overrides are applied to the design matrix but must also
659
+ # appear in the output grid so users can see the pinned values).
660
+ if resolved.set_categoricals:
661
+ for cond_var, cond_level in resolved.set_categoricals.items():
662
+ if cond_var not in grid.columns:
663
+ grid = grid.with_columns(pl.lit(cond_level).alias(cond_var))
664
+ if resolved.at_overrides:
665
+ for cond_var, cond_val in resolved.at_overrides.items():
666
+ if cond_var not in grid.columns:
667
+ grid = grid.with_columns(pl.lit(cond_val).alias(cond_var))
668
+
669
+ # Reorder: grid_vars + pinned conditions first, then focal
670
+ pin_cols = list(resolved.set_categoricals) + list(resolved.at_overrides)
671
+ leading = grid_vars + [c for c in pin_cols if c not in grid_vars]
672
+ if leading:
673
+ grid = grid.select(leading + [c for c in grid.columns if c not in leading])
658
674
 
659
675
  cond_str = " ~ " + ", ".join(grid_vars) if grid_vars else ""
660
676
  return build_mee_state(
@@ -770,8 +786,21 @@ def _compute_emm_crossed_gcomp(
770
786
  L_matrix = np.einsum("mnp,mn->mp", X_all, d_all) / X_all.shape[1] # (C*K, p)
771
787
 
772
788
  grid = pl.DataFrame(grid_data)
773
- if grid_vars:
774
- grid = grid.select(grid_vars + [c for c in grid.columns if c not in grid_vars])
789
+
790
+ # Add scalar-pinned conditions as constant columns (mirrors MEM path)
791
+ if resolved.set_categoricals:
792
+ for cond_var, cond_level in resolved.set_categoricals.items():
793
+ if cond_var not in grid.columns:
794
+ grid = grid.with_columns(pl.lit(cond_level).alias(cond_var))
795
+ if resolved.at_overrides:
796
+ for cond_var, cond_val in resolved.at_overrides.items():
797
+ if cond_var not in grid.columns:
798
+ grid = grid.with_columns(pl.lit(cond_val).alias(cond_var))
799
+
800
+ pin_cols = list(resolved.set_categoricals) + list(resolved.at_overrides)
801
+ leading = grid_vars + [c for c in pin_cols if c not in grid_vars]
802
+ if leading:
803
+ grid = grid.select(leading + [c for c in grid.columns if c not in leading])
775
804
 
776
805
  cond_str = " ~ " + ", ".join(grid_vars) if grid_vars else ""
777
806
  return build_mee_state(
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "bossanova"
3
3
  requires-python = ">=3.11"
4
- version = "0.1.0.dev22"
4
+ version = "0.1.0.dev23"
5
5
  authors = [
6
6
  {name = "Eshin Jolly"},
7
7
  ]
File without changes