openapi-client Python SDK for NamSor classifies personal names by gender, country of origin, or ethnicity.
NamSor API v2 : enpoints to process personal names (gender, cultural origin or ethnicity) in all alphabets or languages. Use GET methods for small tests, but prefer POST methods for higher throughput (batch processing of up to 100 names at a time). Need something you can't find here? We have many more features coming soon. Let us know, we'll do our best to add it!
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 2.0.12
- Package version: 2.0.12
- Build package: org.openapitools.codegen.languages.PythonClientCodegen For more information, please visit http://www.namsor.com/
Refer to the NamSor API Doc for detailed API documentation.
Also, have a look at the Wiki NamSor Wiki Doc for release notes and taxonomies.
-Improvements for gender classification of full names -Split Diaspora taxonomy classes Irish,British -> Irish,English,Scottish,Welsh (British remains as first/second best alternative for now) -Improve Diaspora classification with non LATIN names -Added Corridor API for classifying names in cross-border contexts (relevant for : diaspora remittances, international travel, foreign direct investment, crowdfunding etc.) -Added a general name classification API (nameType), accuracy in range 90-95% -[BETA] UI : added an online CSV tool to process files from JavaScript client, append gender, origin, country, diaspora or US 'race'/ethnicity to a list of names in Excel/CSV format.
Python 2.7 and 3.4+
If the python package is hosted on Github, you can install directly from Github
pip install git+https://github.com/namsor/namsor-python-sdk2.git
(you may need to run pip
with root permission: sudo pip install git+https://github.com/namsor/namsor-python-sdk2.git
)
Then import the package:
import openapi_client
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install
to install the package for all users)
Then import the package:
import openapi_client
Please follow the installation procedure and then run the following:
from __future__ import print_function
import time
import openapi_client
from openapi_client.rest import ApiException
from pprint import pprint
# Configure API key authorization: api_key
configuration = openapi_client.Configuration()
configuration.api_key['X-API-KEY'] = 'YOUR_API_KEY'
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
# configuration.api_key_prefix['X-API-KEY'] = 'Bearer'
# create an instance of the API class
api_instance = openapi_client.PersonalApi(openapi_client.ApiClient(configuration))
batch_first_last_name_in = openapi_client.BatchFirstLastNameIn() # BatchFirstLastNameIn | A list of personal names (optional)
name1 = openapi_client.FirstLastNameIn();
name1.id='1'
name1.first_name='John'
name1.last_name='Smith'
name2 = openapi_client.FirstLastNameIn();
name2.id='2'
name2.first_name='Elena'
name2.last_name='Rossini'
batch_first_last_name_in.personal_names = [name1, name2]
try:
# Infer the likely origin of up to 1000 names, detecting automatically the cultural context.
api_response = api_instance.gender_batch(batch_first_last_name_in=batch_first_last_name_in)
pprint(api_response)
except ApiException as e:
print("Exception when calling PersonalApi->gender_batch: %s\n" % e)
- Type: API key
- API key parameter name: X-API-KEY
- Location: HTTP header
All URIs are relative to https://v2.namsor.com/NamSorAPIv2
Class | Method | HTTP request | Description |
---|---|---|---|
PersonalApi | corridor | GET /api2/json/corridor/{countryIso2From}/{firstNameFrom}/{lastNameFrom}/{countryIso2To}/{firstNameTo}/{lastNameTo} | [USES 20 UNITS PER NAME COUPLE] Infer several classifications for a cross border interaction between names (ex. remit, travel, intl com) |
PersonalApi | corridor_batch | POST /api2/json/corridorBatch | [USES 20 UNITS PER NAME PAIR] Infer several classifications for up to 100 cross border interaction between names (ex. remit, travel, intl com) |
PersonalApi | country | GET /api2/json/country/{personalNameFull} | [USES 10 UNITS PER NAME] Infer the likely country of residence of a personal full name, or one surname. Assumes names as they are in the country of residence OR the country of origin. |
PersonalApi | country_batch | POST /api2/json/countryBatch | [USES 10 UNITS PER NAME] Infer the likely country of residence of up to 100 personal full names, or surnames. Assumes names as they are in the country of residence OR the country of origin. |
PersonalApi | diaspora | GET /api2/json/diaspora/{countryIso2}/{firstName}/{lastName} | [USES 20 UNITS PER NAME] Infer the likely ethnicity/diaspora of a personal name, given a country of residence ISO2 code (ex. US, CA, AU, NZ etc.) |
PersonalApi | diaspora_batch | POST /api2/json/diasporaBatch | [USES 20 UNITS PER NAME] Infer the likely ethnicity/diaspora of up to 100 personal names, given a country of residence ISO2 code (ex. US, CA, AU, NZ etc.) |
PersonalApi | gender | GET /api2/json/gender/{firstName}/{lastName} | Infer the likely gender of a name. |
PersonalApi | gender_batch | POST /api2/json/genderBatch | Infer the likely gender of up to 100 names, detecting automatically the cultural context. |
PersonalApi | gender_full | GET /api2/json/genderFull/{fullName} | Infer the likely gender of a full name, ex. John H. Smith |
PersonalApi | gender_full_batch | POST /api2/json/genderFullBatch | Infer the likely gender of up to 100 full names, detecting automatically the cultural context. |
PersonalApi | gender_full_geo | GET /api2/json/genderFullGeo/{fullName}/{countryIso2} | Infer the likely gender of a full name, given a local context (ISO2 country code). |
PersonalApi | gender_full_geo_batch | POST /api2/json/genderFullGeoBatch | Infer the likely gender of up to 100 full names, with a given cultural context (country ISO2 code). |
PersonalApi | gender_geo | GET /api2/json/genderGeo/{firstName}/{lastName}/{countryIso2} | Infer the likely gender of a name, given a local context (ISO2 country code). |
PersonalApi | gender_geo_batch | POST /api2/json/genderGeoBatch | Infer the likely gender of up to 100 names, each given a local context (ISO2 country code). |
PersonalApi | origin | GET /api2/json/origin/{firstName}/{lastName} | [USES 10 UNITS PER NAME] Infer the likely country of origin of a personal name. Assumes names as they are in the country of origin. For US, CA, AU, NZ and other melting-pots : use 'diaspora' instead. |
PersonalApi | origin_batch | POST /api2/json/originBatch | [USES 10 UNITS PER NAME] Infer the likely country of origin of up to 100 names, detecting automatically the cultural context. |
PersonalApi | parse_name | GET /api2/json/parseName/{nameFull} | Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. |
PersonalApi | parse_name_batch | POST /api2/json/parseNameBatch | Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. |
PersonalApi | parse_name_geo | GET /api2/json/parseName/{nameFull}/{countryIso2} | Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. For better accuracy, provide a geographic context. |
PersonalApi | parse_name_geo_batch | POST /api2/json/parseNameGeoBatch | Infer the likely first/last name structure of a name, ex. John Smith or SMITH, John or SMITH; John. Giving a local context improves precision. |
PersonalApi | parsed_gender_batch | POST /api2/json/parsedGenderBatch | Infer the likely gender of up to 100 fully parsed names, detecting automatically the cultural context. |
PersonalApi | parsed_gender_geo_batch | POST /api2/json/parsedGenderGeoBatch | Infer the likely gender of up to 100 fully parsed names, detecting automatically the cultural context. |
PersonalApi | us_race_ethnicity | GET /api2/json/usRaceEthnicity/{firstName}/{lastName} | [USES 10 UNITS PER NAME] Infer a US resident's likely race/ethnicity according to US Census taxonomy W_NL (white, non latino), HL (hispano latino), A (asian, non latino), B_NL (black, non latino). |
PersonalApi | us_race_ethnicity_batch | POST /api2/json/usRaceEthnicityBatch | [USES 10 UNITS PER NAME] Infer up-to 100 US resident's likely race/ethnicity according to US Census taxonomy. |
PersonalApi | us_race_ethnicity_zip5 | GET /api2/json/usRaceEthnicityZIP5/{firstName}/{lastName}/{zip5Code} | [USES 10 UNITS PER NAME] Infer a US resident's likely race/ethnicity according to US Census taxonomy, using (optional) ZIP5 code info. Output is W_NL (white, non latino), HL (hispano latino), A (asian, non latino), B_NL (black, non latino). |
PersonalApi | us_zip_race_ethnicity_batch | POST /api2/json/usZipRaceEthnicityBatch | [USES 10 UNITS PER NAME] Infer up-to 100 US resident's likely race/ethnicity according to US Census taxonomy, with (optional) ZIP code. |
AdminApi | add_credits | GET /api2/json/addCredits/{apiKey}/{usageCredits}/{userMessage} | Add usage credits to an API Key. |
AdminApi | anonymize | GET /api2/json/anonymize/{source}/{anonymized} | Activate/deactivate anonymization for a source. |
AdminApi | api_status | GET /api2/json/apiStatus | Prints the current status of the classifiers. |
AdminApi | api_usage | GET /api2/json/apiUsage | Print current API usage. |
AdminApi | api_usage_history | GET /api2/json/apiUsageHistory | Print historical API usage. |
AdminApi | api_usage_history_aggregate | GET /api2/json/apiUsageHistoryAggregate | Print historical API usage (in an aggregated view, by service, by day/hour/min). |
AdminApi | available_plans | GET /api2/json/availablePlans/{token} | List all available plans in the user's preferred currency. |
AdminApi | available_plans1 | GET /api2/json/availablePlans | List all available plans in the default currency (usd). |
AdminApi | available_services | GET /api2/json/apiServices | List of API services and usage cost in Units (default is 1=ONE Unit). |
AdminApi | billing_currencies | GET /api2/json/billingCurrencies | List possible currency options for billing (USD, EUR, GBP, ...) |
AdminApi | billing_history | GET /api2/json/billingHistory/{token} | Read the history billing information (invoices paid via Stripe or manually). |
AdminApi | billing_info | GET /api2/json/billingInfo/{token} | Read the billing information (company name, address, phone, vat ID) |
AdminApi | charge | POST /api2/json/charge | Create a Stripe Customer, based on a payment card token (from secure StripeJS) and email. |
AdminApi | corporate_key | GET /api2/json/corporateKey/{apiKey}/{corporate} | Setting an API Key to a corporate status. |
AdminApi | debug_level | GET /api2/json/debugLevel/{logger}/{level} | Update debug level for a classifier |
AdminApi | flush | GET /api2/json/flush | Flush counters. |
AdminApi | invalidate_cache | GET /api2/json/invalidateCache | Invalidate system caches. |
AdminApi | learnable | GET /api2/json/learnable/{source}/{learnable} | Activate/deactivate learning from a source. |
AdminApi | namsor_counter | GET /api2/json/namsorCounter | Get the overall API counter |
AdminApi | payment_info | GET /api2/json/paymentInfo/{token} | Get the Stripe payment information associated with the current google auth session token. |
AdminApi | procure_key | GET /api2/json/procureKey/{token} | Procure an API Key (sent via Email), based on an auth token. Keep your API Key secret. |
AdminApi | remove_user_account | GET /api2/json/removeUserAccount/{token} | Remove the user account. |
AdminApi | remove_user_account_on_behalf | GET /api2/json/removeUserAccountOnBehalf/{apiKey} | Remove (on behalf) a user account. |
AdminApi | shutdown | GET /api2/json/shutdown | Stop learning and shutdown system. |
AdminApi | software_version | GET /api2/json/softwareVersion | Get the current software version |
AdminApi | source_stats | GET /api2/json/sourceStats/{source} | Print basic source statistics. |
AdminApi | stats | GET /api2/json/stats | Print basic system statistics. |
AdminApi | stripe_connect | GET /api2/json/stripeConnect | Connects a Stripe Account. |
AdminApi | subscribe_plan | GET /api2/json/subscribePlan/{planName}/{token} | Subscribe to a give API plan, using the user's preferred or default currency. |
AdminApi | subscribe_plan_on_behalf | GET /api2/json/subscribePlanOnBehalf/{planName}/{apiKey} | Subscribe to a give API plan, using the user's preferred or default currency (admin only). |
AdminApi | taxonomy_classes | GET /api2/json/taxonomyClasses/{classifierName} | Print the taxonomy classes valid for the given classifier. |
AdminApi | update_billing_info | POST /api2/json/updateBillingInfo/{token} | Sets or update the billing information (company name, address, phone, vat ID) |
AdminApi | update_limit | GET /api2/json/updateLimit/{usageLimit}/{hardOrSoft}/{token} | Modifies the hard/soft limit on the API plan's overages (default is 0$ soft limit). |
AdminApi | update_payment_default | GET /api2/json/updatePaymentDefault/{defautSourceId}/{token} | Update the default Stripe card associated with the current google auth session token. |
AdminApi | user_info | GET /api2/json/userInfo/{token} | Get the user profile associated with the current google auth session token. |
AdminApi | verify_email | GET /api2/json/verifyEmail/{emailToken} | Verifies an email, based on token sent to that email |
AdminApi | verify_remove_email | GET /api2/json/verifyRemoveEmail/{emailToken} | Verifies an email, based on token sent to that email |
AdminApi | vet | GET /api2/json/vetting/{source}/{vetted} | Vetting of a source. |
ChineseApi | chinese_name_candidates | GET /api2/json/chineseNameCandidates/{chineseSurnameLatin}/{chineseGivenNameLatin} | Identify Chinese name candidates, based on the romanized name ex. Wang Xiaoming |
ChineseApi | chinese_name_candidates_batch | POST /api2/json/chineseNameCandidatesBatch | Identify Chinese name candidates, based on the romanized name (firstName = chineseGivenName; lastName=chineseSurname), ex. Wang Xiaoming |
ChineseApi | chinese_name_candidates_gender_batch | POST /api2/json/chineseNameCandidatesGenderBatch | Identify Chinese name candidates, based on the romanized name (firstName = chineseGivenName; lastName=chineseSurname) ex. Wang Xiaoming. |
ChineseApi | chinese_name_gender_candidates | GET /api2/json/chineseNameGenderCandidates/{chineseSurnameLatin}/{chineseGivenNameLatin}/{knownGender} | Identify Chinese name candidates, based on the romanized name ex. Wang Xiaoming - having a known gender ('male' or 'female') |
ChineseApi | chinese_name_match | GET /api2/json/chineseNameMatch/{chineseSurnameLatin}/{chineseGivenNameLatin}/{chineseName} | Return a score for matching Chinese name ex. 王晓明 with a romanized name ex. Wang Xiaoming |
ChineseApi | chinese_name_match_batch | POST /api2/json/chineseNameMatchBatch | Identify Chinese name candidates, based on the romanized name (firstName = chineseGivenName; lastName=chineseSurname), ex. Wang Xiaoming |
ChineseApi | gender_chinese_name | GET /api2/json/genderChineseName/{chineseName} | Infer the likely gender of a Chinese full name ex. 王晓明 |
ChineseApi | gender_chinese_name_batch | POST /api2/json/genderChineseNameBatch | Infer the likely gender of up to 100 full names ex. 王晓明 |
ChineseApi | gender_chinese_name_pinyin | GET /api2/json/genderChineseNamePinyin/{chineseSurnameLatin}/{chineseGivenNameLatin} | Infer the likely gender of a Chinese name in LATIN (Pinyin). |
ChineseApi | gender_chinese_name_pinyin_batch | POST /api2/json/genderChineseNamePinyinBatch | Infer the likely gender of up to 100 Chinese names in LATIN (Pinyin). |
ChineseApi | parse_chinese_name | GET /api2/json/parseChineseName/{chineseName} | Infer the likely first/last name structure of a name, ex. 王晓明 -> 王(surname) 晓明(given name) |
ChineseApi | parse_chinese_name_batch | POST /api2/json/parseChineseNameBatch | Infer the likely first/last name structure of a name, ex. 王晓明 -> 王(surname) 晓明(given name). |
ChineseApi | pinyin_chinese_name | GET /api2/json/pinyinChineseName/{chineseName} | Romanize the Chinese name to Pinyin, ex. 王晓明 -> Wang (surname) Xiaoming (given name) |
ChineseApi | pinyin_chinese_name_batch | POST /api2/json/pinyinChineseNameBatch | Romanize a list of Chinese name to Pinyin, ex. 王晓明 -> Wang (surname) Xiaoming (given name). |
GeneralApi | name_type | GET /api2/json/nameType/{properNoun} | Infer the likely type of a proper noun (personal name, brand name, place name etc.) |
GeneralApi | name_type_batch | POST /api2/json/nameTypeBatch | Infer the likely common type of up to 100 proper nouns (personal name, brand name, place name etc.) |
GeneralApi | name_type_geo | GET /api2/json/nameTypeGeo/{properNoun}/{countryIso2} | Infer the likely type of a proper noun (personal name, brand name, place name etc.) |
GeneralApi | name_type_geo_batch | POST /api2/json/nameTypeGeoBatch | Infer the likely common type of up to 100 proper nouns (personal name, brand name, place name etc.) |
JapaneseApi | gender_japanese_name_full | GET /api2/json/genderJapaneseNameFull/{japaneseName} | Infer the likely gender of a Japanese full name ex. 王晓明 |
JapaneseApi | gender_japanese_name_full_batch | POST /api2/json/genderJapaneseNameFullBatch | Infer the likely gender of up to 100 full names |
JapaneseApi | gender_japanese_name_pinyin | GET /api2/json/genderJapaneseName/{japaneseSurname}/{japaneseGivenName} | Infer the likely gender of a Japanese name in LATIN (Pinyin). |
JapaneseApi | gender_japanese_name_pinyin_batch | POST /api2/json/genderJapaneseNameBatch | Infer the likely gender of up to 100 Japanese names in LATIN (Pinyin). |
JapaneseApi | japanese_name_kanji_candidates | GET /api2/json/japaneseNameKanjiCandidates/{japaneseSurnameLatin}/{japaneseGivenNameLatin} | Identify japanese name candidates in KANJI, based on the romanized name ex. Yamamoto Sanae |
JapaneseApi | japanese_name_kanji_candidates_batch | POST /api2/json/japaneseNameKanjiCandidatesBatch | Identify japanese name candidates in KANJI, based on the romanized name (firstName = japaneseGivenName; lastName=japaneseSurname), ex. Yamamoto Sanae |
JapaneseApi | japanese_name_latin_candidates | GET /api2/json/japaneseNameLatinCandidates/{japaneseSurnameKanji}/{japaneseGivenNameKanji} | Romanize japanese name, based on the name in Kanji. |
JapaneseApi | japanese_name_latin_candidates_batch | POST /api2/json/japaneseNameLatinCandidatesBatch | Romanize japanese names, based on the name in KANJI |
JapaneseApi | japanese_name_match | GET /api2/json/japaneseNameMatch/{japaneseSurnameLatin}/{japaneseGivenNameLatin}/{japaneseName} | Return a score for matching Japanese name in KANJI ex. 山本 早苗 with a romanized name ex. Yamamoto Sanae |
JapaneseApi | japanese_name_match_batch | POST /api2/json/japaneseNameMatchBatch | Return a score for matching a list of Japanese names in KANJI ex. 山本 早苗 with romanized names ex. Yamamoto Sanae |
JapaneseApi | japanese_name_match_feedback_loop | GET /api2/json/japaneseNameMatchFeedbackLoop/{japaneseSurnameLatin}/{japaneseGivenNameLatin}/{japaneseName} | [CREDITS 1 UNIT] Feedback loop to better perform matching Japanese name in KANJI ex. 山本 早苗 with a romanized name ex. Yamamoto Sanae |
JapaneseApi | parse_japanese_name | GET /api2/json/parseJapaneseName/{japaneseName} | Infer the likely first/last name structure of a name, ex. 山本 早苗 or Yamamoto Sanae |
JapaneseApi | parse_japanese_name_batch | POST /api2/json/parseJapaneseNameBatch | Infer the likely first/last name structure of a name, ex. 山本 早苗 or Yamamoto Sanae |
SocialApi | phone_code | GET /api2/json/phoneCode/{firstName}/{lastName}/{phoneNumber} | [USES 11 UNITS PER NAME] Infer the likely country and phone prefix, given a personal name and formatted / unformatted phone number. |
SocialApi | phone_code_batch | POST /api2/json/phoneCodeBatch | [USES 11 UNITS PER NAME] Infer the likely country and phone prefix, of up to 100 personal names, detecting automatically the local context given a name and formatted / unformatted phone number. |
SocialApi | phone_code_geo | GET /api2/json/phoneCodeGeo/{firstName}/{lastName}/{phoneNumber}/{countryIso2} | [USES 11 UNITS PER NAME] Infer the likely phone prefix, given a personal name and formatted / unformatted phone number, with a local context (ISO2 country of residence). |
SocialApi | phone_code_geo_batch | POST /api2/json/phoneCodeGeoBatch | [USES 11 UNITS PER NAME] Infer the likely country and phone prefix, of up to 100 personal names, with a local context (ISO2 country of residence). |
SocialApi | phone_code_geo_feedback_loop | GET /api2/json/phoneCodeGeoFeedbackLoop/{firstName}/{lastName}/{phoneNumber}/{phoneNumberE164}/{countryIso2} | [CREDITS 1 UNIT] Feedback loop to better infer the likely phone prefix, given a personal name and formatted / unformatted phone number, with a local context (ISO2 country of residence). |
- APIBillingPeriodUsageOut
- APIClassifierOut
- APIClassifierTaxonomyOut
- APIClassifiersStatusOut
- APICounterV2Out
- APIKeyOut
- APIPeriodUsageOut
- APIPlanOut
- APIPlanSubscriptionOut
- APIPlansOut
- APIServiceOut
- APIServicesOut
- APIUsageAggregatedOut
- BatchCorridorIn
- BatchCorridorOut
- BatchFirstLastNameDiasporaedOut
- BatchFirstLastNameGenderIn
- BatchFirstLastNameGenderedOut
- BatchFirstLastNameGeoIn
- BatchFirstLastNameGeoZippedIn
- BatchFirstLastNameIn
- BatchFirstLastNameOriginedOut
- BatchFirstLastNamePhoneCodedOut
- BatchFirstLastNamePhoneNumberGeoIn
- BatchFirstLastNamePhoneNumberIn
- BatchFirstLastNameUSRaceEthnicityOut
- BatchMatchPersonalFirstLastNameIn
- BatchNameGeoIn
- BatchNameIn
- BatchNameMatchCandidatesOut
- BatchNameMatchedOut
- BatchParsedFullNameGeoIn
- BatchParsedFullNameIn
- BatchPersonalNameGenderedOut
- BatchPersonalNameGeoIn
- BatchPersonalNameGeoOut
- BatchPersonalNameIn
- BatchPersonalNameParsedOut
- BatchProperNounCategorizedOut
- BillingHistoryOut
- BillingInfoInOut
- CacheMetricsOut
- ClassifierMetricsOut
- CorridorIn
- CorridorOut
- CurrenciesOut
- ExpectedClassMetricsOut
- FeedbackLoopOut
- FirstLastNameDiasporaedOut
- FirstLastNameGenderIn
- FirstLastNameGenderedOut
- FirstLastNameGeoIn
- FirstLastNameGeoZippedIn
- FirstLastNameIn
- FirstLastNameOriginedOut
- FirstLastNameOut
- FirstLastNamePhoneCodedOut
- FirstLastNamePhoneNumberGeoIn
- FirstLastNamePhoneNumberIn
- FirstLastNameUSRaceEthnicityOut
- InlineObject
- InvoiceItemOut
- InvoiceOut
- MatchPersonalFirstLastNameIn
- NamSorCounterOut
- NameGeoIn
- NameIn
- NameMatchCandidateOut
- NameMatchCandidatesOut
- NameMatchedOut
- ParsedFullNameGeoIn
- ParsedFullNameIn
- PersonalNameGenderedOut
- PersonalNameGeoIn
- PersonalNameGeoOut
- PersonalNameIn
- PersonalNameParsedOut
- ProperNounCategorizedOut
- RomanizedNameOut
- SoftwareVersionOut
- SourceDetailedMetricsOut
- SourceMetricsOut
- StripeCardOut
- StripeCustomerOut
- SystemMetricsOut
- UserInfoOut