Skip to main content

A python package to simulate typographical errors.

Project description

typo

typo is a python package to simulate typographical errors in English language.

Release 0.1.7

  • Ability to preserve first and/or last characters in error methods.

Usage

import typo
import datetime

myStrErrer = typo.StrErrer('Hello World! Happy new year 2021.', seed=31)
print(myStrErrer.missing_char().result)
# Should print 'ello World! Happy new year 2021.'

myStrErrer = typo.StrErrer('Hello World! Happy new year 2021.', seed=31)
print(myStrErrer.missing_char(preservefirst=True).result)
# Should print 'Hllo World! Happy new year 2021.'

myStrErrer = typo.StrErrer('Hello World! Happy new year 2021.', seed=2)
print(myStrErrer.missing_char().char_swap().result)
# Should print 'Hlol World! Happy new year 2021.'

myIntErrer = typo.IntErrer(34343, seed=1)
print(myIntErrer.similar_digit().result)
# Should print 39343

myDateErrer = typo.DateErrer(datetime.datetime.strptime("8 Mar 95", "%d %b %y"))
print(myDateErrer.date_month_swap().result)
# Should print 1995-08-03 00:00:00

Currently, following types of typos can be simulated:

String typos:

Given the input Hello World! Happy new year 2021., different error types produce the following errors.

Error method Description Sample output
char_swap(preservefirst=False, preservelast=False) Swaps two random consecutive word characters in the string. Hello World! Ahppy new year 2021.
missing_char(preservefirst=False, preservelast=False) Skips a random word character in the string. Hllo World! Happy new year 2021.
extra_char(preservefirst=False, preservelast=False) Adds an extra, keyboard-neighbor, letter next to a random word character. Hrello World! Happy new year 2021.
nearby_char(preservefirst=False, preservelast=False) Replaces a random word character with keyboard-neighbor letter. Hello World! Happy new ysar 2021.
similar_char() Replaces a random word character with another visually similar character. Hell0 world! Happy new year 2021.
skipped_space() Skips a random space from the string. Hello world! Happy new year2021.
random_space() Adds a random space in the string. Hell o world! Happy new year 2021.
repeated_char() Repeats a random word character. Hello worrld! Happy new year 2021.
unichar() Replaces a random consecutive repeated letter with a single letter. Hello world! Hapy new year 2021.

Integer typos:

Error method Description Input Sample output
digit_swap(preservefirst=False, preservelast=False) Swaps two random consecutive digits in the integer. 1234567890 1324567890
missing_digit(preservefirst=False, preservelast=False) Skips a random digit in the integer. -1234567890 -123457890
extra_digit(preservefirst=False, preservelast=False) Adds an extra, keyboard-neighbor, digit next to a random digit in the integer. 1234567890 12345678920
nearby_digit(preservefirst=False, preservelast=False) Replaces a random digit in the integer with a keyboard-neighbor digit. 1234567890 1234567892
similar_digit() Replaces a random digit with another visually similar digit. 1234567890 1234567896
repeated_digit() Repeats a random digit in the integer. 1234567890 12345678900
unidigit() Replaces a random consecutive repeated digit with a single digit. -112233445566 -11233445566

Datetime typos:

Error method Description Input Sample output
date_month_swap() Swaps the day and month of the date if the value of the day is less than or equal to 12. 8 Mar 95 3 Aug 95

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

typo-0.1.7.tar.gz (7.3 kB view hashes)

Uploaded Source

Supported by

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