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
- Clone the repository:
git clone https://github.com/yourusername/numt.git
cd numt
- Install dependencies using Poetry:
poetry install
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
023301de66f7ceec2a41c4b1255c72e8804c760ea0e0e7b2934e71dc1a4c629d
|
|
| MD5 |
96c9f91addf4885f429aca36c1a1e006
|
|
| BLAKE2b-256 |
26b25320122d658dc562e21d396d56354b77601cd0e272358b083ee8ad3ecb38
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
948595bd2f7b59cd7807cfba087f44b3a6783a5daed7994fe88c28ee6e723a3f
|
|
| MD5 |
da164fec8c64cac856e8d92e8261af3d
|
|
| BLAKE2b-256 |
06928cb12b713c362e2f5680166cc752d5267edebd837c67a20db3df422f63b8
|