Development#

Release Notes#

1.1.0#

We’re happy to announce the release of numpy-financial 1.1.0!

Enhancements#

  • ENH: Use Newton’s method to calculate IRR (#47).

  • ENH: Allow npv calculation to be broadcastable (#54).

  • Avoid redundant computations in IRR calculation (#60).

  • ENH: NPV: Support calculation for vectors of rates and cashflows (#96).

  • REL: Update minimum required versions (#102).

  • ENH: npv: Rework npv function to mimic broadcasting (#108).

  • Updated irr function [issue 98] (#99).

  • ENH: nper: broadcast rework with Cython (#118).

  • ENH: nper: Perform C division where appropriate (#120).

  • ENH: mirr: Mimic broadcasting (#125).

Documentation#

  • DOC: First draft to help getting the code (#71).

  • Updating mirr docstring [issue 76] (#86).

  • DOC: Add developer documentation for benchmarking (#103).

  • DOC: build dev documentation (#107).

  • DOC: Add documentation for editing another persons PR (#111).

  • DOC: docs: Document how to build the documentation (#106).

  • Doc/building with spin (#115).

  • MAINT: Config benchmarks to work with asv again (#124).

  • ENH: mirr: Mimic broadcasting (#125).

Maintenance#

  • MAINT: Tidy up environment.yml (#127).

  • CI: Fix CI errors (#135).

  • MAINT: use a PEP 639 project.license SPDX expression (#134).

Other#

  • BUG: fix some issues with nper (#21).

  • BUG: make ipmt return nan for per < 1 (#22).

  • MAINT: clean up the implementation of fv (#24).

  • BUG: prevent underflow/overflow when finding roots in IRR (#25).

  • MAINT: small cleanups to ipmt (#26).

  • TST: clean up ppmt tests (#27).

  • Move tests into own classes (#41).

  • DOC: Correctly link to NumPy’s Code (#42).

  • ENH: IRR: Select lowest positive rate (#43).

  • TEST: Add regression test for gh-44 (#45).

  • TEST: Drop python 3.5 tests (#51).

  • ENH: Return close results in rate calculation (#49).

  • TST/MAINT: Update CI scirpts (#59).

  • Small addition to IRR function (#62).

  • MAINT: Migrate to poetry (#63).

  • DOC: Add GitHub issue templates (#67).

  • TST: Make linting own step in CI pipeline (#68).

  • MAINT: Test against Python 3.12 (#69).

  • parametrize tests (#75).

  • MAINT: Make guess parameter keyword only (#77).

  • Initial change to pydata_sphinx_theme (#65).

  • CI/STY: Move to Ruff (#79).

  • MAINT: Run ruff on test file (#80).

  • BENCH: Initial asv setup (#81).

  • CI/BENCH: Add style checks for benchmarks (#82).

  • Set up development docs as rst files (#88).

  • Add automated documentation testing when building (#94).

  • Removed all instances of assert_almost_equal (#97).

  • REV: Remove numba (#101).

  • DOC: Docs fixup (#109).

  • BLD: Attempt to build using spin (#114).

  • DOC: Move documentation to correct folder (#113).

  • MAINT: Tidy up imports (#117).

  • Altered IRR function to accept 2D-array (#122).

  • DOC: Fixed a typo - principle to principal (#129).

  • TYP: Inline typing annotations (#136).

  • Add spin lint (#142).

  • Test on newer Python versions (#143).

  • Add trusted publishing workflows (#144).

  • Derive version from numpy_financial/init.py (#145).

  • Release docs (#146).

  • Move release notes to CHANGELOG.md (#147).

  • Move release notes to CHANGELOG.md (#148).

  • Fix docs workflow (#149).

  • Fix the documentation publishing workflow (#150).

  • docs: do not fail if the dev directory exists (#151).

  • Document how to publish the release documentation (#152).

Contributors#

17 authors added to this release (alphabetically):

17 reviewers added to this release (alphabetically):

1.0.0#

  • The transition of the source code from NumPy to this package is complete.

0.2.0#

  • Removed the use of numpy.core.overrides.array_function_dispatch to create wrappers of the financial functions.

  • Support NumPy versions back to 1.15.

0.1.0#

  • This is the initial release of numpy-financial. The functions were copied from NumPy 1.17.