مكتبات العملاء
تغليفات رقيقة فوق REST API. ترسل مفتاحك، وتبني كل طلب، وتحوّل استجابات الأخطاء إلى استثناءات.
أنت لا تحتاج إلى واحدة. API مجرد عدد قليل من endpoints بصيغة 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")
تعذر النسخ. حدد النص وانسخه.
تحتاج إلى لغة أخرى؟
أخبرنا بأيها وسننظر فيها. سطح API صغير بما يكفي حتى تغليف مجتمع يكون عمل نهاية أسبوع، وسنربطها هنا.
تواصل مع الدعم