owlplanner 2025.3.11__py3-none-any.whl → 2025.3.13__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/plan.py CHANGED
@@ -34,7 +34,7 @@ from owlplanner import logging
34
34
  from owlplanner import progress
35
35
 
36
36
 
37
- # This makes all graphs appear have the same height.
37
+ # This makes all graphs to have the same height.
38
38
  plt.rcParams.update({'figure.autolayout': True})
39
39
 
40
40
 
@@ -2094,33 +2094,33 @@ class Plan(object):
2094
2094
  totIncome = np.sum(self.g_n, axis=0)
2095
2095
  totIncomeNow = np.sum(self.g_n / self.gamma_n[:-1], axis=0)
2096
2096
  dic["Total net spending"] = f"{u.d(totIncomeNow)}"
2097
- dic["- Total net spending (nominal)"] = f"{u.d(totIncome)}"
2097
+ dic["[Total net spending]"] = f"{u.d(totIncome)}"
2098
2098
 
2099
2099
  totRoth = np.sum(self.x_in, axis=(0, 1))
2100
2100
  totRothNow = np.sum(np.sum(self.x_in, axis=0) / self.gamma_n[:-1], axis=0)
2101
2101
  dic["Total Roth conversions"] = f"{u.d(totRothNow)}"
2102
- dic["- Total Roth conversions (nominal)"] = f"{u.d(totRoth)}"
2102
+ dic["[Total Roth conversions]"] = f"{u.d(totRoth)}"
2103
2103
 
2104
2104
  taxPaid = np.sum(self.T_n, axis=0)
2105
2105
  taxPaidNow = np.sum(self.T_n / self.gamma_n[:-1], axis=0)
2106
2106
  dic["Total income tax paid on ordinary income"] = f"{u.d(taxPaidNow)}"
2107
- dic["- Total income tax paid on ordinary income (nominal)"] = f"{u.d(taxPaid)}"
2107
+ dic["[Total income tax paid on ordinary income]"] = f"{u.d(taxPaid)}"
2108
2108
  for t in range(self.N_t):
2109
2109
  taxPaid = np.sum(self.T_tn[t], axis=0)
2110
2110
  taxPaidNow = np.sum(self.T_tn[t] / self.gamma_n[:-1], axis=0)
2111
2111
  tname = tx.taxBracketNames[t]
2112
2112
  dic[f"-- Subtotal in tax bracket {tname}"] = f"{u.d(taxPaidNow)}"
2113
- dic[f"--- Subtotal in tax bracket {tname} (nominal)"] = f"{u.d(taxPaid)}"
2113
+ dic[f"-- [Subtotal in tax bracket {tname}]"] = f"{u.d(taxPaid)}"
2114
2114
 
2115
2115
  taxPaid = np.sum(self.U_n, axis=0)
2116
2116
  taxPaidNow = np.sum(self.U_n / self.gamma_n[:-1], axis=0)
2117
2117
  dic["Total tax paid on gains and dividends"] = f"{u.d(taxPaidNow)}"
2118
- dic["- Total tax paid on gains and dividends (nominal)"] = f"{u.d(taxPaid)}"
2118
+ dic["[Total tax paid on gains and dividends]"] = f"{u.d(taxPaid)}"
2119
2119
 
2120
2120
  taxPaid = np.sum(self.M_n, axis=0)
2121
2121
  taxPaidNow = np.sum(self.M_n / self.gamma_n[:-1], axis=0)
2122
2122
  dic["Total Medicare premiums paid"] = f"{u.d(taxPaidNow)}"
2123
- dic["- Total Medicare premiums paid (nominal)"] = f"{u.d(taxPaid)}"
2123
+ dic["[Total Medicare premiums paid]"] = f"{u.d(taxPaid)}"
2124
2124
 
2125
2125
  if self.N_i == 2 and self.n_d < self.N_n:
2126
2126
  p_j = self.partialEstate_j * (1 - self.phi_j)
@@ -2135,24 +2135,24 @@ class Plan(object):
2135
2135
  iname_s = self.inames[self.i_s]
2136
2136
  iname_d = self.inames[self.i_d]
2137
2137
  dic[f"Sum of spousal transfer to {iname_s} in year {ynx}"] = (f"{u.d(totSpousalNow)}")
2138
- dic[f"- Sum of spousal transfer to {iname_s} in year {ynx} (nominal)"] = (
2138
+ dic[f"[Sum of spousal transfer to {iname_s} in year {ynx}]"] = (
2139
2139
  f"{u.d(totSpousal)}")
2140
- dic[f"-- Spousal transfer to {iname_s} in year {ynx} - taxable (nominal)"] = (
2140
+ dic[f"-- [Spousal transfer to {iname_s} in year {ynx} - taxable]"] = (
2141
2141
  f"{u.d(q_j[0])}")
2142
- dic[f"-- Spousal transfer to {iname_s} in year {ynx} - tax-def (nominal)"] = (
2142
+ dic[f"-- [Spousal transfer to {iname_s} in year {ynx} - tax-def]"] = (
2143
2143
  f"{u.d(q_j[1])}")
2144
- dic[f"-- Spousal transfer to {iname_s} in year {ynx} - tax-free (nominal)"] = (
2144
+ dic[f"-- [Spousal transfer to {iname_s} in year {ynx} - tax-free]"] = (
2145
2145
  f"{u.d(q_j[2])}")
2146
2146
 
2147
2147
  dic[f"Sum of post-tax non-spousal bequests from {iname_d} in year {ynx}"] = (
2148
2148
  f"{u.d(totOthersNow)}")
2149
- dic[f"- Sum of post-tax non-spousal bequests from {iname_d} in year {ynx} (nominal)"] = (
2149
+ dic[f"[Sum of post-tax non-spousal bequests from {iname_d} in year {ynx}]"] = (
2150
2150
  f"{u.d(totOthers)}")
2151
- dic[f"-- Post-tax non-spousal bequests from {iname_d} in year {ynx} - taxable (nominal)"] = (
2151
+ dic[f"-- [Post-tax non-spousal bequests from {iname_d} in year {ynx} - taxable]"] = (
2152
2152
  f"{u.d(p_j[0])}")
2153
- dic[f"-- Post-tax non-spousal bequests from {iname_d} in year {ynx} - tax-def (nominal)"] = (
2153
+ dic[f"-- [Post-tax non-spousal bequests from {iname_d} in year {ynx} - tax-def]"] = (
2154
2154
  f"{u.d(p_j[1])}")
2155
- dic[f"-- Post-tax non-spousal bequests from {iname_d} in year {ynx} - tax-free (nominal)"] = (
2155
+ dic[f"-- [Post-tax non-spousal bequests from {iname_d} in year {ynx} - tax-free]"] = (
2156
2156
  f"{u.d(p_j[2])}")
2157
2157
 
2158
2158
  estate = np.sum(self.b_ijn[:, :, self.N_n], axis=0)
@@ -2161,10 +2161,10 @@ class Plan(object):
2161
2161
  totEstate = np.sum(estate)
2162
2162
  totEstateNow = totEstate / self.gamma_n[-1]
2163
2163
  dic[f"Total estate value at the end of {lastyear}"] = (f"{u.d(totEstateNow)}")
2164
- dic[f"- Total estate value at the end of {lastyear} (nominal)"] = (f"{u.d(totEstate)}")
2165
- dic[f"-- Post-tax account value at the end of {lastyear} - taxable (nominal)"] = (f"{u.d(estate[0])}")
2166
- dic[f"-- Post-tax account value at the end of {lastyear} - tax-def (nominal)"] = (f"{u.d(estate[1])}")
2167
- dic[f"-- Post-tax account value at the end of {lastyear} - tax-free (nominal)"] = (f"{u.d(estate[2])}")
2164
+ dic[f"[Total estate value at the end of {lastyear}]"] = (f"{u.d(totEstate)}")
2165
+ dic[f"-- [Post-tax account value at the end of {lastyear} - taxable]"] = (f"{u.d(estate[0])}")
2166
+ dic[f"-- [Post-tax account value at the end of {lastyear} - tax-def]"] = (f"{u.d(estate[1])}")
2167
+ dic[f"-- [Post-tax account value at the end of {lastyear} - tax-free]"] = (f"{u.d(estate[2])}")
2168
2168
 
2169
2169
  dic["Plan starting date"] = str(self.startDate)
2170
2170
  dic[f"Cumulative inflation factor from start date to end of {lastyear}"] = (f"{self.gamma_n[-1]:.2f}")
owlplanner/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "2025.03.11"
1
+ __version__ = "2025.03.13"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: owlplanner
3
- Version: 2025.3.11
3
+ Version: 2025.3.13
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
@@ -2,16 +2,16 @@ owlplanner/__init__.py,sha256=QqrdT0Qks20osBTg7h0vJHAxpP9lL7DA99xb0nYbtw4,254
2
2
  owlplanner/abcapi.py,sha256=LbzW_KcNy0IeHp42MUHwGu_H67B2h_e1_vu-c2ACTkQ,6646
3
3
  owlplanner/config.py,sha256=uJ6jZ9Rx2CB2P5cFRscsUCXOW6uml7I4pta2ozjW0uo,12263
4
4
  owlplanner/logging.py,sha256=tYMw04O-XYSzjTj36fmKJGLcE1VkK6k6oJNeqtKXzuc,2530
5
- owlplanner/plan.py,sha256=mCcoocK9g1nCUpQDaMVUTiwugKPuDZaEYbrSPPi0sBY,115404
5
+ owlplanner/plan.py,sha256=BjNzeV9inGGmirMTQ8VVfOaxR8-WGLZAgSATyJk0dAI,115239
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=HrtvlhxZp9gln32M2lagzUjBWC3oqV1rUecAVUAAJj8,28
11
+ owlplanner/version.py,sha256=GR2k_WJJsQtJYtt5VJ64fZchrCUdIeleskErLMVRk8s,28
12
12
  owlplanner/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  owlplanner/data/rates.csv,sha256=6fxg56BVVORrj9wJlUGFdGXKvOX5r7CSca8uhUbbuIU,3734
14
- owlplanner-2025.3.11.dist-info/METADATA,sha256=h06pbBAcJCEqWvY_zOybpnIk5xEaVhax8R2YESfn73o,53801
15
- owlplanner-2025.3.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
- owlplanner-2025.3.11.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
17
- owlplanner-2025.3.11.dist-info/RECORD,,
14
+ owlplanner-2025.3.13.dist-info/METADATA,sha256=k1I0OLgv8oQG7oxVARAVWXz7tWNNeynGPcB3uYndEUA,53801
15
+ owlplanner-2025.3.13.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
16
+ owlplanner-2025.3.13.dist-info/licenses/LICENSE,sha256=IwGE9guuL-ryRPEKi6wFPI_zOhg7zDZbTYuHbSt_SAk,35823
17
+ owlplanner-2025.3.13.dist-info/RECORD,,