lead-ratings / gender-guesser

Guess gender from first name in Python 2 and 3
https://testpypi.python.org/pypi/gender-guesser
GNU General Public License v3.0
129 stars 30 forks source link

============== Gender Guesser

.. image:: https://travis-ci.org/lead-ratings/gender-guesser.svg?branch=master :target: https://travis-ci.org/lead-ratings/gender-guesser

This package uses the underlying data from the program "gender" by Jorg Michael (described here <http://www.autohotkey.com/community/viewtopic.php?t=22000>_). Its use is pretty straightforward::

>>> import gender_guesser.detector as gender
>>> d = gender.Detector()
>>> print(d.get_gender(u"Bob"))
male
>>> print(d.get_gender(u"Sally"))
female
>>> print(d.get_gender(u"Pauley")) # should be androgynous
andy

The result will be one of unknown (name not found), andy (androgynous), male, female, mostly_male, or mostly_female. The difference between andy and unknown is that the former is found to have the same probability to be male than to be female, while the later means that the name wasn't found in the database.

I18N is fully supported::

>>> print(d.get_gender(u"\xc1lfr\xfan"))  # u"Álfrún"
female

Additionally, you can give preference to specific countries::

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

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

>>> d = gender.Detector(case_sensitive=False)
>>> print(d.get_gender(u"sally"))
female
>>> print(d.get_gender(u"Sally"))
female

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

Licenses

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

Changelog

0.4.0 (2016-12-05)


0.3.0 (2016-07-02)


0.2.0 (2015-12-06)


For previous versions, see sexmachine <https://github.com/ferhatelmas/sexmachine/>_.

Credits

This is a fork of the SexMachine package by Ferhat Elmas <https://github.com/ferhatelmas>_. It was created to be able to publish a Python 3 compatible version to PyPI and to be able add some more improvements without bugging the original author.