Skip to main content

A Python library to clean swear words in strings

Project description

better_profanity

A Python library to clean swear words in strings.

Inspired from package profanity of Ben Friedland, this library only supports English language and is much faster than the original one, by using string comparison instead of regex.

Requirements

To make use of Python static tying, this package only works with Python 3.6+.

Usage

By default, on the first .censor() call, profanity initializes a set of words, from profanity_wordlist.txt, to be used to compare against the input texts. This set of words will be stored in memory (~5MB+).

1. Censor swear words from a text

By default, profanity replaces each swear words with 4 asterisks ****.

from better_profanity import profanity

if __name__ == "__main__":
    text = "You p1ec3 of sHit."

    censored_text = profanity.censor(text)
    print(censored_text)    # You **** of ****.

2. Censor swear words with custom character

4 instances of the character in second parameter in .censor() will be used to replace the swear words.

from better_profanity import profanity

if __name__ == "__main__":
    text = "You p1ec3 of sHit."

    censored_text = profanity.censor(text, '-')
    print(censored_text)    # You ---- of ----.

3. Check if the string contains any swear words

from better_profanity import profanity

if __name__ == "__main__":
    dirty_text = "That l3sbi4n did a very good H4ndjob."

    profanity.contains_profanity(dirty_text) # True

4. Censor swear words with a custom wordlist

The provided list of words will replace the default wordlist.

4 instances of the character in second parameter in .censor() will be used to replace the swear words.

from better_profanity import profanity

if __name__ == "__main__":
    text = "You p1ec3 of sHit."

    custom_badwords = ['happy', 'jolly', 'merry']
    profanity.load_censor_words(custom_badwords)

    print(profanity.contains_profanity("Fuck you!"))
    # Fuck you

    print(profanity.contains_profanity("Have a merry day! :)"))
    # Have a **** day! :)

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

better_profanity-0.1.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

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

better_profanity-0.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file better_profanity-0.1.tar.gz.

File metadata

  • Download URL: better_profanity-0.1.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for better_profanity-0.1.tar.gz
Algorithm Hash digest
SHA256 ca761ca1e04ad1f455b20acc795e77fe928d7117bc47bbce21ddf0d3e26a079f
MD5 0fda3d967282892656cf496fa765af1f
BLAKE2b-256 d2c057251e6e15edcf85a0cb0a1305b0e7e70c729e1b500e8da64e372a6809d5

See more details on using hashes here.

File details

Details for the file better_profanity-0.1-py3-none-any.whl.

File metadata

  • Download URL: better_profanity-0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.3

File hashes

Hashes for better_profanity-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 255ae73560ac24805ff4ac54462966848b7d66ed6bc1bb54813a72190c704d9b
MD5 7b5144f2c6d59373dad62a8449c6688c
BLAKE2b-256 15c0cfedb18e62dbf05c09dee30eb5a48789402759c41772be277af38ab3ac3c

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