クライアントライブラリ
REST API の薄いラッパーです。API キーの送信、各リクエストの組み立て、エラーレスポンスの例外への変換を行います。
必須ではありません。API は少数のシンプルな JSON エンドポイントだけです。ライブラリで節約できるのは午後の数時間であり、プロジェクト全体ではありません。言語がリストにない場合は、REST リファレンスにコピー&ペーストできる例があります。
REST API リファレンス →
JavaScript
Node.js · Deno · Bun · npm
npm install namegender
コピーできませんでした。テキストを選択してコピーしてください。
import { NameGender } from 'namegender';
const client = new NameGender('YOUR_API_KEY');
const result = await client.name('Ayşe', { country: 'TR' });
console.log(result.gender); // "female"
console.log(result.confidence); // "unverified" | "low" | "medium" | "high"
// Many names in one request
const many = await client.bulk(['Ayşe', 'Mehmet', 'Priya']);
コピーできませんでした。テキストを選択してコピーしてください。
Command line
macOS · Linux · Windows · Node.js 18+
npm install -g namegender
コピーできませんでした。テキストを選択してコピーしてください。
export NAMEGENDER_API_KEY=YOUR_API_KEY
npx namegender Andrea --country IT
npx namegender --email jane.doe@example.com
# One value per line in, CSV out
cat names.txt | npx namegender --csv > genders.csv
コピーできませんでした。テキストを選択してコピーしてください。
PHP
PHP 8.1+
composer require namegender/namegender
コピーできませんでした。テキストを選択してコピーしてください。
use NameGender\Client;
$client = new Client('YOUR_API_KEY');
$result = $client->name('Ayşe', country: 'TR');
echo $result['gender']; // "female"
echo $result['confidence']; // "unverified" | "low" | "medium" | "high"
// Many names in one request
$many = $client->bulk(['Ayşe', 'Mehmet', 'Priya']);
コピーできませんでした。テキストを選択してコピーしてください。
Python
Python 3.9+
pip install namegender-client
コピーできませんでした。テキストを選択してコピーしてください。
from namegender import NameGender
client = NameGender("YOUR_API_KEY")
result = client.name("Ayşe", country="TR")
print(result["gender"]) # "female"
print(result["confidence"]) # evidence level
# Many names in one request
many = client.bulk(["Ayşe", "Mehmet", "Priya"])
コピーできませんでした。テキストを選択してコピーしてください。
Ruby
Ruby 3.0+
gem install namegender
コピーできませんでした。テキストを選択してコピーしてください。
require "namegender"
client = NameGender::Client.new("YOUR_API_KEY")
result = client.name("Ayşe", country: "TR")
puts result["gender"] # "female"
puts result["confidence"] # evidence level
コピーできませんでした。テキストを選択してコピーしてください。
Java
Java 17+ · JitPack
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
<dependency>
<groupId>com.github.anpekesen</groupId>
<artifactId>namegender-java</artifactId>
<version>v0.9.0</version>
</dependency>
コピーできませんでした。テキストを選択してコピーしてください。
var client = new NameGender("YOUR_API_KEY");
var result = client.name("Ayşe", "TR");
System.out.println(result.gender()); // "female"
System.out.println(result.confidence());
コピーできませんでした。テキストを選択してコピーしてください。
C# / .NET
.NET Standard 2.0 · .NET 8 · NuGet
dotnet add package NameGender --version 0.6.0
コピーできませんでした。テキストを選択してコピーしてください。
using var client = new NameGenderClient("YOUR_API_KEY");
var result = await client.NameAsync("Ayşe", new LookupOptions { Country = "TR" });
Console.WriteLine(result.Gender); // "female"
Console.WriteLine(result.Confidence);
コピーできませんでした。テキストを選択してコピーしてください。
Go
Go 1.21+
go get github.com/anpekesen/namegender-go@v0.7.0
コピーできませんでした。テキストを選択してコピーしてください。
client := namegender.New("YOUR_API_KEY")
result, err := client.Name(ctx, "Ayşe", namegender.Options{Country: "TR"})
fmt.Println(result.Gender) // "female"
fmt.Println(result.Confidence)
コピーできませんでした。テキストを選択してコピーしてください。
R
R 4.1+ · GitHub
remotes::install_github('anpekesen/namegender-r', ref = 'v0.7.0')
コピーできませんでした。テキストを選択してコピーしてください。
library(namegender)
client <- namegender("YOUR_API_KEY")
result <- ng_name(client, "Ayşe", country = "TR")
result$gender # "female"
result$confidence
# A whole data frame in one call
df$gender <- ng_bulk(client, df$name)$results$gender
コピーできませんでした。テキストを選択してコピーしてください。
PowerShell
Windows PowerShell 5.1 · PowerShell 7 · PowerShell Gallery
Install-Module NameGender
コピーできませんでした。テキストを選択してコピーしてください。
$env:NAMEGENDER_API_KEY = 'YOUR_API_KEY'
Get-NameGender Andrea -Country IT
# A whole file: pipeline input goes out in bulk requests
Get-Content names.txt | Get-NameGender | Export-Csv genders.csv -NoTypeInformation
コピーできませんでした。テキストを選択してコピーしてください。
Rust
async · reqwest + rustls · crates.io
cargo add namegender
コピーできませんでした。テキストを選択してコピーしてください。
use namegender::{NameGender, Options};
let client = NameGender::new("YOUR_API_KEY");
let r = client
.name("Ayşe", &Options { country: Some("TR".into()), ..Default::default() })
.await?;
println!("{:?}", r.gender); // Some("female")
コピーできませんでした。テキストを選択してコピーしてください。