Skip to main content

Get the gender from first name.

Project description

This package uses the underlying data from the program “gender” by Jorg Michael (described here). Its use is pretty straightforward:

>>> import sexmachine.detector as gender
>>> d = gender.Detector()
>>> d.get_gender(u"Bob")
>>> d.get_gender(u"Sally")
>>> d.get_gender(u"Pauley") # should be androgynous

The result will be one of andy (androgynous), male, female, mostly_male, or mostly_female. Any unknown names are considered andies. Moreover, you can set unknown value to whatever you want:

>>> d = gender.Detector(unknown_value=u"ferhat")
>>> d.get_gender(u"Pauley")

I18N is fully supported:

>>> d.get_gender(u"Álfrún")

Additionally, you can give preference to specific countries:

>>> d.get_gender(u"Jamie")
>>> d.get_gender(u"Jamie", u'great_britain')

Additionally, you can create a detector that is not case sensitive (default is to be case sensitive):

>>> d = sexmachine.detector.Detector(case_sensitive=False)
>>> d.get_gender(u"sally")
>>> d.get_gender(u"Sally")

Try to avoid creating many Detectors, as each creation means reading the data file.


The generator code is distributed under the GPLv3. The data file nam_dict.txt is released under the GNU Free Documentation License.

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

SexMachine-0.1.1.tar.gz (336.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page