https://github.com/developer-acc/agify
Async wrapper for agify.io's APIs
https://github.com/developer-acc/agify
agify agify-api agifyio genderize-api nationalize-api
Last synced: 3 months ago
JSON representation
Async wrapper for agify.io's APIs
- Host: GitHub
- URL: https://github.com/developer-acc/agify
- Owner: developer-acc
- License: mit
- Created: 2022-11-15T03:33:08.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-02T06:43:13.000Z (over 3 years ago)
- Last Synced: 2025-12-23T10:13:18.147Z (5 months ago)
- Topics: agify, agify-api, agifyio, genderize-api, nationalize-api
- Language: Python
- Homepage: https://pypi.org/project/agify/
- Size: 18.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Asynchronous Python wrapper for (, , )
A simple API for predicting the age, gender, and country of a person by their name.
The API is free for up to 1000 names/day. No sign up or API key needed. So go ahead and try it out.
# Instalation
`pip install agify`
## Usage example:
### async version:
```python
from agify import AsyncNameAPI
g = AsyncNameAPI(["Igor", "Alex"], mode="*")
print(asyncio.run(g.get_names_info()))
# ->
{'Alex': {'age': 45,
'count': 1114390,
'country': [{'country_id': 'CZ', 'probability': 0.082},
{'country_id': 'UA', 'probability': 0.045},
{'country_id': 'RO', 'probability': 0.033},
{'country_id': 'RU', 'probability': 0.031},
{'country_id': 'IL', 'probability': 0.028}],
'gender': 'male',
'probability': 0.96},
'Igor': {'age': 49,
'count': 168019,
'country': [{'country_id': 'UA', 'probability': 0.169},
{'country_id': 'RS', 'probability': 0.113},
{'country_id': 'RU', 'probability': 0.093},
{'country_id': 'HR', 'probability': 0.084},
{'country_id': 'SK', 'probability': 0.062}],
'gender': 'male',
'probability': 1.0}}
a = AsyncNameAPI(["Ivan"], "gender")
print(asyncio.run(a.get_names_info()))
# ->
{'Ivan': {'count': 425630, 'gender': 'male', 'probability': 1.0}}
a = AsyncNameAPI()
print(asyncio.run(a.get_limit_remaining()))
# ->
987
```
### usual version:
```python
from agify import NameAPI
g = NameAPI(["Igor", "Alex"], mode="*")
print(g.get_names_info())
# ->
{'Alex': {'age': 45,
'count': 1114390,
'country': [{'country_id': 'CZ', 'probability': 0.082},
{'country_id': 'UA', 'probability': 0.045},
{'country_id': 'RO', 'probability': 0.033},
{'country_id': 'RU', 'probability': 0.031},
{'country_id': 'IL', 'probability': 0.028}],
'gender': 'male',
'probability': 0.96},
'Igor': {'age': 49,
'count': 168019,
'country': [{'country_id': 'UA', 'probability': 0.169},
{'country_id': 'RS', 'probability': 0.113},
{'country_id': 'RU', 'probability': 0.093},
{'country_id': 'HR', 'probability': 0.084},
{'country_id': 'SK', 'probability': 0.062}],
'gender': 'male',
'probability': 1.0}}
a = NameAPI(["Ivan"], "gender")
print(a.get_names_info())
# ->
{'Ivan': {'count': 425630, 'gender': 'male', 'probability': 1.0}}
a = NameAPI()
print(a.get_limit_remaining())
# ->
987
```
---
[](https://opensource.org/licenses/MIT)