Skip to main content

xfingine

Python bindings for Xfingine — pure computation engines for personal finance planning.

Data in, arithmetic, data out. No UI, no network, no clock — the same input always produces the same output.

pip install xfingine

Usage

import xfingine

result = xfingine.compute_emi({
    "mode": "emi",            # "emi" | "tenure" | "loanAmount"
    "loanAmount": 5_000_000,
    "months": 240,
    "interestRate": 9,        # percent per year
    "inflationRate": 6,       # percent per year
    "start": "2026-01",       # optional, enables dates + per-year breakdown
})

result["emi"]                    # 44986    — the monthly payment
result["totals"]["nominalPaid"]  # 10796818 — rupees actually debited
result["totals"]["realPaid"]     # 6391327  — the same, in 2026 rupees
len(result["schedule"])          # 240 rows, month by month
len(result["years"])             # 20 rows, one per calendar year

Straight into a DataFrame:

import pandas as pd

df = pd.DataFrame(result["schedule"])
df[["year", "month", "emi", "principal", "interest", "realEmi"]].head()

There is a _json twin of every function for string in / string out:

xfingine.compute_emi_json('{"mode":"emi","loanAmount":5000000,"months":240,"interestRate":9}')

Invalid input raises ValueError with a readable message:

xfingine.compute_emi({"mode": "tenure", "loanAmount": 5_000_000,
                      "emi": 1000, "interestRate": 12})
# ValueError: monthly payment of 1000.00 does not cover the first month's
#             interest of 50000.00; the loan would never be repaid

Conventions

  • Money comes back as whole rupees (int).
  • Rates are percentages, not fractions: 9 means 9%.
  • All keys are camelCase.
  • Omit start and the engine reads no calendar — schedule rows carry no dates and years is empty.

Full documentation: github.com/xfina-dev/xfingine

License

Apache-2.0

Release files for xfingine 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for xfingine 0.1.1
File Size Uploaded
xfingine-0.1.1.tar.gz 160.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for xfingine 0.1.1
File
xfingine-0.1.1-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
xfingine-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
xfingine-0.1.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 abi3 Linux glibc 2.17+ ARM64 Details
xfingine-0.1.1-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
xfingine-0.1.1-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 1.8 MB

Release files / xfingine-0.1.1.tar.gz

Download URL xfingine-0.1.1.tar.gz
Size 160.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cbdf2d3d406f2d8f98868435bcecf5d3de98181db24876f90f1fe5c15a32a79b
BLAKE2b-256 checksum
How to use checksums
27d1c6cda7921b8b0cc3dd8b8a9d9844e713ad8e8e1842b7ba7d60c063a7fe0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / xfingine-0.1.1-cp38-abi3-win_amd64.whl

Download URL xfingine-0.1.1-cp38-abi3-win_amd64.whl
Size 237.8 kB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
82ef6fc6cab1ec63eece2f21b88675baa58888070cb1a74a1e195fa5c39fbe3b
BLAKE2b-256 checksum
How to use checksums
4773bc770f1f94c0ec989de2856641a228d9bfb6ce2080653e5086f2d7d28af8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / xfingine-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL xfingine-0.1.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 387.9 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
3da0218a7b6411b4dbd9d4a18de8e0ee97074821f80e3313d683ebf546c52bfe
BLAKE2b-256 checksum
How to use checksums
64880b9cf856cab56450749f7696217e3423fb1629a7564c4d2d1a35d54f092a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / xfingine-0.1.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL xfingine-0.1.1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 377.3 kB
Tags CPython 3.8 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
9b43a98492bfc765fcbd394eff948c6491780f5b0963ddda98f0392f088d9ca1
BLAKE2b-256 checksum
How to use checksums
26536805e936970a9f7562c38441b9d7b138eba8a1137c69c8b6d7f9d2a078fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / xfingine-0.1.1-cp38-abi3-macosx_11_0_arm64.whl

Download URL xfingine-0.1.1-cp38-abi3-macosx_11_0_arm64.whl
Size 334.9 kB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8fde64640e347b44735e041cf3a358192ec3e128dd6de42a0f3b599c589932f7
BLAKE2b-256 checksum
How to use checksums
ac91a5db00f54474e60642d6818b11c0f926fa6f6850e4cb8fbe10e73aa4a353
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / xfingine-0.1.1-cp38-abi3-macosx_10_12_x86_64.whl

Download URL xfingine-0.1.1-cp38-abi3-macosx_10_12_x86_64.whl
Size 341.4 kB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
78f3ead0e40d351f7210b45696018afd672ba773d72528cdc1b69504267a78d8
BLAKE2b-256 checksum
How to use checksums
59fe70b8f071b8a67e63d0221568f3491fd14a1973a39db9c520e29e453853f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 This release

6 release files

0.1.0

6 release files

0.0.2

6 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page