From ea45683ee2b42beeae7ecd8efc38e69dc07364b1 Mon Sep 17 00:00:00 2001 From: devAbreu <100288811+devAbreu@users.noreply.github.com> Date: Tue, 27 May 2025 14:36:25 -0500 Subject: [PATCH] docs: improve README with precision explanation and acknowledgments --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 7c39d12..93c825e 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ A lightweight, precise, and professional library for handling money in Python applications. `moneyx` solves **precision, rounding, and representation issues** that occur when using floating-point types like `float` for monetary calculations. +Unlike many Python money libraries, moneyx strictly enforces that all monetary amounts are represented with the correct number of decimal places for their currency. For example, 3.678 USD is automatically rejected as invalid (USD allows only 2 decimal places), as is 5.5 JPY (JPY allows 0 decimal places). + ## 💰 Money Pattern This library implements the Money Pattern as described by Martin Fowler in his book "Patterns of Enterprise Application Architecture" (2002). As Fowler notes: @@ -268,6 +270,10 @@ Run benchmarks yourself with: python -m pytest tests/test_benchmark.py --no-cov --benchmark-columns=Min,Max,Mean,Median,OPS ``` +## 👏 Acknowledgments + +This library was inspired by [py-money](https://github.com/vimeo/py-money) by Vimeo, while expanding functionality with additional features like multiple rounding strategies, allocation methods, and tax calculation utilities. + ## 📖 License MIT License - see [LICENSE](LICENSE) for details.