Client for the Genderize.io web service.
Import the Genderize
class and call its get
method with a list of names.
from genderize import Genderize print(Genderize().get(['James', 'Eva', 'Thunderhorse']))
[{u'count': 1037, u'gender': u'male', u'name': u'James', u'probability': 0.99}, {u'count': 234, u'gender': u'female', u'name': u'Eva', u'probability': 1.0}, {u'gender': None, u'name': u'Thunderhorse'}]
If run as a script, takes a list of names on stdin, and prints them with their genders.
echo "James\nEva\nThunderhorse" | python -m genderize
James: male Eva: female Thunderhorse: None
Create a Genderize
instance with a custom user agent,
an API key,
and a shorter timeout than the default 30 seconds.
Note that you'll need to use your own API key or this example won't work.
from genderize import Genderize genderize = Genderize( user_agent='GenderizeDocs/0.0', api_key='example_api_key', timeout=5.0) print(genderize.get(['James', 'Eva', 'Thunderhorse']))
[{u'count': 1037, u'gender': u'male', u'name': u'James', u'probability': 0.99}, {u'count': 234, u'gender': u'female', u'name': u'Eva', u'probability': 1.0}, {u'gender': None, u'name': u'Thunderhorse'}]
Setup for local development:
virtualenv --prompt '(genderize) ' venv -p python3 pip install -r requirements.txt pip install -r requirements-dev.txt
Release checklist:
- Generate a new version number:
major.minor.micro
. It should be compatible with both PEP 440 and SemVer 2.0.0. - Update
__version__
ingenderize/__init__.py
. This is read bysetup.py
and doesn't need to be changed there. - Add a changelog entry and date for the new version in
CHANGES.rst
. - Commit the changes. This may be done as part of another change.
- Tag the commit with
git tag major.minor.micro
. - Push the tag to GitHub with
git push origin major.minor.micro
. - Travis will create a new PyPI release from the tag.