Skip to main content

wolof-numbers

Wolof numeral and currency phrase parser. Parse Wolof cardinal numbers from 1 to 1,000,000,000 and currency phrases in XOF/FCFA/CFA. MIT-licensed, PyPI-published as v0.1.0.

Install

pip install wolof-numbers

Quick Start

from wolof_numbers import parse_number, parse_currency_amount, parse_strict

# Cardinal number
result = parse_number("ñaar junni")
print(result.value)       # 2000
print(result.confidence)  # 1.0

# Strict parsing (returns int, raises on ambiguity)
value = parse_strict("ñaar junni")
print(value)  # 2000

# Currency phrase
amt = parse_currency_amount("ñaar junni franc CFA")
print(amt.amount)    # 2000
print(amt.currency)  # "XOF"

Supported Range

Range Status
1 – 9 (ones) Supported
10 – 99 (tens) Supported
100 – 999 (hundreds) Supported
1,000 – 99,999 (thousands) Supported
100,000 – 999,999 Supported
1,000,000 – 1,000,000,000 Supported

Supported Forms

  • Cardinals only in v0.1.0 — benn (1), ñaar (2), … juróom-ñaar (7), fukk (10), téeméer (100), junni (1000)
  • Wolof↔French code-switching — ñaar mille francs is parsed as 2000 XOF
  • Diacritic-insensitive input — naar, NAAR, ñaar all resolve to canonical ñaar
  • ~100 orthographic aliases covering regional variants (Lebu, Saloum-Saloum, Northern cluster) and common ASR transcript variants

Known Limitations (v0.2 targets)

Form Example v0.1.0 Behavior
Ordinals ñaaréél (second) Raises UnsupportedNumeralForm(kind="ordinal")
Fractions genn ci ñaar (one-half) Raises UnsupportedNumeralForm(kind="fraction")
Arabic loanwords alfu (1000) Raises UnsupportedNumeralForm(kind="loanword")

Stability

v0.x.y: public API is committed-to; internals are not. Breaking changes to the public API will bump to 0.(x+1).0 with a migration note in CHANGELOG.

The public API surface consists of: parse, parse_strict, parse_number, parse_currency_amount, normalize, ParseResult, AmountResult, Interpretation, AmbiguityError, UnsupportedNumeralForm.

Linguistic Source

The cardinal numeral system is based on Guérin 2021 (Constance Guérin's linguistic research on Wolof numerals) and supplemented by jangawolof.org.

Contributing

Non-developers can extend the alias table by editing wolof_numbers/data/aliases.yaml — no Python knowledge required. Each entry maps a canonical Wolof orthography to a list of accepted variants. Open a PR with new variants and a usage example.

License

MIT — see LICENSE. Copyright (c) 2026 Kuma Labs.

Metadata

Release files for wolof-numbers 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wolof-numbers 0.3.0
File Size Uploaded
wolof_numbers-0.3.0.tar.gz 27.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wolof-numbers 0.3.0
File Interpreter ABI Platform
wolof_numbers-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 43.4 kB

Release files / wolof_numbers-0.3.0.tar.gz

Download URL wolof_numbers-0.3.0.tar.gz
Size 27.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b653f76563961b32df8be346177b70f1f79d175442623e18b699d952a0ca6cfb
BLAKE2b-256 checksum
How to use checksums
f8f9abb5a9b163221d0be35d7bf96e08e10435baa9770a53d47d9137871c2c29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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}

Release files / wolof_numbers-0.3.0-py3-none-any.whl

Download URL wolof_numbers-0.3.0-py3-none-any.whl
Size 16.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2abc04b4d1ae5c22f088e8089891ee6564438c78bcd67ea9a1d0f61b7b0ff7ea
BLAKE2b-256 checksum
How to use checksums
5ff4f6e4de77deb6f38649288bf3c605eab2e6323d18c3a372d08ede010877b9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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}

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page