Paket auswählen
Die offiziellen Open-Source-SDKs rufen dieselbe V2-API auf, die in diesen Leitfäden beschrieben ist. Version 2.x jedes Pakets verwendet API V2. Installieren Sie für neue Projekte die 2.x-Linie.
| Sprache | Paket | Installation | Voraussetzung |
|---|---|---|---|
| Python | genderapi (PyPI) | pip install "genderapi>=2,<3" | Python 3.9+ |
| JavaScript / TypeScript | genderapi (npm) | npm install genderapi@2 | Node.js 18+ |
| PHP | genderapi/genderapi (Packagist) | composer require "genderapi/genderapi:^2.0" | PHP 8.1+ |
| Ruby | genderapi (RubyGems) | gem install genderapi -v "~> 2.0" | Ruby 3.0+ |
| Java | com.github.GenderAPI:genderapi-java (JitPack) | implementation 'com.github.GenderAPI:genderapi-java:v2.0.0' | Java 11+ |
| R | genderapi (GitHub) | remotes::install_github("GenderAPI/genderapi-R", ref = "v2.0.0") | R 4.1+ |
| C# / .NET | GenderAPI (NuGet) | dotnet add package GenderAPI | .NET 8 oder .NET Standard 2.0 |
Hinweise zu Paket-Registries
- Java: Fügen Sie https://jitpack.io zu Ihren Repositories hinzu. Dasselbe Release wird auch in GitHub Packages als io.genderapi:genderapi veröffentlicht; dafür ist ein GitHub-Token mit read:packages erforderlich.
- R: CRAN stellt weiterhin das 1.x-Paket bereit, während Version 2.0.0 von CRAN geprüft wird. Installieren Sie 2.0.0 über den GitHub-Tag, bis CRAN die Version veröffentlicht.
- JavaScript: Das Paket ist für serverseitige Laufzeitumgebungen gedacht. Verwenden Sie es nicht in Browsercode, da dies Ihren API-Schlüssel offenlegen würde.
Gemeinsames Verhalten
- Jeder Client liest den API-Schlüssel aus GENDERAPI_API_KEY oder nimmt ihn im Konstruktor entgegen. Bewahren Sie den Schlüssel auf Ihrem Server auf.
- Ohne API-Schlüssel nutzen Anfragen den gemeinsamen IP-Testzugang: 10 Credits pro IP-Adresse innerhalb von 24 Stunden.
- Das Importieren eines Pakets oder das Erstellen eines Clients sendet keine Anfrage. Jeder Methodenaufruf sendet genau eine Anfrage.
- Kein SDK wiederholt eine Anfrage automatisch. Eine Wiederholung ist ein neuer Vorgang, der normal berechnet wird; prüfen Sie daher zuerst den Fehler und den Abrechnungsstatus.
- Die SDKs folgen keinen Weiterleitungen, und das Standard-Timeout beträgt 10 Sekunden.
- Ein unbekanntes Ergebnis ist eine erfolgreiche Antwort: gender ist null und die Anfrage wird normal berechnet.
- Fehler enthalten den HTTP-Status, den Fehlercode, die Anfrage-ID und, sofern vorhanden, den Wert von Retry-After.
Schnellstart-Beispiele
Jedes Beispiel sendet eine Namensvorhersage und kostet 1 Credit. Setzen Sie zuerst GENDERAPI_API_KEY in der Serverumgebung. Die README des jeweiligen Repositorys behandelt Batch-Anfragen, Nutzungsabfragen und Fehlerbehandlung.
from genderapi import GenderAPI
client = GenderAPI() # reads GENDERAPI_API_KEY
result = client.name("Alice", country="US")
print(result.data.gender, result.data.result_status)
print(result.meta.usage.charged_credits)import { GenderAPI } from "genderapi";
const client = new GenderAPI(); // reads GENDERAPI_API_KEY
const { data, meta } = await client.name("Andrea", { country: "IT" });
console.log(data.gender, data.result_status, meta.usage.charged_credits);<?php
require __DIR__ . '/vendor/autoload.php';
use GenderApi\Client;
$client = new Client(); // reads GENDERAPI_API_KEY
$result = $client->name('Anna', country: 'DE');
echo $result->data->gender ?? 'unknown', ' ', $result->meta->usage->chargedCredits, "\n";require "genderapi"
client = GenderAPI::Client.new # reads ENV["GENDERAPI_API_KEY"]
result = client.name("Andrea", country: "IT")
puts result.data.gender, result.usage.charged_creditsimport io.genderapi.GenderApiClient;
import io.genderapi.model.GenderResponse;
GenderApiClient client = new GenderApiClient(); // reads GENDERAPI_API_KEY
GenderResponse response = client.name("Andrea", "IT");
System.out.println(response.getData().getGender());
System.out.println(response.getMeta().getUsage().getChargedCredits());library(genderapi)
res <- genderapi_name("Lena", country = "DE") # reads GENDERAPI_API_KEY
res$data$gender
res$meta$usage$charged_creditsusing GenderApi;
using var client = new GenderApiClient(); // reads GENDERAPI_API_KEY
GenderResponse res = await client.NameAsync("Alice", country: "US");
Console.WriteLine(res.Data!.Gender ?? "unknown");
Console.WriteLine(res.Meta!.Usage!.ChargedCredits);V1-Integration auf 1.x belassen
Pakete der Version 1.x bleiben für bestehende V1-Integrationen verfügbar und sind nicht veraltet. Fixieren Sie die Hauptversion, damit ein Update nicht 2.x installiert, und migrieren Sie jede Integration, sobald Sie bereit sind.
| Sprache | 1.x-Installation |
|---|---|
| Python | pip install "genderapi<2" |
| JavaScript / TypeScript | npm install genderapi@1 |
| PHP | composer require "genderapi/genderapi:^1.0" |
| Ruby | gem install genderapi -v "~> 1.0" |
| Java | implementation 'com.github.GenderAPI:genderapi-java:v1.0.3' |
| R | remotes::install_version("genderapi", "1.0.3") |
Quellcode und Issues
Jedes SDK ist Open Source. Melden Sie Fehler oder wünschen Sie Funktionen im jeweiligen GitHub-Repository.