Skip to content

Latest commit

 

History

History
311 lines (271 loc) · 30.7 KB

README_v2.0.12.md

File metadata and controls

311 lines (271 loc) · 30.7 KB

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.

Release Notes

NamSorAPIv2.0.12 (2021-01-31)

-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.

Requirements.

Python 2.7 and 3.4+

Installation & Usage

pip install

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 

Setuptools

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

Getting Started

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)

Documentation For Authorization

api_key

  • Type: API key
  • API key parameter name: X-API-KEY
  • Location: HTTP header

Documentation for API Endpoints

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).

Documentation For Models

Author

contact@namsor.com