extrahustles-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.
- extrahustles_tools-0.1.0/PKG-INFO +27 -0
- extrahustles_tools-0.1.0/README.md +12 -0
- extrahustles_tools-0.1.0/pyproject.toml +22 -0
- extrahustles_tools-0.1.0/setup.cfg +4 -0
- extrahustles_tools-0.1.0/src/extrahustles_tools/__init__.py +22 -0
- extrahustles_tools-0.1.0/src/extrahustles_tools.egg-info/PKG-INFO +27 -0
- extrahustles_tools-0.1.0/src/extrahustles_tools.egg-info/SOURCES.txt +7 -0
- extrahustles_tools-0.1.0/src/extrahustles_tools.egg-info/dependency_links.txt +1 -0
- extrahustles_tools-0.1.0/src/extrahustles_tools.egg-info/top_level.txt +1 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: extrahustles-tools
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Side-hustle timeline math: time-to-profit and effective hourly rate calculators
|
|
5
|
+
Author: Scrap Labs
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://extrahustles.com
|
|
8
|
+
Project-URL: Repository, https://github.com/scrapertweeter3-prog/extrahustles-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: side-hustle,income,business,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
|
+
# extrahustles-tools
|
|
17
|
+
|
|
18
|
+
Side-hustle timeline math: time-to-profit and effective hourly rate calculators.
|
|
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
|
+
# extrahustles-tools
|
|
2
|
+
|
|
3
|
+
Side-hustle timeline math: time-to-profit and effective hourly rate calculators.
|
|
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 = "extrahustles-tools"
|
|
7
|
+
version = "0.1.0"
|
|
8
|
+
description = "Side-hustle timeline math: time-to-profit and effective hourly rate calculators"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.8"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
authors = [{name = "Scrap Labs"}]
|
|
13
|
+
keywords = ["side-hustle", "income", "business", "finance"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Programming Language :: Python :: 3",
|
|
16
|
+
"Topic :: Software Development",
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
[project.urls]
|
|
20
|
+
Homepage = "https://extrahustles.com"
|
|
21
|
+
Repository = "https://github.com/scrapertweeter3-prog/extrahustles-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,22 @@
|
|
|
1
|
+
"""Side-hustle timeline and hourly-rate math."""
|
|
2
|
+
|
|
3
|
+
VERSION = "0.1.0"
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def months_to_profit(monthly_costs: float, start_cash: float, revenue_curve: list) -> int:
|
|
7
|
+
"""First month index where cumulative revenue covers cumulative costs.
|
|
8
|
+
revenue_curve: expected gross revenue per month, month 1 first."""
|
|
9
|
+
cash = start_cash
|
|
10
|
+
for i, rev in enumerate(revenue_curve, start=1):
|
|
11
|
+
cash += rev - monthly_costs
|
|
12
|
+
if cash >= 0:
|
|
13
|
+
return i
|
|
14
|
+
return -1
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def effective_hourly(total_profit: float, hours_log: list) -> float:
|
|
18
|
+
"""True hourly rate from a list of per-week hour counts."""
|
|
19
|
+
total_hours = sum(hours_log)
|
|
20
|
+
if total_hours <= 0:
|
|
21
|
+
raise ValueError("hours_log must sum to > 0")
|
|
22
|
+
return total_profit / total_hours
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: extrahustles-tools
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Side-hustle timeline math: time-to-profit and effective hourly rate calculators
|
|
5
|
+
Author: Scrap Labs
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://extrahustles.com
|
|
8
|
+
Project-URL: Repository, https://github.com/scrapertweeter3-prog/extrahustles-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: side-hustle,income,business,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
|
+
# extrahustles-tools
|
|
17
|
+
|
|
18
|
+
Side-hustle timeline math: time-to-profit and effective hourly rate calculators.
|
|
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 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
extrahustles_tools
|