Skip to main content

A light-weight utility library for formatting numbers, currencies, dates, units, and more.

Project description

NumT

NumT is a powerful Python utility library for formatting numbers, currencies, dates, units, and more. It provides a simple and consistent interface for handling various numerical formatting needs.

Features

  • Currency formatting with support for multiple formats (Western, Indian, Continental, Swiss)
  • SI unit conversions and formatting for length, mass, and time
  • Number to word conversion with support for short and long formats
  • Human-readable number formatting with customizable precision

Installation

NumT is available on PyPI and can be installed using pip:

pip install numt

Or using Poetry:

poetry add numt

Usage Examples

Currency Formatting

from numt import format_currency

# Western format (default)
print(format_currency(1234567.89))  # $1,234,567.89

# Indian format
print(format_currency(1234567.89, format_type="indian"))  # ₹12,34,567.89

# Continental format
print(format_currency(1234567.89, format_type="continental"))  # €1.234.567,89

# Swiss format
print(format_currency(1234567.89, format_type="swiss"))  # CHF 1'234'567.89

SI Unit Conversions

from numt import convert_si, Length, Mass, Time

# Length conversions
length = Length(1500, "m")
print(length.format())  # 1.50 km

# Mass conversions
mass = Mass(0.5, "kg")
print(mass.format())  # 500.00 g

# Time conversions
time = Time(3660, "s")
print(time.format())  # 1.02 h

# Direct conversion
result = convert_si(1000, "m", "km", "length")
print(result)  # 1.0

Number Formatting

from numt import to_words

# Short format
print(to_words(1234567))  # 1.23 M
print(to_words(1234567, format_type="long"))  # 1.23 million

# With precision
print(to_words(1234567, precision=1))  # 1.2 M

# Strip zero cents
print(to_words(1000.00, strip_zero_cents=True))  # 1 K

Development

Setup Development Environment

  1. Clone the repository:
git clone https://github.com/yourusername/numt.git
cd numt
  1. Install dependencies using Poetry:
poetry install
  1. Install pre-commit hooks:
poetry run pre-commit install

Running Tests

poetry run pytest

Building the Package

poetry build

Contributing

We welcome contributions! Please see our Contributing Guidelines for details on how to submit pull requests, report issues, and suggest improvements.

Code of Conduct

Please read our Code of Conduct to keep our community approachable and respectable.

License

This project is licensed under the terms of the LICENSE file.

Changelog

See the CHANGELOG.md file for a list of changes between versions.

Project details


Download files

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

Source Distribution

numt-0.1.1.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

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

numt-0.1.1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file numt-0.1.1.tar.gz.

File metadata

  • Download URL: numt-0.1.1.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.11.0-1015-azure

File hashes

Hashes for numt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 023301de66f7ceec2a41c4b1255c72e8804c760ea0e0e7b2934e71dc1a4c629d
MD5 96c9f91addf4885f429aca36c1a1e006
BLAKE2b-256 26b25320122d658dc562e21d396d56354b77601cd0e272358b083ee8ad3ecb38

See more details on using hashes here.

File details

Details for the file numt-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: numt-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.3 Linux/6.11.0-1015-azure

File hashes

Hashes for numt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 948595bd2f7b59cd7807cfba087f44b3a6783a5daed7994fe88c28ee6e723a3f
MD5 da164fec8c64cac856e8d92e8261af3d
BLAKE2b-256 06928cb12b713c362e2f5680166cc752d5267edebd837c67a20db3df422f63b8

See more details on using hashes here.

Supported by

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