owlplanner 2025.2.21__py3-none-any.whl → 2025.2.22__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 +2 -0
- owlplanner/plan.py +9 -0
- owlplanner/version.py +1 -1
- {owlplanner-2025.2.21.dist-info → owlplanner-2025.2.22.dist-info}/METADATA +1 -1
- {owlplanner-2025.2.21.dist-info → owlplanner-2025.2.22.dist-info}/RECORD +7 -7
- {owlplanner-2025.2.21.dist-info → owlplanner-2025.2.22.dist-info}/WHEEL +0 -0
- {owlplanner-2025.2.21.dist-info → owlplanner-2025.2.22.dist-info}/licenses/LICENSE +0 -0
owlplanner/config.py
CHANGED
|
@@ -28,6 +28,7 @@ def saveConfig(plan, file, mylog):
|
|
|
28
28
|
|
|
29
29
|
diconf = {}
|
|
30
30
|
diconf["Plan Name"] = plan._name
|
|
31
|
+
diconf["Description"] = plan._description
|
|
31
32
|
|
|
32
33
|
# Basic Info.
|
|
33
34
|
diconf["Basic Info"] = {
|
|
@@ -185,6 +186,7 @@ def readConfig(file, *, verbose=True, logstreams=None, readContributions=True):
|
|
|
185
186
|
s = ["", "s"][icount - 1]
|
|
186
187
|
mylog.vprint(f"Plan for {icount} individual{s}: {inames}.")
|
|
187
188
|
p = plan.Plan(inames, yobs, expectancy, name, startDate=startDate, verbose=True, logstreams=logstreams)
|
|
189
|
+
plan._description = diconf.get("Description", "")
|
|
188
190
|
|
|
189
191
|
# Assets.
|
|
190
192
|
balances = {}
|
owlplanner/plan.py
CHANGED
|
@@ -239,6 +239,7 @@ class Plan(object):
|
|
|
239
239
|
self.interpCenter = 15
|
|
240
240
|
self.interpWidth = 5
|
|
241
241
|
|
|
242
|
+
self._description = ''
|
|
242
243
|
self.defaultPlots = "nominal"
|
|
243
244
|
self.defaultSolver = "HiGHS"
|
|
244
245
|
|
|
@@ -406,6 +407,12 @@ class Plan(object):
|
|
|
406
407
|
self.mylog.vprint(f"Renaming plan {self._name} -> {newname}.")
|
|
407
408
|
self._name = newname
|
|
408
409
|
|
|
410
|
+
def setDescription(self, description):
|
|
411
|
+
"""
|
|
412
|
+
Set a text description of the plan.
|
|
413
|
+
"""
|
|
414
|
+
self._description = description
|
|
415
|
+
|
|
409
416
|
def setSpousalDepositFraction(self, eta):
|
|
410
417
|
"""
|
|
411
418
|
Set spousal deposit and withdrawal fraction. Default 0.5.
|
|
@@ -2069,6 +2076,8 @@ class Plan(object):
|
|
|
2069
2076
|
now = self.year_n[0]
|
|
2070
2077
|
dic = {}
|
|
2071
2078
|
# Results
|
|
2079
|
+
dic["Plan name"] = self._name
|
|
2080
|
+
dic["Brief description"] = self._description
|
|
2072
2081
|
dic[f"Net yearly spending basis in {now}$"] = u.d(self.g_n[0] / self.xi_n[0])
|
|
2073
2082
|
dic[f"Net yearly spending for year {now}"] = u.d(self.g_n[0] / self.yearFracLeft)
|
|
2074
2083
|
dic[f"Net spending remaining in year {now}"] = u.d(self.g_n[0])
|
owlplanner/version.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "2025.02.
|
|
1
|
+
__version__ = "2025.02.22"
|
|
@@ -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=yoi9dTpA-BVCPnbcDwPWO8dkTDFeMft4KRvuqZepzxA,12164
|
|
4
4
|
owlplanner/logging.py,sha256=tYMw04O-XYSzjTj36fmKJGLcE1VkK6k6oJNeqtKXzuc,2530
|
|
5
|
-
owlplanner/plan.py,sha256=
|
|
5
|
+
owlplanner/plan.py,sha256=RTkIT5tJ_Ar0hCBx0G1ScjaGLuxdsRDqwWC1eosp5po,113860
|
|
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=9rZICePFVRaLH3DbBPmhbkwGMbL4PJlxOgWYgOrbcGw,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.22.dist-info/METADATA,sha256=nl-Se08p2SfUG8NbbeHQslxuaRA-VWKBvkAlI2vpid0,53506
|
|
15
|
+
owlplanner-2025.2.22.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
16
|
+
owlplanner-2025.2.22.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
|
|
17
|
+
owlplanner-2025.2.22.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|