{"library":"py-moneyed","title":"PyMoneyed","description":"PyMoneyed provides robust Currency and Money classes for handling monetary values in Python. It is currently at version 3.0 and has a release cadence tied to significant feature additions and Python version support changes, ensuring compatibility and modern practices.","language":"python","status":"active","last_verified":"Fri May 15","install":{"commands":["pip install py-moneyed"],"cli":null},"imports":["from moneyed import Money","from moneyed import USD","from moneyed.l10n import format_money","from moneyed import list_all_currencies"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from moneyed import Money, USD, EUR\nfrom decimal import Decimal\n\n# Instantiate Money with Decimal or string for precision\nprice_usd = Money(amount='99.99', currency=USD)\nprice_eur = Money(Decimal('75.50'), EUR)\n\nprint(f\"USD Price: {price_usd}\")\nprint(f\"EUR Price: {price_eur}\")\n\n# Arithmetic operations (currency-aware)\ntotal_price = price_usd + Money('10.01', USD)\nprint(f\"Total USD: {total_price}\")\n\n# Invalid operations raise TypeError\ntry:\n    invalid_sum = price_usd + price_eur\nexcept TypeError as e:\n    print(f\"Error: {e}\")\n\n# Access components\nprint(f\"Amount: {total_price.amount}, Currency Code: {total_price.currency.code}\")\n\n# Get amount in sub-units (e.g., cents for USD)\nprint(f\"USD Price in cents: {price_usd.get_amount_in_sub_unit()}\")","lang":"python","description":"This quickstart demonstrates how to create `Money` objects, perform basic arithmetic, and access their components. It highlights the importance of using `Decimal` or string for amounts to maintain precision and shows how `Money` enforces currency-aware operations.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-15","installed_version":"3.0","pypi_latest":"3.0","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.1,"avg_import_s":0.06,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.05,"mem_mb":2.7,"disk_size":"51.1M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.2,"import_time_s":0.03,"mem_mb":2.7,"disk_size":"52M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.09,"mem_mb":3,"disk_size":"53.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.08,"mem_mb":3,"disk_size":"54M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.08,"mem_mb":2.8,"disk_size":"45.0M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.08,"mem_mb":2.8,"disk_size":"46M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.07,"mem_mb":2.9,"disk_size":"44.7M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.07,"mem_mb":2.7,"disk_size":"45M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.04,"mem_mb":2.7,"disk_size":"50.6M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"py-moneyed","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.4,"import_time_s":0.03,"mem_mb":2.7,"disk_size":"51M"}]}}