Inflector
Inflector for Python
What it is and what it does
Inflector is a string transformation library that converts English and Spanish nouns between singular and plural forms, and applies naming-convention transformations commonly used in Rails-style frameworks. It provides methods to convert between camelCase, underscored_case, and human-readable formats, as well as utilities for generating database table names, class names, and URL-friendly strings.
The package is a pure-Python implementation with no external dependencies, making it lightweight and easy to integrate. It's designed for applications that follow convention-over-configuration patterns, where consistent string transformations are needed for code generation or URL routing. The library has been stable since its initial release in 2011, though development has been dormant since early 2024.
Use it for:
- Generate database table names and class names from model definitions following Rails conventions
- Transform API parameter names between camelCase (JavaScript) and snake_case (Python) formats
- Create URL-friendly slugs from class or model names by removing accents and converting to underscores
- Build form field labels and titles from database column names with proper capitalization
- Implement convention-based ORM or framework code generation that requires consistent naming patterns
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts English and Spanish nouns between singular and plural forms, and provides string transformations like camelCase, underscoring, and humanization for convention-based code generation.
Yes, for stable convention-based string transformations. The package has no dependencies, a permissive license, and zero known vulnerabilities. Its dormant maintenance status is not a blocker for a self-contained utility, but verify Python version compatibility before relying on it in new projects. Best suited for established codebases that already depend on it or for applications where naming conventions are critical and stability matters more than active development.
Install
inflector on PyPI
pip
pip install inflectoruv
uv add inflectorpoetry
poetry add inflectorInstalling Inflector
Before you install
Low install friction with no runtime dependencies. Dormant maintenance status since early 2024, with the repository archived as of the last commit on 2024-06-10; suitable for stable, self-contained use cases but not actively developed.
License in practice
Licensed under the Python Software Foundation License (permissive), allowing broad use, modification, and distribution with minimal restrictions.
Quickstart
pip install Inflector
from inflector import Inflector
inflector = Inflector()
print(inflector.pluralize('person')) # 'people'
print(inflector.camelize('send_email')) # 'SendEmail'
print(inflector.underscore('WelcomePage')) # 'welcome_page'
Verify before relying
- Whether Spanish inflection rules are comprehensive or limited to common cases
- Current compatibility with modern Python versions (requires_python field is empty)
- Whether the package handles irregular plurals beyond documented examples
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 945 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 419,491/month — #6,797 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: Inflector-3.1.1-py3-none-any.whl
Keywords: inflector, text, language, english
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
inflectionInflection singularizes and pluralizes English…
permissive · top 1,000 on PyPI
inflectGenerates correct English plurals, singulars,…
permissive · top 1,000 on PyPI
pluralizerConverts English words between singular and…
permissive · top 15,000 on PyPI
case-converterConverts strings between different naming…
permissive · top 15,000 on PyPI
spanishconjugatorConjugates Spanish verbs by tense, mood, and…
permissive · top 15,000 on PyPI
humpsConverts strings to camelCase format, handling…
copyleft · top 15,000 on PyPI
textcaseConverts strings between different text case…
permissive · top 15,000 on PyPI
boa-strConverts strings to snake_case by normalizing…
permissive · top 5,000 on PyPI
stringcaseConverts strings between different naming…
permissive · top 5,000 on PyPI
number-parserConverts numbers written in natural language…
permissive · top 15,000 on PyPI