pluralizer
The `pluralizer` library is a Python port of the widely used `blakeembrey/pluralize` JavaScript library, enabling the conversion of words between singular and plural forms based on a comprehensive set of predefined rules. Currently at version 2.0.0, it is actively maintained and supports Python 3.10 and newer.
Common errors
-
AttributeError: 'Pluralizer' object has no attribute 'isPlural'
cause Attempting to use `camelCase` method names (e.g., `isPlural`) after upgrading to `pluralizer` version 2.0.0 or higher.fixReplace `camelCase` method calls with their `snake_case` equivalents, such as `pluralizer.is_plural('word')`. -
TypeError: pluralize() missing 1 required positional argument: 'self'
cause Trying to call `pluralizer.pluralize()` directly on the imported module instead of an instance of the `Pluralizer` class.fixInstantiate the `Pluralizer` class first: `from pluralizer import Pluralizer; pluralizer_instance = Pluralizer(); pluralizer_instance.pluralize('word')`.
Warnings
- breaking Version 2.0.0 introduced a breaking change by converting all method names from `camelCase` to `snake_case` (e.g., `isPlural` became `is_plural`).
- breaking As of version 2.0.0, the `pluralizer` library requires Python 3.10 or later.
- gotcha The `pluralizer` library operates based on a set of predefined rules and may not handle all irregular English words or proper nouns perfectly, unlike more extensive NLP libraries.
Install
-
pip install pluralizer
Imports
- Pluralizer
import pluralizer
from pluralizer import Pluralizer
Quickstart
from pluralizer import Pluralizer
pluralizer = Pluralizer()
# Basic pluralization
print(f"Plural of 'apple': {pluralizer.pluralize('apple')}")
print(f"Plural of 'cat': {pluralizer.plural('cat')}")
# Basic singularization
print(f"Singular of 'apples': {pluralizer.singular('apples')}")
# Pluralize with count and prepend
print(f"1 apple (prepend=True): {pluralizer.pluralize('apple', 1, True)}")
print(f"2 apples (prepend=True): {pluralizer.pluralize('apple', 2, True)}")
# Check if word is plural or singular
print(f"Is 'apples' plural? {pluralizer.is_plural('apples')}")
print(f"Is 'apple' singular? {pluralizer.is_singular('apple')}")