Skip to main content

MathSpell

MathSpell is a Python package for converting numbers into contextually appropriate words, such as "twenty-first century" for years or "two thousand and twenty-three" for general numbers.

Installation

  1. Install the package:

    pip install mathspell
    
  2. Download the required spaCy language model:

    python -m spacy download en_core_web_sm
    
  3. Upgrade Pint to it's latest version if it is incompatible with the current version of numpy.

    pip install --upgrade pint
    

Usage

After installation, you can use MathSpell to process text containing numbers. For example:

from mathspell import analyze_text

text = "This is the 21st century. I was born in 1995."
converted_text = analyze_text(text)
print(converted_text)
# Output: "This is the twenty-first century. I was born in nineteen ninety-five."

Further Examples

1. Year Conversion

from mathspell import analyze_text

input_text = "Something happened in 2021."
output = analyze_text(input_text)
print(output)
# Output: "Something happened in twenty twenty-one."

2. Ordinal Numbers

from mathspell import analyze_text

input_text = "This is my 3rd attempt to fix the bug."
output = analyze_text(input_text)
print(output)
# Output: "This is my third attempt to fix the bug."

3. Dates and Years

from mathspell import analyze_text

input_text = "My birthday is on 4th April, 1993."
output = analyze_text(input_text)
print(output)
# Output: "My birthday is on fourth April, nineteen ninety-three."

4. Quantities

from mathspell import analyze_text

input_text = "This contains 15 boxes."
output = analyze_text(input_text)
print(output)
# Output: "This contains fifteen boxes."

5. Handling Ordinal and Non-Ordinal Context

from mathspell import analyze_text

input_text = "This is the 1st floor, and the elevator can hold 5 people."
output = analyze_text(input_text)
print(output)
# Output: "This is the first floor, and the elevator can hold five people."

6. Temperature Conversion

from mathspell import analyze_text

input_text = "The temperature is expected to be 25 degrees tomorrow."
output = analyze_text(input_text)
print(output)
# Output: "The temperature is expected to be twenty-five degrees tomorrow."

7. Complex Sentence

from mathspell import analyze_text

input_text = "The 2nd prize was awarded in 2022 for the 10th time."
output = analyze_text(input_text)
print(output)
# Output: "The second prize was awarded in twenty twenty-two for the tenth time."

Metadata

Release files for mathspell 0.1.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 mathspell 0.1.0
File Size Uploaded
mathspell-0.1.0.tar.gz 10.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mathspell 0.1.0
File Interpreter ABI Platform
mathspell-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 22.2 kB

Release files / mathspell-0.1.0.tar.gz

Download URL mathspell-0.1.0.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
fd21cdc2bd007cd12090b902a1fd0b77517daf294dcb9f7de415ac4b4ca851c4
BLAKE2b-256 checksum
How to use checksums
d42803b974b430cda97c79f1804c48a326854ca0dd77b0606797867ed52fc292
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.5

Release files / mathspell-0.1.0-py3-none-any.whl

Download URL mathspell-0.1.0-py3-none-any.whl
Size 11.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c148baa48d6f67ef6b1447689e486aca54b808b9717f0552588d248218f8f0d1
BLAKE2b-256 checksum
How to use checksums
563f11bb2f420fb9a853dd8f7c02601976b1df03fd045448e692240cc2b6597d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.11.5

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.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