Rangekeeper 0.8.30__tar.gz → 0.8.32__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 (39) hide show
  1. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/PKG-INFO +1 -1
  2. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/Rangekeeper.egg-info/PKG-INFO +1 -1
  3. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/pyproject.toml +1 -1
  4. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/flux.py +16 -3
  5. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/README.md +0 -0
  6. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/Rangekeeper.egg-info/SOURCES.txt +0 -0
  7. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/Rangekeeper.egg-info/dependency_links.txt +0 -0
  8. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/Rangekeeper.egg-info/requires.txt +0 -0
  9. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/Rangekeeper.egg-info/top_level.txt +0 -0
  10. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/__init__.py +0 -0
  11. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/api.py +0 -0
  12. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/distribution.py +0 -0
  13. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/duration.py +0 -0
  14. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/dynamics/__init__.py +0 -0
  15. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/dynamics/black_swan.py +0 -0
  16. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/dynamics/cyclicality.py +0 -0
  17. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/dynamics/market.py +0 -0
  18. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/dynamics/noise.py +0 -0
  19. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/dynamics/trend.py +0 -0
  20. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/dynamics/volatility.py +0 -0
  21. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/extrapolation.py +0 -0
  22. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/format.py +0 -0
  23. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/formula/__init__.py +0 -0
  24. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/formula/financial.py +0 -0
  25. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/graph.py +0 -0
  26. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/measure.py +0 -0
  27. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/policy.py +0 -0
  28. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/projection.py +0 -0
  29. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/segmentation.py +0 -0
  30. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/rangekeeper/space.py +0 -0
  31. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/setup.cfg +0 -0
  32. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/tests/test_api.py +0 -0
  33. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/tests/test_dynamics.py +0 -0
  34. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/tests/test_formulas.py +0 -0
  35. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/tests/test_graph.py +0 -0
  36. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/tests/test_measures.py +0 -0
  37. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/tests/test_models.py +0 -0
  38. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/tests/test_modules.py +0 -0
  39. {rangekeeper-0.8.30 → rangekeeper-0.8.32}/tests/test_projections.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Rangekeeper
3
- Version: 0.8.30
3
+ Version: 0.8.32
4
4
  Summary: A Python library assisting financial modelling in real estate asset & development planning, decision-making, cashflow forecasting, and scenario analysis.
5
5
  Author-email: Daniel Fink <danfink@mit.edu>
6
6
  License-Expression: MPL-2.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Rangekeeper
3
- Version: 0.8.30
3
+ Version: 0.8.32
4
4
  Summary: A Python library assisting financial modelling in real estate asset & development planning, decision-making, cashflow forecasting, and scenario analysis.
5
5
  Author-email: Daniel Fink <danfink@mit.edu>
6
6
  License-Expression: MPL-2.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Rangekeeper"
3
- version = "0.8.30"
3
+ version = "0.8.32"
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 = [
6
6
  { name = "Daniel Fink", email = "danfink@mit.edu" }
@@ -384,6 +384,7 @@ class Flow:
384
384
  def resample(
385
385
  self,
386
386
  frequency: rk.duration.Type,
387
+ origin: Optional[Union[str, pd.Timestamp]] = "end_day",
387
388
  ) -> Flow:
388
389
  """
389
390
  Returns a Flow with movements summed to specified frequency of periods
@@ -393,6 +394,7 @@ class Flow:
393
394
  .resample(
394
395
  rule=rk.duration.Type.offset(frequency),
395
396
  label="right",
397
+ origin=origin,
396
398
  )
397
399
  .sum(),
398
400
  units=self.units,
@@ -402,13 +404,20 @@ class Flow:
402
404
  def to_periods(
403
405
  self,
404
406
  frequency: rk.duration.Type,
407
+ origin: Optional[Union[str, pd.Timestamp]] = "end_day",
405
408
  ) -> pd.Series:
406
409
  """
407
410
  Returns a pd.Series (of index pd.PeriodIndex) with movements summed to specified frequency
408
411
  """
409
412
  return (
410
- self.resample(frequency=frequency)
411
- .movements.to_period(freq=rk.duration.Type.period(frequency), copy=True)
413
+ self.resample(
414
+ frequency=frequency,
415
+ origin=origin,
416
+ )
417
+ .movements.to_period(
418
+ freq=rk.duration.Type.period(frequency),
419
+ copy=True,
420
+ )
412
421
  .rename_axis("period")
413
422
  .groupby(level="period")
414
423
  .sum()
@@ -542,7 +551,11 @@ class Stream:
542
551
  """The latest date of the Stream's constituent Flows' movements."""
543
552
 
544
553
  self._resampled_flows = [
545
- flow.to_periods(frequency=self.frequency) for flow in self.flows
554
+ flow.to_periods(
555
+ frequency=self.frequency,
556
+ origin=self.start_date,
557
+ )
558
+ for flow in self.flows
546
559
  ]
547
560
  self.frame = (
548
561
  pd.concat(
File without changes
File without changes