owlplanner 2025.2.19__py3-none-any.whl → 2025.2.21__py3-none-any.whl
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.
- owlplanner/config.py +6 -1
- owlplanner/plan.py +2 -2
- owlplanner/version.py +1 -1
- {owlplanner-2025.2.19.dist-info → owlplanner-2025.2.21.dist-info}/METADATA +1 -1
- {owlplanner-2025.2.19.dist-info → owlplanner-2025.2.21.dist-info}/RECORD +7 -7
- {owlplanner-2025.2.19.dist-info → owlplanner-2025.2.21.dist-info}/WHEEL +0 -0
- {owlplanner-2025.2.19.dist-info → owlplanner-2025.2.21.dist-info}/licenses/LICENSE +0 -0
owlplanner/config.py
CHANGED
|
@@ -180,7 +180,7 @@ def readConfig(file, *, verbose=True, logstreams=None, readContributions=True):
|
|
|
180
180
|
# status = diconf['Basic Info']['Status']
|
|
181
181
|
yobs = diconf["Basic Info"]["Birth year"]
|
|
182
182
|
expectancy = diconf["Basic Info"]["Life expectancy"]
|
|
183
|
-
startDate = diconf["Basic Info"]
|
|
183
|
+
startDate = diconf["Basic Info"].get("Start date", "today")
|
|
184
184
|
icount = len(yobs)
|
|
185
185
|
s = ["", "s"][icount - 1]
|
|
186
186
|
mylog.vprint(f"Plan for {icount} individual{s}: {inames}.")
|
|
@@ -295,6 +295,11 @@ def readConfig(file, *, verbose=True, logstreams=None, readContributions=True):
|
|
|
295
295
|
# Solver Options.
|
|
296
296
|
p.solverOptions = diconf["Solver Options"]
|
|
297
297
|
|
|
298
|
+
# Check consistency of noRothConversions.
|
|
299
|
+
name = p.solverOptions.get("noRothConversions", "None")
|
|
300
|
+
if name != "None" and name not in p.inames:
|
|
301
|
+
raise ValueError(f"Unknown name {name} for noRothConversions.")
|
|
302
|
+
|
|
298
303
|
# Results.
|
|
299
304
|
p.setDefaultPlots(diconf["Results"]["Default plots"])
|
|
300
305
|
|
owlplanner/plan.py
CHANGED
|
@@ -995,7 +995,7 @@ class Plan(object):
|
|
|
995
995
|
self.DeltaBar_tn = self.Delta_tn * self.gamma_n[:-1]
|
|
996
996
|
self.zetaBar_in = self.zeta_in * self.gamma_n[:-1]
|
|
997
997
|
self.xiBar_n = self.xi_n * self.gamma_n[:-1]
|
|
998
|
-
self.piBar_in = self.pi_in
|
|
998
|
+
self.piBar_in = np.array(self.pi_in)
|
|
999
999
|
for i in range(self.N_i):
|
|
1000
1000
|
if self.pensionIndexed[i]:
|
|
1001
1001
|
self.piBar_in[i] *= self.gamma_n[:-1]
|
|
@@ -2895,7 +2895,7 @@ def _stackPlot(x, inames, title, irange, series, snames, location, yformat="\\$k
|
|
|
2895
2895
|
|
|
2896
2896
|
if len(nonzeroSeries) == 0:
|
|
2897
2897
|
# print('Nothing to plot for', title)
|
|
2898
|
-
return None
|
|
2898
|
+
return None, None
|
|
2899
2899
|
|
|
2900
2900
|
fig, ax = plt.subplots(figsize=(6, 4))
|
|
2901
2901
|
plt.grid(visible="both")
|
owlplanner/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "2025.02.
|
|
1
|
+
__version__ = "2025.02.21"
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
owlplanner/__init__.py,sha256=QqrdT0Qks20osBTg7h0vJHAxpP9lL7DA99xb0nYbtw4,254
|
|
2
2
|
owlplanner/abcapi.py,sha256=LbzW_KcNy0IeHp42MUHwGu_H67B2h_e1_vu-c2ACTkQ,6646
|
|
3
|
-
owlplanner/config.py,sha256=
|
|
3
|
+
owlplanner/config.py,sha256=KiG2rTDyoDWBv6U-u2x38bIAENWYIySucA4z_AMeEW4,12062
|
|
4
4
|
owlplanner/logging.py,sha256=tYMw04O-XYSzjTj36fmKJGLcE1VkK6k6oJNeqtKXzuc,2530
|
|
5
|
-
owlplanner/plan.py,sha256=
|
|
5
|
+
owlplanner/plan.py,sha256=IY-qKf4PBSKnAeNIBrG0p2d_oX0pnlaLxLkMOd6Hpn0,113577
|
|
6
6
|
owlplanner/progress.py,sha256=8jlCvvtgDI89zXVNMBg1-lnEyhpPvKQS2X5oAIpoOVQ,384
|
|
7
7
|
owlplanner/rates.py,sha256=TN407qU4n-bac1oymkQ_n2QKEPwFQxy6JZVGwgIkLQU,15585
|
|
8
8
|
owlplanner/tax2025.py,sha256=B-A5eU3wxdcAaxRCbT3qI-JEKoD_ZeNbg_86XhNdQEI,7745
|
|
9
9
|
owlplanner/timelists.py,sha256=tYieZU67FT6TCcQQis36JaXGI7dT6NqD7RvdEjgJL4M,4026
|
|
10
10
|
owlplanner/utils.py,sha256=HM70W60qB41zfnbl2LltNwAuLYHyy5XYbwnbNcaa6FE,2351
|
|
11
|
-
owlplanner/version.py,sha256=
|
|
11
|
+
owlplanner/version.py,sha256=dJhhQS3Y64EQNnwRkaQ4DnoJMIhwSgoOkvnwtMFIiiw,28
|
|
12
12
|
owlplanner/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
13
|
owlplanner/data/rates.csv,sha256=6fxg56BVVORrj9wJlUGFdGXKvOX5r7CSca8uhUbbuIU,3734
|
|
14
|
-
owlplanner-2025.2.
|
|
15
|
-
owlplanner-2025.2.
|
|
16
|
-
owlplanner-2025.2.
|
|
17
|
-
owlplanner-2025.2.
|
|
14
|
+
owlplanner-2025.2.21.dist-info/METADATA,sha256=a22nMKZWInL2tv29V4BPPbJJFe0LHW96N7JYKNWWDXI,53506
|
|
15
|
+
owlplanner-2025.2.21.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
16
|
+
owlplanner-2025.2.21.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
|
17
|
+
owlplanner-2025.2.21.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|