클라이언트 라이브러리
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")
복사하지 못했습니다. 텍스트를 선택하여 복사하세요.