Skip to main content

# Inflector for Python

The Inflector is used for getting the plural and singular form of nouns. This piece of code helps on creating code that favors convention over configuration.

Only English and Spanish nouns are supported. The English version is a port of Ruby on Rails Inflector, while the Spanish Version has been developed from scratch with the help of Carles Sadurní.

Apart from converting singulars and plurals, this module also handles necessary string conversion for convention based applications like:

Available methods are:

## pluralize(word)

Pluralizes nouns.

## singularize(word)

Singularizes nouns.

## conditionalPlural(numer_of_records, word)

Returns the plural form of a word if first parameter is greater than 1

## titleize(word, uppercase = ‘’)

Converts an underscored or CamelCase word into a sentence. The titleize function converts text like “WelcomePage”, “welcome_page” or “welcome page” to this “Welcome Page”. If the “uppercase” parameter is set to ‘first’ it will only capitalize the first character of the title.

## camelize(word):

Returns given word as CamelCased Converts a word like “send_email” to “SendEmail”. It will remove non alphanumeric character from the word, so “who’s online” will be converted to “WhoSOnline”

## underscore(word)

Converts a word “into_it_s_underscored_version” Convert any “CamelCased” or “ordinary Word” into an “underscored_word”. This can be really useful for creating friendly URLs.

## humanize(word, uppercase = ‘’)

Returns a human-readable string from word Returns a human-readable string from word, by replacing underscores with a space, and by upper-casing the initial character by default. If you need to uppercase all the words you just have to pass ‘all’ as a second parameter.

## variablize(word)

Same as camelize but first char is lowercased Converts a word like “send_email” to “sendEmail”. It will remove non alphanumeric character from the word, so “who’s online” will be converted to “whoSOnline” return self.Inflector.variablize(word)

## tableize(class_name)

Converts a class name to its table name according to rails naming conventions. Example. Converts “Person” to “people”

## classify(table_name)

Converts a table name to its class name according to rails naming conventions. Example: Converts “people” to “Person”

## ordinalize(number) Converts number to its ordinal form. This method converts 13 to 13th, 2 to 2nd …

## unaccent(text)

Transforms a string to its unaccented version. This might be useful for generating “friendly” URLs

## urlize(text)

Transform a string its unaccented and underscored version ready to be inserted in friendly URLs

## foreignKey(class_name, separate_class_name_and_id_with_underscore = 1)

Returns class_name in underscored form, with “_id” tacked on at the end. This is for use in dealing with the database.

Metadata

Release files for Inflector 3.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Inflector 3.1.1
File Size Uploaded
Inflector-3.1.1.tar.gz 10.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Inflector 3.1.1
File Interpreter ABI Platform
Inflector-3.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.3 kB

Release files / Inflector-3.1.1.tar.gz

Download URL Inflector-3.1.1.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1835ccc74ea8b5bea93cee9f7802b5cbbaaa937e268a197a937394aa47dee6d5
BLAKE2b-256 checksum
How to use checksums
45be21de73919b8c34ffaee6ba3bd3e3bd9b83f684b1ae89db3d3c756daa6c35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.6

Release files / Inflector-3.1.1-py3-none-any.whl

Download URL Inflector-3.1.1-py3-none-any.whl
Size 13.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b158010b9c400382a9792dcaa05a02c198b27d17fb52a23262e8226c91b13c97
BLAKE2b-256 checksum
How to use checksums
efd4e4f0d1b76e04502b393f34191d8dedf48a2b48c784b9a41400ac466f7516
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.6

Release history Release notifications | RSS feed

This release

3.1.1 This release

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

1 release file

2.0.12

1 release file

2.0.11

1 release file

2.0.10

1 release file

2.0.9

1 release file

2.0.8

1 release file

2.0.7

1 release file

2.0.6

1 release file

2.0.5

1 release file

2.0.4

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0

1 release file

1.6

1 release file

1.4

1 release file

1.3

1 release file

1.2

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page