owlplanner 2025.2.20__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 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"]["Start date"]
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
@@ -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.20"
1
+ __version__ = "2025.02.21"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: owlplanner
3
- Version: 2025.2.20
3
+ Version: 2025.2.21
4
4
  Summary: Owl: Retirement planner with great wisdom
5
5
  Project-URL: HomePage, https://github.com/mdlacasse/owl
6
6
  Project-URL: Repository, https://github.com/mdlacasse/owl
@@ -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=Yzi_Xivd_EFfuHklIoQ-LNqKCxF2ruc8p-Il_HVgEaw,11817
3
+ owlplanner/config.py,sha256=KiG2rTDyoDWBv6U-u2x38bIAENWYIySucA4z_AMeEW4,12062
4
4
  owlplanner/logging.py,sha256=tYMw04O-XYSzjTj36fmKJGLcE1VkK6k6oJNeqtKXzuc,2530
5
- owlplanner/plan.py,sha256=xsKdC-FliHlPip5jk3DpuEZ8kFJxtvp_N6w9rSLOdg8,113571
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=ArasFO4_5XwyPkpEb1P7ZPwY-Ala6bofNVuqVXpJG10,28
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.20.dist-info/METADATA,sha256=kw7qYrpIl0wjAki-1Wm0VdDjem4aaYWJFQeIkJg-b7Y,53506
15
- owlplanner-2025.2.20.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
- owlplanner-2025.2.20.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
17
- owlplanner-2025.2.20.dist-info/RECORD,,
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,,