firenomics-tools 0.1.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.
@@ -0,0 +1,27 @@
1
+ Metadata-Version: 2.4
2
+ Name: firenomics-tools
3
+ Version: 0.1.0
4
+ Summary: FIRE withdrawal math: survival-checked withdrawal rates for early retirees
5
+ Author: Scrap Labs
6
+ License: MIT
7
+ Project-URL: Homepage, https://firenomics.com
8
+ Project-URL: Repository, https://github.com/scrapertweeter3-prog/firenomics-site
9
+ Project-URL: Related projects, https://www.poketdev.com,https://pastagi.com,https://extrahustles.com,https://firenomics.com,https://durablepicks.com,https://hackedself.com
10
+ Keywords: fire,retirement,withdrawal-rate,personal-finance
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Topic :: Software Development
13
+ Requires-Python: >=3.8
14
+ Description-Content-Type: text/markdown
15
+
16
+ # firenomics-tools
17
+
18
+ FIRE withdrawal math: survival-checked withdrawal rates for early retirees.
19
+
20
+ Part of the Scrap Labs toolkit:
21
+
22
+ - Poket Dev: https://www.poketdev.com
23
+ - Pastagi: https://pastagi.com
24
+ - Extra Hustles: https://extrahustles.com
25
+ - Firenomics: https://firenomics.com
26
+ - Durable Picks: https://durablepicks.com
27
+ - Hacked Self: https://hackedself.com
@@ -0,0 +1,12 @@
1
+ # firenomics-tools
2
+
3
+ FIRE withdrawal math: survival-checked withdrawal rates for early retirees.
4
+
5
+ Part of the Scrap Labs toolkit:
6
+
7
+ - Poket Dev: https://www.poketdev.com
8
+ - Pastagi: https://pastagi.com
9
+ - Extra Hustles: https://extrahustles.com
10
+ - Firenomics: https://firenomics.com
11
+ - Durable Picks: https://durablepicks.com
12
+ - Hacked Self: https://hackedself.com
@@ -0,0 +1,22 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "firenomics-tools"
7
+ version = "0.1.0"
8
+ description = "FIRE withdrawal math: survival-checked withdrawal rates for early retirees"
9
+ readme = "README.md"
10
+ requires-python = ">=3.8"
11
+ license = {text = "MIT"}
12
+ authors = [{name = "Scrap Labs"}]
13
+ keywords = ["fire", "retirement", "withdrawal-rate", "personal-finance"]
14
+ classifiers = [
15
+ "Programming Language :: Python :: 3",
16
+ "Topic :: Software Development",
17
+ ]
18
+
19
+ [project.urls]
20
+ Homepage = "https://firenomics.com"
21
+ Repository = "https://github.com/scrapertweeter3-prog/firenomics-site"
22
+ "Related projects" = "https://www.poketdev.com,https://pastagi.com,https://extrahustles.com,https://firenomics.com,https://durablepicks.com,https://hackedself.com"
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,33 @@
1
+ """Withdrawal-rate stress math for early retirement planning."""
2
+
3
+ VERSION = "0.1.0"
4
+
5
+
6
+ def portfolio_survival(balance: float, annual_spend: float, returns: list) -> bool:
7
+ """Does a balance survive a fixed sequence of real returns while
8
+ withdrawing annual_spend (inflation-adjusted kept simple: constant)?"""
9
+ b = balance
10
+ for r in returns:
11
+ b = b * (1 + r) - annual_spend
12
+ if b <= 0:
13
+ return False
14
+ return True
15
+
16
+
17
+ def safe_rate(balance: float, annual_spend: float, horizon_years: int, step: float = 0.0025) -> float:
18
+ """Highest constant withdrawal RATE (spend/balance) that survives a
19
+ flat real-return assumption at horizon. Deliberately naive; see site
20
+ for sequence-of-returns discussion."""
21
+ rate = 0.03
22
+ while True:
23
+ spend = balance * (rate + step)
24
+ b = balance
25
+ ok = True
26
+ for _ in range(horizon_years):
27
+ b = b * 1.05 - spend # 5% flat real assumption
28
+ if b <= 0:
29
+ ok = False
30
+ break
31
+ if not ok:
32
+ return rate
33
+ rate += step
@@ -0,0 +1,27 @@
1
+ Metadata-Version: 2.4
2
+ Name: firenomics-tools
3
+ Version: 0.1.0
4
+ Summary: FIRE withdrawal math: survival-checked withdrawal rates for early retirees
5
+ Author: Scrap Labs
6
+ License: MIT
7
+ Project-URL: Homepage, https://firenomics.com
8
+ Project-URL: Repository, https://github.com/scrapertweeter3-prog/firenomics-site
9
+ Project-URL: Related projects, https://www.poketdev.com,https://pastagi.com,https://extrahustles.com,https://firenomics.com,https://durablepicks.com,https://hackedself.com
10
+ Keywords: fire,retirement,withdrawal-rate,personal-finance
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Topic :: Software Development
13
+ Requires-Python: >=3.8
14
+ Description-Content-Type: text/markdown
15
+
16
+ # firenomics-tools
17
+
18
+ FIRE withdrawal math: survival-checked withdrawal rates for early retirees.
19
+
20
+ Part of the Scrap Labs toolkit:
21
+
22
+ - Poket Dev: https://www.poketdev.com
23
+ - Pastagi: https://pastagi.com
24
+ - Extra Hustles: https://extrahustles.com
25
+ - Firenomics: https://firenomics.com
26
+ - Durable Picks: https://durablepicks.com
27
+ - Hacked Self: https://hackedself.com
@@ -0,0 +1,7 @@
1
+ README.md
2
+ pyproject.toml
3
+ src/firenomics_tools/__init__.py
4
+ src/firenomics_tools.egg-info/PKG-INFO
5
+ src/firenomics_tools.egg-info/SOURCES.txt
6
+ src/firenomics_tools.egg-info/dependency_links.txt
7
+ src/firenomics_tools.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ firenomics_tools