Skip to content

modeleon 0.2.4 - #5

Merged
adilkhanovkz merged 1 commit into
mainfrom
release/0.2.4
Oct 27, 2026
Merged

adilkhanovkz merged 1 commit into
mainfrom
release/0.2.4

Conversation

@adilkhanovkz

Copy link
Copy Markdown
Member

Release 0.2.4.

  • PMT, FV and PV run inside a loop container — a payment worked out each month on the balance as it stands, d.payment = -mo.PMT(rate, months_left, d.open), is one live =-PMT(…) per column, as IPMT and PPMT already were; a month with no term left is #NUM!, guarded with mo.IF(months_left > 0, …, 0).
  • PMT, FV and PV give the spreadsheet's results at the edges — #NUM! where the recalculated book shows it, the error a cell holds as the result, a type other than 0 read as 1; PMT keeps its digits at tiny rates.
  • A Decimal or a numpy value reads as the value it holds in the functions that read a number as the spreadsheet does (IPMT, NPER, EXP, VALUE, TEXT, …), where 0.2.3 gave #VALUE!.
  • Totals that turn on the period's number or dates — a formula whose total turns on mo.time.index, .start or .end (a price switched by date, a payroll grown by the period's number) no longer sums or recomputes to a wrong total: without a re-grain rule its total cells show #VALUE!, and model.at(grain) raises, naming the line and the rule to give.

Behaviour changes: a flow switched on by date or by the period's number, which 0.2.3 summed right, now needs .set_regrain(mo.up('sum')) (a level read off the dates, mo.up('last')). PMT's last digits move, so an identity built on it (FV of the payment back to 0) need not come out exact — compare with ROUND or a tolerance. PMT at a rate below -100% over a whole term is #NUM!, as in the spreadsheet.

The full list is in CHANGELOG.md.

@adilkhanovkz
adilkhanovkz merged commit fb314f6 into main Oct 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant