rangekeeper 0.7.3__tar.gz → 0.7.4__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.
Files changed (27) hide show
  1. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/PKG-INFO +2 -5
  2. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/pyproject.toml +2 -5
  3. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/flux.py +1 -1
  4. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/formula/financial.py +4 -1
  5. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/README.md +0 -0
  6. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/__init__.py +0 -0
  7. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/api.py +0 -0
  8. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/conftest.py +0 -0
  9. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/distribution.py +0 -0
  10. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/duration.py +0 -0
  11. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/dynamics/__init__.py +0 -0
  12. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/dynamics/black_swan.py +0 -0
  13. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/dynamics/cyclicality.py +0 -0
  14. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/dynamics/market.py +0 -0
  15. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/dynamics/noise.py +0 -0
  16. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/dynamics/trend.py +0 -0
  17. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/dynamics/volatility.py +0 -0
  18. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/extrapolation.py +0 -0
  19. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/format.py +0 -0
  20. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/formula/__init__.py +0 -0
  21. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/graph.py +0 -0
  22. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/measure.py +0 -0
  23. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/policy.py +0 -0
  24. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/projection.py +0 -0
  25. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/segmentation.py +0 -0
  26. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/space.py +0 -0
  27. {rangekeeper-0.7.3 → rangekeeper-0.7.4}/rangekeeper/span.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Rangekeeper
3
- Version: 0.7.3
3
+ Version: 0.7.4
4
4
  Summary: A Python library assisting financial modelling in real estate asset & development planning, decision-making, cashflow forecasting, and scenario analysis.
5
5
  License: MPL-2.0
6
6
  Author: Daniel Fink
@@ -13,19 +13,16 @@ Classifier: Programming Language :: Python :: 3.11
13
13
  Classifier: Programming Language :: Python :: 3.12
14
14
  Requires-Dist: aenum (>=3.1,<4.0)
15
15
  Requires-Dist: matplotlib (>=3.10,<4.0)
16
- Requires-Dist: mpld3 (>=0.5,<0.6)
17
16
  Requires-Dist: multiprocess (>=0.70,<0.71)
18
17
  Requires-Dist: networkx (>=3.3,<4.0)
19
18
  Requires-Dist: numba (>=0.61,<0.62)
20
19
  Requires-Dist: numpy-financial (>=1.0,<2.0)
21
- Requires-Dist: pandas (>=2,<3)
20
+ Requires-Dist: pandas (>=2.2,<3.0)
22
21
  Requires-Dist: pint (>=0.24,<0.25)
23
22
  Requires-Dist: plotly (>=6.0,<7.0)
24
23
  Requires-Dist: py-moneyed (>=3.0,<4.0)
25
- Requires-Dist: pyarrow (>=19.0,<20.0)
26
24
  Requires-Dist: pyvis (>=0.3,<0.4)
27
25
  Requires-Dist: pyxirr (>=0.10,<0.11)
28
- Requires-Dist: pyyaml (>=6.0,<7.0)
29
26
  Requires-Dist: scipy (>=1.14,<2.0)
30
27
  Requires-Dist: seaborn (>=0.13,<0.14)
31
28
  Requires-Dist: specklepy (>=2.21,<3.0)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "Rangekeeper"
3
- version = "0.7.3"
3
+ version = "0.7.4"
4
4
  description = "A Python library assisting financial modelling in real estate asset & development planning, decision-making, cashflow forecasting, and scenario analysis."
5
5
  authors = ["Daniel Fink <danfink@mit.edu>"]
6
6
  license = "MPL-2.0"
@@ -9,22 +9,19 @@ readme = "README.md"
9
9
  [tool.poetry.dependencies]
10
10
  python = ">=3.10, <3.13"
11
11
  matplotlib = "^3.10"
12
- pandas = "^2"
12
+ pandas = "^2.2"
13
13
  pint = "^0.24"
14
14
  pyxirr = "^0.10"
15
15
  scipy = "^1.14"
16
16
  networkx = "^3.3"
17
17
  py-moneyed = "^3.0"
18
18
  tabulate = "^0.9"
19
- pyyaml = "^6.0"
20
19
  specklepy = "^2.21"
21
20
  numba = "^0.61"
22
21
  multiprocess = "^0.70"
23
22
  seaborn = "^0.13"
24
23
  pyvis = "^0.3"
25
24
  plotly = "^6.0"
26
- mpld3 = "^0.5"
27
- pyarrow = "^19.0"
28
25
  aenum = "^3.1"
29
26
  numpy-financial = "^1.0"
30
27
 
@@ -293,7 +293,7 @@ class Flow:
293
293
  self,
294
294
  frequency: rk.duration.Type) -> Flow:
295
295
  """
296
- Returns a Flow with movements summed to specified frequency of dates
296
+ Returns a Flow with movements summed to specified frequency of periods
297
297
  """
298
298
  return rk.flux.Flow(
299
299
  movements=self.movements.copy(deep=True).resample(rule=rk.duration.Type.period(frequency)).sum(),
@@ -60,8 +60,11 @@ class Balance:
60
60
  starts = self.startings.movements.where(self.startings.movements < 0).fillna(0)
61
61
  ends = self.endings.movements.where(self.endings.movements < 0).fillna(0)
62
62
 
63
+ overdrafts = ends - starts
64
+ overdrafts = overdrafts.where(overdrafts < 0).dropna()
65
+
63
66
  return rk.flux.Flow(
64
- movements=ends - starts,
67
+ movements=overdrafts,
65
68
  units=self.startings.units,
66
69
  name='Overdraft' if name is None else name)
67
70
 
File without changes