SearchLibrium 0.0.98__tar.gz → 0.0.100__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 (51) hide show
  1. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/PKG-INFO +1 -1
  2. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/pyproject.toml +1 -1
  3. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/Halton.py +3 -3
  4. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/MixedLogit.py +4 -2
  5. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/__init__.py +8 -8
  6. searchlibrium-0.0.100/src/SearchLibrium/version.txt +1 -0
  7. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium.egg-info/PKG-INFO +1 -1
  8. searchlibrium-0.0.98/src/SearchLibrium/version.txt +0 -1
  9. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/README.md +0 -0
  10. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/setup.cfg +0 -0
  11. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/Mode_Activity_Nested.py +0 -0
  12. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/RandomP.py +0 -0
  13. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/SEARCH_SM_MARIO.py +0 -0
  14. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/Two_Level_Nest.py +0 -0
  15. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/__main__.py +0 -0
  16. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/_choice_model.py +0 -0
  17. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/_device.py +0 -0
  18. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/banditsa.py +0 -0
  19. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/bhhh/minimize.py +0 -0
  20. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/boxcox_functions.py +0 -0
  21. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/call_meta.py +0 -0
  22. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/constraints_builder.py +0 -0
  23. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/harmony.py +0 -0
  24. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/latent_class.py +0 -0
  25. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/main.py +0 -0
  26. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/main_debug.py +0 -0
  27. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/mdcev.py +0 -0
  28. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/misc.py +0 -0
  29. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/mixed_logit.py +0 -0
  30. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/mixed_nested.py +0 -0
  31. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/mixedrrm.py +0 -0
  32. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/multinomial_logit.py +0 -0
  33. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/multinomial_nested.py +0 -0
  34. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/multinomial_probit.py +0 -0
  35. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/ordered_logit.py +0 -0
  36. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/ordered_logit_mixed.py +0 -0
  37. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/rrm.py +0 -0
  38. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/sapbil.py +0 -0
  39. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/search.py +0 -0
  40. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/selection_models.py +0 -0
  41. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/setup.py +0 -0
  42. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/siman.py +0 -0
  43. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/test_lc_de.py +0 -0
  44. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/test_mario_searches.py +0 -0
  45. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/test_sapbil_vs_banditsa.py +0 -0
  46. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium/threshold.py +0 -0
  47. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium.egg-info/SOURCES.txt +0 -0
  48. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium.egg-info/dependency_links.txt +0 -0
  49. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium.egg-info/entry_points.txt +0 -0
  50. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium.egg-info/requires.txt +0 -0
  51. {searchlibrium-0.0.98 → searchlibrium-0.0.100}/src/SearchLibrium.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SearchLibrium
3
- Version: 0.0.98
3
+ Version: 0.0.100
4
4
  Summary: A Python package for econometric models driven by search
5
5
  Author: Alexander Paz Prithvi Beeramole, Robert Burdett
6
6
  Author-email: Zeke Ahern <z.ahern@qut.edu.au>
@@ -60,7 +60,7 @@ Homepage = "https://github.com/zahern/HypothesisX"
60
60
  realpython = "SearchLibrium.__main__:main"
61
61
 
62
62
  [tool.bumpver]
63
- current_version = "0.0.98"
63
+ current_version = "0.0.100"
64
64
  version_pattern = "MAJOR.MINOR.PATCH"
65
65
  commit_message = "[skip ci] Bump version {old_version} -> {new_version}"
66
66
  commit = true
@@ -141,10 +141,10 @@ def _sobol_generate(sample_size, n_draws, n_vars, shuffled=False):
141
141
 
142
142
 
143
143
  class Draws:
144
- """Generate random or quasi-Monte Carlo draws using Halton or Sobol sequences.
144
+ """Generate random or quasi-Monte Carlo draws using Sobol or Halton sequences.
145
145
 
146
- By default uses traditional Halton sequences for compatibility with searchlogit.
147
- Pass halton_opts={'use_sobol': True} to use Sobol sequences instead.
146
+ By default uses scrambled Sobol sequences (better low-discrepancy properties).
147
+ Pass halton_opts={'use_sobol': False} to revert to traditional Halton sequences.
148
148
  """
149
149
 
150
150
  def __init__(self, k=0, halton_opts=None, rvdist=None, rvtransdist=None):
@@ -189,10 +189,12 @@ class MixedLogit(DiscreteChoiceModel):
189
189
  self.batch_size = min(n_draws, batch_size) if batch_size is not None else n_draws
190
190
  self.halton_opts = halton_opts # Store halton options for draw generation
191
191
 
192
- # CRITICAL FIX: Recreate draws_generator with proper halton_opts
192
+ # CRITICAL FIX: Recreate draws_generator with proper halton_opts AND rvdist
193
193
  # The __init__ creates it with halton_opts=None, but setup() gets the actual options
194
194
  # Must recreate here to ensure Sobol/Halton configuration is properly applied
195
- self.draws_generator = Draws(k=len(randvars or {}), halton_opts=halton_opts)
195
+ # AND to pass the correct random variable distributions (e.g., 'ln' for lognormal)
196
+ rvdist = list(randvars.values()) if randvars else []
197
+ self.draws_generator = Draws(k=len(randvars or {}), halton_opts=halton_opts, rvdist=rvdist)
196
198
 
197
199
  self.randvarsdict = randvars # random variables not transformed
198
200
 
@@ -46,14 +46,14 @@ def new_features():
46
46
 
47
47
  Returns:
48
48
  Dict with keys:
49
- ps_nest_vars variables always included in nests
50
- ps_alt_vars alternative optional variables
51
- force_include variables that must always be included
52
- force_exclude variables that must never be included
53
- force_random dict of variables that must have random parameters with distributions
54
- never_random variables that must never have random parameters
55
- latent_class_constraints constraints for latent class models
56
- mixed_model_constraints constraints for mixed models
49
+ ps_nest_vars: variables always included in nests
50
+ ps_alt_vars: alternative optional variables
51
+ force_include -> variables that must always be included
52
+ force_exclude -> variables that must never be included
53
+ force_random -> dict of variables that must have random parameters with distributions
54
+ never_random -> variables that must never have random parameters
55
+ latent_class_constraints -> constraints for latent class models
56
+ mixed_model_constraints -> constraints for mixed models
57
57
 
58
58
  Example usage:
59
59
  from yourpackage import new_features
@@ -0,0 +1 @@
1
+ 0.0.100
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: SearchLibrium
3
- Version: 0.0.98
3
+ Version: 0.0.100
4
4
  Summary: A Python package for econometric models driven by search
5
5
  Author: Alexander Paz Prithvi Beeramole, Robert Burdett
6
6
  Author-email: Zeke Ahern <z.ahern@qut.edu.au>
@@ -1 +0,0 @@
1
- 0.0.98