rangekeeper 0.7.2__tar.gz → 0.7.2.post2__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 (26) hide show
  1. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/PKG-INFO +1 -1
  2. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/pyproject.toml +1 -1
  3. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/flux.py +10 -5
  4. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/README.md +0 -0
  5. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/__init__.py +0 -0
  6. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/api.py +0 -0
  7. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/conftest.py +0 -0
  8. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/distribution.py +0 -0
  9. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/duration.py +0 -0
  10. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/dynamics/__init__.py +0 -0
  11. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/dynamics/black_swan.py +0 -0
  12. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/dynamics/cyclicality.py +0 -0
  13. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/dynamics/market.py +0 -0
  14. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/dynamics/noise.py +0 -0
  15. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/dynamics/trend.py +0 -0
  16. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/dynamics/volatility.py +0 -0
  17. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/extrapolation.py +0 -0
  18. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/format.py +0 -0
  19. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/formula.py +0 -0
  20. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/graph.py +0 -0
  21. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/measure.py +0 -0
  22. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/policy.py +0 -0
  23. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/projection.py +0 -0
  24. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/segmentation.py +0 -0
  25. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/space.py +0 -0
  26. {rangekeeper-0.7.2 → rangekeeper-0.7.2.post2}/rangekeeper/span.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: Rangekeeper
3
- Version: 0.7.2
3
+ Version: 0.7.2.post2
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "Rangekeeper"
3
- version = "0.7.2"
3
+ version = "0.7.2-2"
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"
@@ -445,7 +445,7 @@ class Stream:
445
445
  # format = self._format(decimals=decimals)
446
446
  # print(format + os.linesep)
447
447
 
448
- def __iadd__(self, other):
448
+ def __add__(self, other):
449
449
  flows = self.flows
450
450
  if isinstance(other, Flow):
451
451
  flows.append(other)
@@ -458,6 +458,7 @@ class Stream:
458
458
  flows=flows,
459
459
  frequency=self.frequency)
460
460
 
461
+
461
462
  def is_homogeneous(self) -> bool:
462
463
  return len(list(set(list(self.units.values())))) == 1
463
464
 
@@ -684,8 +685,10 @@ class Stream:
684
685
  json.dumps(
685
686
  {flow.name: flow.units.__str__() for flow in self.flows}, indent=4)))
686
687
  else:
687
- return Flow(
688
- movements=self.frame.min(axis=1),
688
+ name=name if name is not None else self.name + ' (min)'
689
+ return Flow.from_sequence(
690
+ sequence=self.frame.index,
691
+ data=self.frame.min(axis=1).to_list(),
689
692
  units=next(iter(self.units.values())),
690
693
  name=name)
691
694
 
@@ -700,8 +703,10 @@ class Stream:
700
703
  json.dumps(
701
704
  {flow.name: flow.units.__str__() for flow in self.flows}, indent=4)))
702
705
  else:
703
- return Flow(
704
- movements=self.frame.max(axis=1),
706
+ name=name if name is not None else self.name + ' (max)'
707
+ return Flow.from_sequence(
708
+ sequence=self.frame.index,
709
+ data=self.frame.max(axis=1).to_list(),
705
710
  units=next(iter(self.units.values())),
706
711
  name=name)
707
712
 
File without changes