Input format

Nominally does one thing: take a name and parse it.

The name must be received as a Unicode string. If you are working with bytes as input, you will first need to decode them.

For assistance in working with Unicode strings, see:

Nominally takes input one name at a time. For ideas about how to use Nominally on a larger scale, to work with entire lists, DataFrames, files, or databases, see https://github.com/vaneseltine/nominally-examples/.

Name cleaning

Nominally does not create or tag canonical names.

Strings are aggressively cleaned.

For specifics, see nominally.parser.Name.clean()

Name ordering

We only handle Western name order. No effort is made to disentangle or rearrange names based on their origins.

We do not preserve suffix or title ordering. Treat these as sets.

Titles and suffixes

We handle few suffixes:
  • PhD

  • MD

  • Sr

  • Junior, Jr, II, 2nd, III, 3rd, IV, 4th

We handle very few titles:
  • Dr.

  • Mr.

  • Mrs.

  • Ms.

These are treated as unordered sets.


The Name class creates immutable instances.

See Also

More great Python packages in the record linkage community include: