proptech 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,68 @@
1
+ Metadata-Version: 2.4
2
+ Name: proptech
3
+ Version: 0.1.0
4
+ Summary: Advanced Python library for real estate investment modeling, BRRRR strategy analysis, and mortgage amortization.
5
+ Author-email: Albergracht Technologies <technologies@albergracht.com>
6
+ License-Expression: MIT
7
+ Keywords: proptech,real-estate,brrrr,mortgage,investment,fintech
8
+ Requires-Python: >=3.8
9
+ Description-Content-Type: text/markdown
10
+
11
+ # proptech
12
+
13
+ > **Alpha software – experimental, no warranty, not for production or investment decisions.**
14
+
15
+ A zero-dependency Python library for real estate investment modeling, with a focus on the **BRRRR strategy** (Buy, Rehab, Rent, Refinance, Repeat) and cash flow analytics.
16
+
17
+ This software is experimental and intended for informational, modeling, and educational purposes only. It does not constitute financial, investment, legal, tax, or professional advice.
18
+
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ pip install proptech
24
+ ```
25
+
26
+
27
+ ## Quickstart
28
+
29
+ Evaluate a BRRRR real estate investment scenario:
30
+
31
+ ```python
32
+ import proptech
33
+
34
+ deal = proptech.BRRRRModel(
35
+ purchase_price=120_000,
36
+ rehab_cost=40_000,
37
+ after_repair_value=220_000,
38
+ monthly_rent=2_200,
39
+ monthly_expenses=800, # Taxes, insurance, maintenance, property management
40
+ refinance_ltv=0.75, # 75% LTV cash-out refinance
41
+ refinance_rate=0.065, # 6.5% interest rate
42
+ amortization_years=30
43
+ )
44
+
45
+ print(f"Total Project Cost: ${deal.total_project_cost:,.2f}")
46
+ print(f"New Loan Amount (Refinance): ${deal.new_loan_amount:,.2f}")
47
+ print(f"Capital Remaining in Deal: ${deal.cash_left_in_deal:,.2f}")
48
+ print(f"Monthly Cash Flow: ${deal.monthly_cash_flow:,.2f}")
49
+
50
+ if deal.cash_left_in_deal <= 0:
51
+ print("Capital fully recovered via refinancing.")
52
+ else:
53
+ print(f"Cash-on-Cash Return: {deal.cash_on_cash_return:.2f}%")
54
+ ```
55
+
56
+
57
+ ## Disclaimer
58
+
59
+ **Experimental alpha software – no warranty, no professional advice.**
60
+ This software (`proptech`) is experimental, alpha-quality software developed by **Albergracht Technologies** for computational, modeling, and educational purposes only. It is provided **“as is”**, without any warranties of any kind, express or implied, including but not limited to warranties of accuracy, completeness, reliability, merchantability, fitness for a particular purpose, or non-infringement.
61
+
62
+ **No professional advice.** Nothing in this software, its documentation, outputs, or examples constitutes or should be construed as **financial, investment, legal, tax, or professional advice** of any kind. Do not rely on this software for making real-world financial, investment, or business decisions. Always consult qualified, licensed professionals before acting on any information derived from this software.
63
+
64
+ **Alpha status; errors and bugs.** This is an **alpha** release. It may contain **bugs, errors, inaccuracies, omissions, and breaking changes**. Features may be incomplete, change without notice, or be removed entirely. Backward compatibility is not guaranteed between versions.
65
+
66
+ **Use at your own risk.** You use this software **solely at your own risk**. Albergracht Technologies and its contributors shall not be liable for any direct, indirect, incidental, special, consequential, or exemplary damages arising out of or in connection with the use, performance, or inability to use this software, including but not limited to loss of profits, data, business opportunities, or investment losses, even if advised of the possibility of such damages.
67
+
68
+ By using this software, you acknowledge that you have read, understood, and agree to this disclaimer.
@@ -0,0 +1,58 @@
1
+ # proptech
2
+
3
+ > **Alpha software – experimental, no warranty, not for production or investment decisions.**
4
+
5
+ A zero-dependency Python library for real estate investment modeling, with a focus on the **BRRRR strategy** (Buy, Rehab, Rent, Refinance, Repeat) and cash flow analytics.
6
+
7
+ This software is experimental and intended for informational, modeling, and educational purposes only. It does not constitute financial, investment, legal, tax, or professional advice.
8
+
9
+
10
+ ## Installation
11
+
12
+ ```bash
13
+ pip install proptech
14
+ ```
15
+
16
+
17
+ ## Quickstart
18
+
19
+ Evaluate a BRRRR real estate investment scenario:
20
+
21
+ ```python
22
+ import proptech
23
+
24
+ deal = proptech.BRRRRModel(
25
+ purchase_price=120_000,
26
+ rehab_cost=40_000,
27
+ after_repair_value=220_000,
28
+ monthly_rent=2_200,
29
+ monthly_expenses=800, # Taxes, insurance, maintenance, property management
30
+ refinance_ltv=0.75, # 75% LTV cash-out refinance
31
+ refinance_rate=0.065, # 6.5% interest rate
32
+ amortization_years=30
33
+ )
34
+
35
+ print(f"Total Project Cost: ${deal.total_project_cost:,.2f}")
36
+ print(f"New Loan Amount (Refinance): ${deal.new_loan_amount:,.2f}")
37
+ print(f"Capital Remaining in Deal: ${deal.cash_left_in_deal:,.2f}")
38
+ print(f"Monthly Cash Flow: ${deal.monthly_cash_flow:,.2f}")
39
+
40
+ if deal.cash_left_in_deal <= 0:
41
+ print("Capital fully recovered via refinancing.")
42
+ else:
43
+ print(f"Cash-on-Cash Return: {deal.cash_on_cash_return:.2f}%")
44
+ ```
45
+
46
+
47
+ ## Disclaimer
48
+
49
+ **Experimental alpha software – no warranty, no professional advice.**
50
+ This software (`proptech`) is experimental, alpha-quality software developed by **Albergracht Technologies** for computational, modeling, and educational purposes only. It is provided **“as is”**, without any warranties of any kind, express or implied, including but not limited to warranties of accuracy, completeness, reliability, merchantability, fitness for a particular purpose, or non-infringement.
51
+
52
+ **No professional advice.** Nothing in this software, its documentation, outputs, or examples constitutes or should be construed as **financial, investment, legal, tax, or professional advice** of any kind. Do not rely on this software for making real-world financial, investment, or business decisions. Always consult qualified, licensed professionals before acting on any information derived from this software.
53
+
54
+ **Alpha status; errors and bugs.** This is an **alpha** release. It may contain **bugs, errors, inaccuracies, omissions, and breaking changes**. Features may be incomplete, change without notice, or be removed entirely. Backward compatibility is not guaranteed between versions.
55
+
56
+ **Use at your own risk.** You use this software **solely at your own risk**. Albergracht Technologies and its contributors shall not be liable for any direct, indirect, incidental, special, consequential, or exemplary damages arising out of or in connection with the use, performance, or inability to use this software, including but not limited to loss of profits, data, business opportunities, or investment losses, even if advised of the possibility of such damages.
57
+
58
+ By using this software, you acknowledge that you have read, understood, and agree to this disclaimer.
@@ -0,0 +1,6 @@
1
+ from .brrrr import BRRRRModel, LEGAL_DISCLAIMER
2
+
3
+ __version__ = "0.1.0"
4
+ __author__ = "Albergracht Technologies"
5
+ __email__ = "technologies@albergracht.com"
6
+ __all__ = ["BRRRRModel", "LEGAL_DISCLAIMER"]
@@ -0,0 +1,94 @@
1
+ from dataclasses import dataclass
2
+ from typing import Dict, Any, Union
3
+
4
+
5
+ LEGAL_DISCLAIMER = (
6
+ "EXPERIMENTAL ALPHA SOFTWARE – FOR INFORMATIONAL AND MODELING PURPOSES ONLY. "
7
+ "PROVIDED 'AS IS' WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED. "
8
+ "NOT FINANCIAL, INVESTMENT, LEGAL, TAX, OR PROFESSIONAL ADVICE. "
9
+ "DO NOT RELY ON THIS SOFTWARE FOR REAL-WORLD FINANCIAL OR INVESTMENT DECISIONS. "
10
+ "USE AT YOUR OWN RISK. ALBERGRACHT TECHNOLOGIES DISCLAIMS ALL LIABILITY FOR ANY DAMAGES "
11
+ "ARISING FROM USE OR INABILITY TO USE THIS SOFTWARE."
12
+ )
13
+
14
+
15
+ @dataclass
16
+ class BRRRRModel:
17
+ """
18
+ BRRRR Strategy Calculator (Buy, Rehab, Rent, Refinance, Repeat).
19
+
20
+ Provides computational models and estimations for real estate investment analysis.
21
+ This is experimental alpha software: it may contain errors, inaccuracies, or breaking changes.
22
+ Outputs are not financial or investment advice and should not be used as the sole basis
23
+ for any investment, legal, tax, or business decision.
24
+ """
25
+ purchase_price: float
26
+ rehab_cost: float
27
+ after_repair_value: float
28
+ monthly_rent: float
29
+ monthly_expenses: float
30
+ refinance_ltv: float = 0.75 # 75% Loan to Value
31
+ refinance_rate: float = 0.06 # 6% Interest Rate
32
+ amortization_years: int = 30
33
+
34
+ @property
35
+ def total_project_cost(self) -> float:
36
+ """Initial capital required (Purchase + Rehab)."""
37
+ return self.purchase_price + self.rehab_cost
38
+
39
+ @property
40
+ def new_loan_amount(self) -> float:
41
+ """The amount the bank will lend based on the After Repair Value (ARV)."""
42
+ return self.after_repair_value * self.refinance_ltv
43
+
44
+ @property
45
+ def cash_left_in_deal(self) -> float:
46
+ """
47
+ Capital remaining in the deal after refinancing.
48
+ Positive value indicates capital still invested; zero or negative indicates
49
+ full or partial recovery via refinancing.
50
+ """
51
+ return self.total_project_cost - self.new_loan_amount
52
+
53
+ @property
54
+ def monthly_mortgage_payment(self) -> float:
55
+ """Calculates standard fixed-rate mortgage payment using the new loan."""
56
+ if self.new_loan_amount <= 0 or self.refinance_rate <= 0:
57
+ return 0.0
58
+ r_monthly = self.refinance_rate / 12.0
59
+ n_months = self.amortization_years * 12
60
+ return self.new_loan_amount * (r_monthly * (1 + r_monthly)**n_months) / ((1 + r_monthly)**n_months - 1)
61
+
62
+ @property
63
+ def monthly_cash_flow(self) -> float:
64
+ """Net operating income minus debt service."""
65
+ return self.monthly_rent - self.monthly_expenses - self.monthly_mortgage_payment
66
+
67
+ @property
68
+ def cash_on_cash_return(self) -> Union[float, str]:
69
+ """
70
+ Annual cash-on-cash return on the capital remaining in the deal.
71
+ Returns 'N/A (capital fully recovered)' if no capital remains invested.
72
+ """
73
+ if self.cash_left_in_deal <= 0:
74
+ return "N/A (capital fully recovered)"
75
+ return ((self.monthly_cash_flow * 12) / self.cash_left_in_deal) * 100.0
76
+
77
+ def summary(self) -> Dict[str, Any]:
78
+ """
79
+ Returns a dictionary of key metrics along with the legal disclaimer.
80
+ This summary is for informational and modeling purposes only.
81
+ """
82
+ return {
83
+ "total_project_cost": round(self.total_project_cost, 2),
84
+ "after_repair_value": round(self.after_repair_value, 2),
85
+ "new_loan_amount": round(self.new_loan_amount, 2),
86
+ "cash_left_in_deal": round(self.cash_left_in_deal, 2),
87
+ "monthly_cash_flow": round(self.monthly_cash_flow, 2),
88
+ "cash_on_cash_return_pct": (
89
+ self.cash_on_cash_return
90
+ if isinstance(self.cash_on_cash_return, str)
91
+ else round(self.cash_on_cash_return, 2)
92
+ ),
93
+ "disclaimer": LEGAL_DISCLAIMER,
94
+ }
@@ -0,0 +1,68 @@
1
+ Metadata-Version: 2.4
2
+ Name: proptech
3
+ Version: 0.1.0
4
+ Summary: Advanced Python library for real estate investment modeling, BRRRR strategy analysis, and mortgage amortization.
5
+ Author-email: Albergracht Technologies <technologies@albergracht.com>
6
+ License-Expression: MIT
7
+ Keywords: proptech,real-estate,brrrr,mortgage,investment,fintech
8
+ Requires-Python: >=3.8
9
+ Description-Content-Type: text/markdown
10
+
11
+ # proptech
12
+
13
+ > **Alpha software – experimental, no warranty, not for production or investment decisions.**
14
+
15
+ A zero-dependency Python library for real estate investment modeling, with a focus on the **BRRRR strategy** (Buy, Rehab, Rent, Refinance, Repeat) and cash flow analytics.
16
+
17
+ This software is experimental and intended for informational, modeling, and educational purposes only. It does not constitute financial, investment, legal, tax, or professional advice.
18
+
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ pip install proptech
24
+ ```
25
+
26
+
27
+ ## Quickstart
28
+
29
+ Evaluate a BRRRR real estate investment scenario:
30
+
31
+ ```python
32
+ import proptech
33
+
34
+ deal = proptech.BRRRRModel(
35
+ purchase_price=120_000,
36
+ rehab_cost=40_000,
37
+ after_repair_value=220_000,
38
+ monthly_rent=2_200,
39
+ monthly_expenses=800, # Taxes, insurance, maintenance, property management
40
+ refinance_ltv=0.75, # 75% LTV cash-out refinance
41
+ refinance_rate=0.065, # 6.5% interest rate
42
+ amortization_years=30
43
+ )
44
+
45
+ print(f"Total Project Cost: ${deal.total_project_cost:,.2f}")
46
+ print(f"New Loan Amount (Refinance): ${deal.new_loan_amount:,.2f}")
47
+ print(f"Capital Remaining in Deal: ${deal.cash_left_in_deal:,.2f}")
48
+ print(f"Monthly Cash Flow: ${deal.monthly_cash_flow:,.2f}")
49
+
50
+ if deal.cash_left_in_deal <= 0:
51
+ print("Capital fully recovered via refinancing.")
52
+ else:
53
+ print(f"Cash-on-Cash Return: {deal.cash_on_cash_return:.2f}%")
54
+ ```
55
+
56
+
57
+ ## Disclaimer
58
+
59
+ **Experimental alpha software – no warranty, no professional advice.**
60
+ This software (`proptech`) is experimental, alpha-quality software developed by **Albergracht Technologies** for computational, modeling, and educational purposes only. It is provided **“as is”**, without any warranties of any kind, express or implied, including but not limited to warranties of accuracy, completeness, reliability, merchantability, fitness for a particular purpose, or non-infringement.
61
+
62
+ **No professional advice.** Nothing in this software, its documentation, outputs, or examples constitutes or should be construed as **financial, investment, legal, tax, or professional advice** of any kind. Do not rely on this software for making real-world financial, investment, or business decisions. Always consult qualified, licensed professionals before acting on any information derived from this software.
63
+
64
+ **Alpha status; errors and bugs.** This is an **alpha** release. It may contain **bugs, errors, inaccuracies, omissions, and breaking changes**. Features may be incomplete, change without notice, or be removed entirely. Backward compatibility is not guaranteed between versions.
65
+
66
+ **Use at your own risk.** You use this software **solely at your own risk**. Albergracht Technologies and its contributors shall not be liable for any direct, indirect, incidental, special, consequential, or exemplary damages arising out of or in connection with the use, performance, or inability to use this software, including but not limited to loss of profits, data, business opportunities, or investment losses, even if advised of the possibility of such damages.
67
+
68
+ By using this software, you acknowledge that you have read, understood, and agree to this disclaimer.
@@ -0,0 +1,8 @@
1
+ README.md
2
+ pyproject.toml
3
+ proptech/__init__.py
4
+ proptech/brrrr.py
5
+ proptech.egg-info/PKG-INFO
6
+ proptech.egg-info/SOURCES.txt
7
+ proptech.egg-info/dependency_links.txt
8
+ proptech.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ proptech
@@ -0,0 +1,19 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "proptech"
7
+ version = "0.1.0"
8
+ description = "Advanced Python library for real estate investment modeling, BRRRR strategy analysis, and mortgage amortization."
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ requires-python = ">=3.8"
12
+ authors = [
13
+ { name = "Albergracht Technologies", email = "technologies@albergracht.com" },
14
+ ]
15
+ keywords = ["proptech", "real-estate", "brrrr", "mortgage", "investment", "fintech"]
16
+
17
+ [tool.setuptools.packages.find]
18
+ where = ["."]
19
+ include = ["proptech*"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+