dapper 1.4.0__tar.gz → 1.5.0__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.
- {dapper-1.4.0 → dapper-1.5.0}/PKG-INFO +4 -3
- {dapper-1.4.0 → dapper-1.5.0}/README.md +2 -2
- {dapper-1.4.0 → dapper-1.5.0}/dapper/__init__.py +1 -1
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/liveplotting.py +1 -10
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/remote/autoscaler.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/series.py +6 -5
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/viz.py +1 -1
- {dapper-1.4.0 → dapper-1.5.0}/dapper/xp_process.py +2 -1
- {dapper-1.4.0 → dapper-1.5.0}/dapper.egg-info/PKG-INFO +4 -3
- {dapper-1.4.0 → dapper-1.5.0}/dapper.egg-info/requires.txt +10 -5
- {dapper-1.4.0 → dapper-1.5.0}/examples/basic_1.py +1 -0
- {dapper-1.4.0 → dapper-1.5.0}/setup.py +10 -8
- {dapper-1.4.0 → dapper-1.5.0}/LICENCE.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/README.md +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/da_methods/README.md +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/da_methods/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/da_methods/baseline.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/da_methods/ensemble.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/da_methods/extended.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/da_methods/other.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/da_methods/particle.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/da_methods/variational.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/dpr_config.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/dpr_config.yaml +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/DoublePendulum/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/DoublePendulum/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/DoublePendulum/settings101.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Id/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Ikeda/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Ikeda/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Ikeda/some_settings_01.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/KS/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/KS/bocquet2019.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/KS/compare_schemes.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/KS/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LA/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LA/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LA/evensen2009.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LA/raanes2015.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LA/small.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz05/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz05/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz05/settings01.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz63/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz63/anderson2010rhf.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz63/bocquet2012.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz63/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz63/extras.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz63/mandel2016.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz63/sakov2012.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz63/wiljes2017.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz84/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz84/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz84/harder.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz84/pajonk2012.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/anderson2009.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/bocquet2010.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/bocquet2010_m40.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/bocquet2015loc.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/extras.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/frei2013bridging.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/hoteit2015.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/miyoshi2011.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/pinheiro2019.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/raanes2016.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/sakov2008.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/spectral_obs.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/todter2015.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96/todter2015_G.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96s/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/Lorenz96s/grudzien2020.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LorenzUV/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LorenzUV/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LorenzUV/illust_LorenzUV.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LorenzUV/illust_parameterizations.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LorenzUV/lorenz96.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LorenzUV/wilks05.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LotkaVolterra/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LotkaVolterra/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/LotkaVolterra/settings101.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/counillon2009.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/Makefile +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/README.md +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/calc.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/data.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/helmholtz.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/interface.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/nfw.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/parameters.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/prms_cou09_ens.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/prms_cou09_truth.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/prms_counillon2009_ens.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/prms_counillon2009_truth.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/prms_sak08.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/prms_sakov2008.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/prms_sample_generation.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/prms_test_model.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/qg.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/qgflux.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/qgstep.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/f90/utils.f90 +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/governing_eqn.png +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/illust_obs.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/QG/sakov2008.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/README.md +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/VL20/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/VL20/demo.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/explore_props.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/integration.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/mods/utils.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/stats.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/chronos.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/colors.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/datafiles.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/linalg.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/localization.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/matrices.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/multiproc.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/progressbar.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/randvars.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/remote/README.md +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/remote/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/remote/uplink.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/rounding.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/tools/seeding.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper/xp_launch.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper.egg-info/SOURCES.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper.egg-info/dependency_links.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/dapper.egg-info/top_level.txt +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/examples/basic_2.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/pyproject.toml +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/setup.cfg +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/__init__.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_HMMs.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_TLMs.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_data.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_demos.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_example_2.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_iEnKS.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_localization.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_matrices.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_operator.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_plotting.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_printing.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_randvars.py +0 -0
- {dapper-1.4.0 → dapper-1.5.0}/tests/test_round2.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dapper
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.5.0
|
|
4
4
|
Summary: DAPPER benchmarks the performance of data assimilation (DA) methods.
|
|
5
5
|
Author: Patrick N. Raanes
|
|
6
6
|
Author-email: patrick.n.raanes@gmail.com
|
|
@@ -14,13 +14,14 @@ Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
|
15
15
|
Classifier: License :: OSI Approved :: MIT License
|
|
16
16
|
Classifier: Operating System :: OS Independent
|
|
17
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
Provides-Extra: Qt
|
|
20
|
-
Provides-Extra:
|
|
20
|
+
Provides-Extra: debug
|
|
21
21
|
Provides-Extra: test
|
|
22
22
|
Provides-Extra: lint
|
|
23
23
|
Provides-Extra: build
|
|
24
|
+
Provides-Extra: dev
|
|
24
25
|
License-File: LICENCE.txt
|
|
25
26
|
|
|
26
27
|
It is usually best to install from source (github),
|
|
@@ -91,7 +91,7 @@ Also see its [drawbacks](#similar-projects).
|
|
|
91
91
|
|
|
92
92
|
Successfully tested on Linux/Mac/Windows.
|
|
93
93
|
|
|
94
|
-
### Prerequisite: Python>=3.
|
|
94
|
+
### Prerequisite: Python>=3.9
|
|
95
95
|
|
|
96
96
|
If you're an expert, setup a python environment however you like.
|
|
97
97
|
Otherwise:
|
|
@@ -105,7 +105,7 @@ conda activate dapper-env
|
|
|
105
105
|
python --version
|
|
106
106
|
```
|
|
107
107
|
|
|
108
|
-
Ensure the printed version is 3.
|
|
108
|
+
Ensure the printed version is 3.9 or more.
|
|
109
109
|
*Keep using the same terminal for the commands below.*
|
|
110
110
|
|
|
111
111
|
### Install
|
|
@@ -21,7 +21,6 @@ argument of the `HMM.liveplotter` and default liveplotters defined in this modul
|
|
|
21
21
|
is the name of the corresponding liveplotting classes/functions.
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
|
-
import matplotlib as mpl
|
|
25
24
|
import numpy as np
|
|
26
25
|
import scipy.linalg as sla
|
|
27
26
|
from matplotlib import pyplot as plt
|
|
@@ -579,17 +578,9 @@ class correlations:
|
|
|
579
578
|
if Nx <= 1003:
|
|
580
579
|
C = np.eye(Nx)
|
|
581
580
|
# Mask half
|
|
582
|
-
mask = np.zeros_like(C, dtype=
|
|
581
|
+
mask = np.zeros_like(C, dtype=bool)
|
|
583
582
|
mask[np.tril_indices_from(mask)] = True
|
|
584
|
-
# Make colormap. Log-transform cmap,
|
|
585
|
-
# but not internally in matplotlib,
|
|
586
|
-
# so as to avoid transforming the colorbar too.
|
|
587
583
|
cmap = plt.get_cmap('RdBu_r')
|
|
588
|
-
trfm = mpl.colors.SymLogNorm(linthresh=0.2, linscale=0.2,
|
|
589
|
-
base=np.e, vmin=-1, vmax=1)
|
|
590
|
-
cmap = cmap(trfm(np.linspace(-0.6, 0.6, cmap.N)))
|
|
591
|
-
cmap = mpl.colors.ListedColormap(cmap)
|
|
592
|
-
#
|
|
593
584
|
VM = 1.0 # abs(np.percentile(C,[1,99])).max()
|
|
594
585
|
im = ax.imshow(C, cmap=cmap, vmin=-VM, vmax=VM)
|
|
595
586
|
# Colorbar
|
|
File without changes
|
|
@@ -215,14 +215,15 @@ class FAUSt(DataSeries, StatPrint):
|
|
|
215
215
|
- `store_u` : if False: only the current value is stored.
|
|
216
216
|
- `kwargs` : passed on to ndarrays.
|
|
217
217
|
"""
|
|
218
|
-
|
|
219
|
-
self.
|
|
218
|
+
fill_value = -99 if kwargs.get("dtype", None) is int else nan
|
|
219
|
+
self.f = np.full((Ko+1,)+item_shape, fill_value, **kwargs)
|
|
220
|
+
self.a = np.full((Ko+1,)+item_shape, fill_value, **kwargs)
|
|
220
221
|
if store_s:
|
|
221
|
-
self.s = np.full((Ko+1,)+item_shape,
|
|
222
|
+
self.s = np.full((Ko+1,)+item_shape, fill_value, **kwargs)
|
|
222
223
|
if store_u:
|
|
223
|
-
self.u = np.full((K + 1,)+item_shape,
|
|
224
|
+
self.u = np.full((K + 1,)+item_shape, fill_value, **kwargs)
|
|
224
225
|
else:
|
|
225
|
-
self.u = np.full((1,)+item_shape,
|
|
226
|
+
self.u = np.full((1,)+item_shape, fill_value, **kwargs)
|
|
226
227
|
|
|
227
228
|
# We could just store the input values for these attrs, but using
|
|
228
229
|
# property => Won't be listed in vars(self), and un-writeable.
|
|
@@ -463,7 +463,7 @@ def plot_rank_histogram(stats):
|
|
|
463
463
|
|
|
464
464
|
has_been_computed = \
|
|
465
465
|
hasattr(stats, 'rh') and \
|
|
466
|
-
not all(stats.rh.a[-1] == array(
|
|
466
|
+
not all(stats.rh.a[-1] == array(-99))
|
|
467
467
|
|
|
468
468
|
fig, ax = place.freshfig("Rank histogram", figsize=(6, 3))
|
|
469
469
|
ax.set_title('(Mean of marginal) rank histogram (_a)')
|
|
@@ -52,7 +52,8 @@ class SparseSpace(dict):
|
|
|
52
52
|
The most important method is `nest`,
|
|
53
53
|
which is used (by `xpSpace.table_tree`) to print and plot results.
|
|
54
54
|
This is essentially a "groupby" operation, and indeed the case could
|
|
55
|
-
be made that this class should be replaced by `pandas.DataFrame
|
|
55
|
+
be made that this class should be replaced by `pandas.DataFrame`,
|
|
56
|
+
or better yet: <https://github.com/pydata/xarray>.
|
|
56
57
|
|
|
57
58
|
The `__getitem__` is quite flexible, allowing accessing by:
|
|
58
59
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dapper
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.5.0
|
|
4
4
|
Summary: DAPPER benchmarks the performance of data assimilation (DA) methods.
|
|
5
5
|
Author: Patrick N. Raanes
|
|
6
6
|
Author-email: patrick.n.raanes@gmail.com
|
|
@@ -14,13 +14,14 @@ Classifier: Topic :: Scientific/Engineering :: Mathematics
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
|
15
15
|
Classifier: License :: OSI Approved :: MIT License
|
|
16
16
|
Classifier: Operating System :: OS Independent
|
|
17
|
-
Requires-Python: >=3.
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
Provides-Extra: Qt
|
|
20
|
-
Provides-Extra:
|
|
20
|
+
Provides-Extra: debug
|
|
21
21
|
Provides-Extra: test
|
|
22
22
|
Provides-Extra: lint
|
|
23
23
|
Provides-Extra: build
|
|
24
|
+
Provides-Extra: dev
|
|
24
25
|
License-File: LICENCE.txt
|
|
25
26
|
|
|
26
27
|
It is usually best to install from source (github),
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
scipy>=1.
|
|
2
|
-
ipython>=5.1
|
|
3
|
-
jedi<0.18
|
|
1
|
+
scipy>=1.10
|
|
4
2
|
jupyter
|
|
5
|
-
|
|
3
|
+
ipdb
|
|
4
|
+
ipython>=5.1
|
|
5
|
+
tornado==6.1
|
|
6
|
+
matplotlib~=3.7
|
|
6
7
|
mpl-tools==0.2.50
|
|
7
8
|
tqdm~=4.31
|
|
8
9
|
pyyaml
|
|
9
|
-
ipdb
|
|
10
10
|
colorama~=0.4.1
|
|
11
11
|
tabulate~=0.8.3
|
|
12
12
|
dill==0.3.2
|
|
@@ -24,6 +24,11 @@ twine
|
|
|
24
24
|
pdoc
|
|
25
25
|
jupytext
|
|
26
26
|
|
|
27
|
+
[debug]
|
|
28
|
+
line_profiler
|
|
29
|
+
pre-commit
|
|
30
|
+
pdbpp>=0.10.3
|
|
31
|
+
|
|
27
32
|
[dev]
|
|
28
33
|
line_profiler
|
|
29
34
|
pre-commit
|
|
@@ -17,16 +17,18 @@ from setuptools import find_packages, setup
|
|
|
17
17
|
DOCLINES = __doc__.split('\n')
|
|
18
18
|
|
|
19
19
|
# Dependencies
|
|
20
|
+
# Why pin?: https://github.com/nansencenter/DAPPER/issues/41#issuecomment-1381616971
|
|
20
21
|
INSTALL_REQUIRES = [
|
|
21
|
-
'scipy>=1.
|
|
22
|
-
'ipython>=5.1',
|
|
23
|
-
'jedi<0.18', # ipython/issues/12740
|
|
22
|
+
'scipy>=1.10',
|
|
24
23
|
'jupyter',
|
|
25
|
-
'
|
|
24
|
+
'ipdb',
|
|
25
|
+
'ipython>=5.1',
|
|
26
|
+
# 'jedi<0.18', # ipython/issues/12740
|
|
27
|
+
'tornado==6.1', # 6.2 breaks Jupyter plots (tested on Mac, Linux)
|
|
28
|
+
'matplotlib~=3.7',
|
|
26
29
|
'mpl-tools==0.2.50',
|
|
27
30
|
'tqdm~=4.31',
|
|
28
31
|
'pyyaml',
|
|
29
|
-
'ipdb',
|
|
30
32
|
'colorama~=0.4.1',
|
|
31
33
|
'tabulate~=0.8.3',
|
|
32
34
|
'dill==0.3.2', # >=0.3.1.1 for dataclass. Pin vers. to equal GCP.
|
|
@@ -39,7 +41,7 @@ INSTALL_REQUIRES = [
|
|
|
39
41
|
|
|
40
42
|
EXTRAS = {
|
|
41
43
|
'Qt': ['PyQt5', 'qtpy'],
|
|
42
|
-
'
|
|
44
|
+
'debug': ['line_profiler', 'pre-commit', 'pdbpp>=0.10.3'],
|
|
43
45
|
'test': ['tox', 'coverage>=5.1', 'pytest',
|
|
44
46
|
'pytest-cov', 'pytest-sugar', 'pytest-benchmark',
|
|
45
47
|
'pytest-clarity', 'pytest-xdist', 'pytest-timeout'],
|
|
@@ -48,7 +50,7 @@ EXTRAS = {
|
|
|
48
50
|
# 'flake8-docstrings', 'flake8-bugbear', 'flake8-comprehensions'],
|
|
49
51
|
'build': ['twine', 'pdoc', 'jupytext'],
|
|
50
52
|
}
|
|
51
|
-
EXTRAS['dev']
|
|
53
|
+
EXTRAS['dev'] = EXTRAS['debug'] + EXTRAS['test'] + EXTRAS['lint'] + EXTRAS['build']
|
|
52
54
|
|
|
53
55
|
|
|
54
56
|
def find_version(*file_paths):
|
|
@@ -90,7 +92,7 @@ setup(
|
|
|
90
92
|
# >=3.7 for dataclass, capture_output, dict ordering, np>=1.20.
|
|
91
93
|
# ==3.7 for Colab
|
|
92
94
|
# ==3.9 for the DAPPER/GCP cluster, since dill isn't compat. across versions.
|
|
93
|
-
python_requires='>=3.
|
|
95
|
+
python_requires='>=3.9',
|
|
94
96
|
install_requires=INSTALL_REQUIRES,
|
|
95
97
|
extras_require=EXTRAS,
|
|
96
98
|
|
|
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
|
|
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
|
|
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
|
|
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
|