eryn 1.2.5__tar.gz → 1.2.6__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 (39) hide show
  1. {eryn-1.2.5 → eryn-1.2.6}/PKG-INFO +7 -15
  2. {eryn-1.2.5 → eryn-1.2.6}/README.md +1 -12
  3. {eryn-1.2.5 → eryn-1.2.6}/pyproject.toml +6 -3
  4. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/ensemble.py +7 -10
  5. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/utils/__init__.py +1 -1
  6. eryn-1.2.6/src/eryn/utils/plot.py +1393 -0
  7. eryn-1.2.6/src/eryn/utils/updates.py +175 -0
  8. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/utils/utility.py +1 -1
  9. eryn-1.2.5/src/eryn/utils/updates.py +0 -69
  10. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/CMakeLists.txt +0 -0
  11. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/__init__.py +0 -0
  12. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/backends/__init__.py +0 -0
  13. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/backends/backend.py +0 -0
  14. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/backends/hdfbackend.py +0 -0
  15. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/git_version.py.in +0 -0
  16. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/model.py +0 -0
  17. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/__init__.py +0 -0
  18. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/combine.py +0 -0
  19. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/delayedrejection.py +0 -0
  20. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/distgen.py +0 -0
  21. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/distgenrj.py +0 -0
  22. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/gaussian.py +0 -0
  23. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/group.py +0 -0
  24. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/groupstretch.py +0 -0
  25. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/mh.py +0 -0
  26. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/move.py +0 -0
  27. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/mtdistgen.py +0 -0
  28. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/mtdistgenrj.py +0 -0
  29. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/multipletry.py +0 -0
  30. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/red_blue.py +0 -0
  31. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/rj.py +0 -0
  32. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/stretch.py +0 -0
  33. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/moves/tempering.py +0 -0
  34. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/pbar.py +0 -0
  35. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/prior.py +0 -0
  36. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/state.py +0 -0
  37. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/utils/periodic.py +0 -0
  38. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/utils/stopping.py +0 -0
  39. {eryn-1.2.5 → eryn-1.2.6}/src/eryn/utils/transform.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: eryn
3
- Version: 1.2.5
3
+ Version: 1.2.6
4
4
  Summary: Eryn: an omni-MCMC sampling package.
5
5
  Author: Michael Katz
6
6
  Author-email: Michael Katz <mikekatz04@gmail.com>
@@ -9,7 +9,6 @@ Classifier: Natural Language :: English
9
9
  Classifier: Programming Language :: C++
10
10
  Classifier: Programming Language :: Cython
11
11
  Classifier: Programming Language :: Python :: 3 :: Only
12
- Classifier: Programming Language :: Python :: 3.9
13
12
  Classifier: Programming Language :: Python :: 3.10
14
13
  Classifier: Programming Language :: Python :: 3.11
15
14
  Classifier: Programming Language :: Python :: 3.12
@@ -19,6 +18,9 @@ Requires-Dist: h5py
19
18
  Requires-Dist: jsonschema
20
19
  Requires-Dist: matplotlib
21
20
  Requires-Dist: numpy
21
+ Requires-Dist: pandas
22
+ Requires-Dist: corner
23
+ Requires-Dist: seaborn
22
24
  Requires-Dist: nvidia-ml-py
23
25
  Requires-Dist: platformdirs
24
26
  Requires-Dist: pydantic
@@ -41,7 +43,8 @@ Requires-Dist: corner ; extra == 'doc'
41
43
  Requires-Dist: matplotlib ; extra == 'testing'
42
44
  Requires-Dist: corner ; extra == 'testing'
43
45
  Requires-Dist: chainconsumer ; extra == 'testing'
44
- Requires-Python: >=3.9
46
+ Requires-Dist: scienceplots ; extra == 'testing'
47
+ Requires-Python: >=3.10
45
48
  Provides-Extra: doc
46
49
  Provides-Extra: testing
47
50
  Description-Content-Type: text/markdown
@@ -90,7 +93,7 @@ python -m unittest discover
90
93
 
91
94
  ## Contributing
92
95
 
93
- Please read [CONTRIBUTING.md](CONTRIBUTING) for details on our code of conduct, and the process for submitting pull requests to us.
96
+ Please read [CONTRIBUTING](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. See [CONTRIBUTORS](CONTRIBUTORS.md) for those that have authored code for and contributed to Eryn.
94
97
 
95
98
  ## Versioning
96
99
 
@@ -146,17 +149,6 @@ archivePrefix = {arXiv},
146
149
 
147
150
  Depending on which proposals are used, you may be required to cite more sources. Please make sure you do this properly.
148
151
 
149
- ## Authors
150
-
151
- * **Michael Katz**
152
- * Nikos Karnesis
153
- * Natalia Korsakova
154
- * Jonathan Gair
155
-
156
- ### Contibutors
157
-
158
- * Maybe you!
159
-
160
152
  ## License
161
153
 
162
154
  This project is licensed under the GNU License - see the [LICENSE.md](LICENSE) file for details.
@@ -42,7 +42,7 @@ python -m unittest discover
42
42
 
43
43
  ## Contributing
44
44
 
45
- Please read [CONTRIBUTING.md](CONTRIBUTING) for details on our code of conduct, and the process for submitting pull requests to us.
45
+ Please read [CONTRIBUTING](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us. See [CONTRIBUTORS](CONTRIBUTORS.md) for those that have authored code for and contributed to Eryn.
46
46
 
47
47
  ## Versioning
48
48
 
@@ -98,17 +98,6 @@ archivePrefix = {arXiv},
98
98
 
99
99
  Depending on which proposals are used, you may be required to cite more sources. Please make sure you do this properly.
100
100
 
101
- ## Authors
102
-
103
- * **Michael Katz**
104
- * Nikos Karnesis
105
- * Natalia Korsakova
106
- * Jonathan Gair
107
-
108
- ### Contibutors
109
-
110
- * Maybe you!
111
-
112
101
  ## License
113
102
 
114
103
  This project is licensed under the GNU License - see the [LICENSE.md](LICENSE) file for details.
@@ -8,7 +8,7 @@ requires = [
8
8
  [project]
9
9
  name = "eryn" #@NAMESUFFIX@
10
10
 
11
- version = "1.2.5"
11
+ version = "1.2.6"
12
12
 
13
13
  description = "Eryn: an omni-MCMC sampling package."
14
14
 
@@ -17,7 +17,7 @@ readme = "README.md"
17
17
  authors = [
18
18
  { name = "Michael Katz", email = "mikekatz04@gmail.com" },
19
19
  ]
20
- requires-python = ">=3.9"
20
+ requires-python = ">=3.10"
21
21
 
22
22
  classifiers = [
23
23
  "License :: OSI Approved :: Apache Software License",
@@ -25,7 +25,6 @@ classifiers = [
25
25
  "Programming Language :: C++",
26
26
  "Programming Language :: Cython",
27
27
  "Programming Language :: Python :: 3 :: Only",
28
- "Programming Language :: Python :: 3.9",
29
28
  "Programming Language :: Python :: 3.10",
30
29
  "Programming Language :: Python :: 3.11",
31
30
  "Programming Language :: Python :: 3.12",
@@ -38,6 +37,9 @@ dependencies = [
38
37
  "jsonschema", # To validate content of file registry
39
38
  "matplotlib",
40
39
  "numpy",
40
+ "pandas",
41
+ "corner",
42
+ "seaborn", # for runtime plots
41
43
  "nvidia-ml-py", # To detect CUDA version if any
42
44
  "platformdirs", # To locate config and data dir on all platforms
43
45
  "pydantic", # To handle citations and references with advanced dataclasses
@@ -68,6 +70,7 @@ optional-dependencies.testing = [
68
70
  "matplotlib",
69
71
  "corner",
70
72
  "chainconsumer",
73
+ "scienceplots", # for runtime plots
71
74
  ]
72
75
 
73
76
  [tool.pyproject-fmt]
@@ -13,7 +13,7 @@ from .pbar import get_progress_bar
13
13
  from .state import State
14
14
  from .prior import ProbDistContainer
15
15
 
16
- # from .utils import PlotContainer
16
+ from .utils import PlotContainer
17
17
  from .utils import PeriodicContainer
18
18
  from .utils.utility import groups_from_inds
19
19
 
@@ -233,7 +233,7 @@ class EnsembleSampler(object):
233
233
  blobs_dtype=None, # TODO check this
234
234
  plot_iterations=-1, # TODO: do plot stuff?
235
235
  plot_generator=None,
236
- plot_name=None,
236
+ plot_folder=None,
237
237
  periodic=None,
238
238
  update_fn=None,
239
239
  update_iterations=-1,
@@ -662,18 +662,15 @@ class EnsembleSampler(object):
662
662
  self.plot_iterations = plot_iterations
663
663
 
664
664
  if plot_generator is None and self.plot_iterations > 0:
665
- raise NotImplementedError
666
665
  # set to default if not provided
667
- if plot_name is not None:
668
- name = plot_name
669
- else:
670
- name = "output"
666
+ if plot_folder is None:
667
+ plot_folder = "./runtime_plots"
671
668
  self.plot_generator = PlotContainer(
672
- fp=name, backend=self.backend, thin_chain_by_ac=True
669
+ backend=self.backend, plots=['base', 'rj'], parent_folder=plot_folder, discard=0.2
673
670
  )
674
671
  elif self.plot_iterations > 0:
675
- raise NotImplementedError
676
672
  self.plot_generator = plot_generator
673
+ self.plot_generator.backend = self.backend # make sure backend is correctly set
677
674
 
678
675
  # prepare stopping functions
679
676
  self.stopping_fn = stopping_fn
@@ -1107,7 +1104,7 @@ class EnsembleSampler(object):
1107
1104
  # diagnostic plots
1108
1105
  # TODO: adjust diagnostic plots
1109
1106
  if self.plot_iterations > 0 and (i + 1) % (self.plot_iterations) == 0:
1110
- self.plot_generator.generate_plot_info() # TODO: remove defaults
1107
+ self.plot_generator.produce_plots(sampler=self) # TODO: remove defaults
1111
1108
 
1112
1109
  # check for stopping before updating
1113
1110
  if (
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
- # from .plot import PlotContainer
3
+ from .plot import PlotContainer
4
4
  from .utility import *
5
5
  from .periodic import *
6
6
  from .transform import *