Skip to main content
pycents logo

Tests Python Version Linter: Ruff Checked with mypy codecov License: MIT

PyCents

pycents is a strongly typed Python library for representing and manipulating monetary values with ISO 4217-compliant currencies and explicit rounding semantics and rich formatting options.

  • ISO 4217 compliance — currencies are represented with their standardized codes and minor-unit definitions, while Money uses integer minor units for exact monetary representation.

  • Explicit rounding — monetary rounding is never performed implicitly during arithmetic. Rounding occurs only when explicitly requested by the application. (Note: Intermediate arithmetic remains bound by the standard limits of Python's underlying decimal context. See the [Guide] for technical details)."

Features

  • ISO 4217 currency definitions
  • Immutable Money type
  • Precise decimal arithmetic
  • Explicit rounding semantics.
  • Locale-aware currency formatting
  • Pluggable formatting backends
  • Custom format specification

Status

1.0.0 (Production Ready)

pycents is stable and ready for production use. The public API is frozen and fully covered by tests, adhering strictly to Semantic Versioning (SemVer).

Documentation

Full documentation and API reference are available at pycents.readthedocs.io.

License

pycents is distributed under the MIT License. See the LICENSE file for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycents-1.0.1.tar.gz (138.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycents-1.0.1-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

Details for the file pycents-1.0.1.tar.gz.

File metadata

  • Download URL: pycents-1.0.1.tar.gz
  • Upload date:
  • Size: 138.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pycents-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3b89981819832c43cd905a4da424a7977705272a85658a26bb4b496eedda8b6a
MD5 11d19977e190ea80fe4c9a6d973ab51a
BLAKE2b-256 3c47f246a3236e916e586aaeed24cf0cb41a914c5b0eba6a23eb57a33c9ad219

See more details on using hashes here.

File details

Details for the file pycents-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pycents-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 27.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pycents-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a7a4df8d3efca165bce5ca40e9a9b5e5d651faa6ab462081b07423b047246e3d
MD5 cba98295db5bf765ef6e1c9a4a463fff
BLAKE2b-256 fd72552412c6dd26af5b5fc92dfe63e2871f2ee86eee95ff4873421d2da19749

See more details on using hashes here.

Release history Release notifications | RSS feed

1.1.0

2 files

This release

1.0.1 This release

2 files

1.0.0

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page