Skip to main content

A library for converting numbers to words contextually.

Project description

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
    

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

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

mathspell-0.0.2.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

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

mathspell-0.0.2-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file mathspell-0.0.2.tar.gz.

File metadata

  • Download URL: mathspell-0.0.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.4

File hashes

Hashes for mathspell-0.0.2.tar.gz
Algorithm Hash digest
SHA256 739b1cae0292ae47a08ebdffcc40936efb912b9364b0ca582ede0ae56822dd5c
MD5 282df0b4684e154b0a789921dd3dcd5b
BLAKE2b-256 a949bf74cc95e1076560c75027edad381212b24f79e8479246419446cf3cac45

See more details on using hashes here.

File details

Details for the file mathspell-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: mathspell-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.4

File hashes

Hashes for mathspell-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b4b57f064fac5759d27f31a52763652a32fdd4faa79013ca64e286913f13903d
MD5 26c38db415c77cc4d4f217106610a4e8
BLAKE2b-256 fb30b2ffc45bfca55caa1ac5f250f0cb01d55f9fe8efa3ea230a0380189fdb9c

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