pyxirr
Rust-powered collection of financial functions for Python.
Decision gist · record as of 2026-08-14
Yes. PyXIRR is a solid choice for financial calculations: it has no runtime dependencies, supports modern Python versions (3.7–3.14), carries a permissive license, and offers significant speed advantages through Rust. The medium install friction is mitigated by pre-built wheels for common platforms. The aging maintenance status (284 days since last release) is a minor concern but not a blocker, given the stable, focused scope of the library and zero known vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Medium install friction due to compiled wheels; however, pre-built wheels are available for Python 3.7–3.14 across macOS, Linux (multiple architectures), and Windows, reducing build overhead for most users.
- Last release was 284 days ago; repository is active but aging.
License · maintenance · safety
Unlicense (permissive) — Licensed under the Unlicense (permissive public domain equivalent), imposing no restrictions on use, modification, or distribution—suitable for commercial and proprietary projects.
last release 2025-11-03 (284 days) · last repo commit 2025-11-03 · 221 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,082,630 downloads/mo, #4,393 on PyPI
Alternatives
Verify before relying
from datetime import date
from pyxirr import xirr
dates = [date(2020, 1, 1), date(2021, 1, 1)]
amounts = [-1000, 1200]
result = xirr(dates, amounts)- Whether the aging maintenance status (284 days since last release) signals a risk for future bug fixes or feature updates.
- Compatibility and performance with very large cash-flow datasets or high-dimensional vectorized operations.
What it is and what it does
PyXIRR is a Python wrapper around Rust-implemented financial functions, designed to compute internal rate of return (XIRR), IRR, NPV, FV, and related metrics with high performance. It handles multiple input formats—iterators, numpy arrays, pandas DataFrames, dictionaries, and date-string pairs—and supports different day-count conventions (ACT/360, 30E/360, etc.) used in fixed-income and corporate finance. The library also includes private equity metrics like PME+ and direct alpha, plus numpy-like vectorization for batch calculations.
The package solves the multiple IRR problem by searching for a positive result near 0.1 (matching Excel's default) and falling back to conservative lower IRR estimates when multiple solutions exist. It has no external runtime dependencies, includes type annotations, and is optimized for speed through its Rust backend. Typical use cases span investment analysis, portfolio performance measurement, and financial modeling where fast, accurate cash-flow calculations are needed.
Use it for
- Calculate investment returns (XIRR) for portfolios with irregular cash flows and multiple entry/exit dates.
- Compute NPV and IRR for capital budgeting and project evaluation with different discount rates.
- Apply day-count conventions in fixed-income bond pricing and accrued interest calculations.
- Batch-process financial metrics across multiple securities or funds using vectorized operations.
- Measure private equity fund performance using PME+ and direct alpha against public market indices.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
PyXIRR is a solid choice for financial calculations: it has no runtime dependencies, supports modern Python versions (3.7–3.14), carries a permissive license, and offers significant speed advantages through Rust. The medium install friction is mitigated by pre-built wheels for common platforms. The aging maintenance status (284 days since last release) is a minor concern but not a blocker, given the stable, focused scope of the library and zero known vulnerabilities.
Install
pyxirr on PyPI
Before you install
Medium install friction due to compiled wheels; however, pre-built wheels are available for Python 3.7–3.14 across macOS, Linux (multiple architectures), and Windows, reducing build overhead for most users. Last release was 284 days ago; repository is active but aging.
License in practice
Licensed under the Unlicense (permissive public domain equivalent), imposing no restrictions on use, modification, or distribution—suitable for commercial and proprietary projects.
Quickstart
from datetime import date
from pyxirr import xirr
dates = [date(2020, 1, 1), date(2021, 1, 1)]
amounts = [-1000, 1200]
result = xirr(dates, amounts)
Verify before relying
- Whether the aging maintenance status (284 days since last release) signals a risk for future bug fixes or feature updates.
- Compatibility and performance with very large cash-flow datasets or high-dimensional vectorized operations.
Package facts
| License | Unlicense permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Aging 284 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,082,630 / month, #4,393 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaLicense :: OSI Approved :: The Unlicense (Unlicense)Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: RustTopic :: Office/Business :: Financial |
Evidence: pyxirr-0.10.8-cp310-cp310-macosx_10_12_x86_64.whl; pyxirr-0.10.8-cp310-cp310-macosx_11_0_arm64.whl; pyxirr-0.10.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyxirr-0.10.8-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; pyxirr-0.10.8-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; pyxirr-0.10.8-cp310-cp310-manylinux_2_17_ppc64.manylinux2014_ppc64.whl; pyxirr-0.10.8-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl; pyxirr-0.10.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pyxirr-0.10.8-cp310-cp310-musllinux_1_2_aarch64.whl; pyxirr-0.10.8-cp310-cp310-musllinux_1_2_armv7l.whl; pyxirr-0.10.8-cp310-cp310-musllinux_1_2_i686.whl; pyxirr-0.10.8-cp310-cp310-musllinux_1_2_x86_64.whl; pyxirr-0.10.8-cp310-none-win_amd64.whl; pyxirr-0.10.8-cp311-cp311-macosx_10_12_x86_64.whl; pyxirr-0.10.8-cp311-cp311-macosx_11_0_arm64.whl; pyxirr-0.10.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; pyxirr-0.10.8-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; pyxirr-0.10.8-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; pyxirr-0.10.8-cp311-cp311-manylinux_2_17_ppc64.manylinux2014_ppc64.whl; pyxirr-0.10.8-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “xirr irr calculation”
- pyxirrPyXIRR is a Rust-backed library that computes financial functions…
- numpy-financialProvides elementary financial functions (IRR, NPV, PMT, and others)…
- pymatgen-io-validationValidates VASP electronic structure calculation inputs and outputs…
Give your agent the search over MCP, or paste the wish link into any chat.
More Financial packages
statsmodels provides statistical models, inference methods, and descriptive statistics for Python, complementing scipy with regression, time series, discrete choice, survival analysis, and multivariate methods.
Install it if you need publication-quality statistical models, hypothesis tests, or time series analysis beyond what scipy or pandas provide.
Generates country- and subdivision-specific government holiday calendars on demand, supporting 250 country codes with optional language localization and holiday categories.
Fetches financial and market data from Yahoo Finance's public APIs, including ticker information, historical prices, and live streaming data.
However, do not use it for commercial applications or high-volume data collection without confirming compliance with Yahoo's terms of service.
Bokeh is an interactive visualization library that creates browser-based plots, dashboards, and data applications from Python code, with support for large and streaming datasets.
Install it if you need browser-based interactivity.
Parses, validates, and reformats standard numbers and codes across many countries and industries—tax IDs, bank accounts, identity numbers, VAT codes, and financial identifiers.
Install it if you validate or reformat standardized numbers.
Provides elementary financial functions (IRR, NPV, PMT, and others) that were deprecated and removed from NumPy, offering a dedicated replacement for financial calculations.
However, given the aging status (no releases since 2019) and unclear compatibility with modern Python and recent numpy versions, verify that it works with your target…
See also rustworkx · moviepilot-rust · delta-kernel-rust-sharing-wrapper · pyiceberg-core · chia-rs · polars-runtime-64 · py-rust-stemmers