Scegli un pacchetto
Gli SDK ufficiali open source chiamano la stessa API V2 descritta in queste guide. La versione 2.x di ogni pacchetto usa l'API V2. Per i nuovi progetti installa la versione 2.x.
| Linguaggio | Pacchetto | Installazione | Requisiti |
|---|---|---|---|
| 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 o .NET Standard 2.0 |
Note sui registri
- Java: aggiungi https://jitpack.io ai tuoi repository. La stessa release è pubblicata anche su GitHub Packages come io.genderapi:genderapi, che richiede un token GitHub con read:packages.
- R: CRAN distribuisce ancora il pacchetto 1.x mentre la versione 2.0.0 è in fase di revisione su CRAN. Installa la 2.0.0 dal tag GitHub finché CRAN non la pubblica.
- JavaScript: il pacchetto è pensato per runtime lato server. Non usarlo nel codice del browser, perché esporrebbe la tua chiave API.
Comportamento comune
- Ogni client legge la chiave API da GENDERAPI_API_KEY oppure la accetta nel costruttore. Tieni la chiave sul tuo server.
- Senza chiave API, le richieste usano la prova IP condivisa: 10 crediti per indirizzo IP ogni 24 ore.
- Importare un pacchetto o creare un client non invia alcuna richiesta. Ogni chiamata a un metodo invia esattamente una richiesta.
- Nessun SDK ripete automaticamente una richiesta. Un nuovo tentativo è una nuova operazione addebitata normalmente, quindi controlla prima l'errore e lo stato dell'addebito.
- Gli SDK non seguono i reindirizzamenti e il timeout predefinito è di 10 secondi.
- Un risultato sconosciuto è una risposta riuscita: gender è null e la richiesta viene addebitata normalmente.
- Gli errori riportano lo stato HTTP, il codice di errore, l'ID della richiesta e, se presente, il valore di Retry-After.
Esempi di avvio rapido
Ogni esempio invia una previsione per un nome e costa 1 credito. Prima imposta GENDERAPI_API_KEY nell'ambiente del server. Il README di ogni repository illustra le richieste batch, i controlli sull'utilizzo e la gestione degli errori.
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('Lorenzo', country: 'IT');
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("Sofia", country = "IT") # 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);Mantieni un'integrazione V1 sulla 1.x
I pacchetti della versione 1.x restano disponibili per le integrazioni V1 esistenti e non sono deprecati. Blocca la versione principale in modo che un aggiornamento non installi la 2.x, poi migra ogni integrazione quando sei pronto.
| Linguaggio | Installazione 1.x |
|---|---|
| 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") |
Codice sorgente e segnalazioni
Ogni SDK è open source. Segnala bug o richiedi funzionalità nel repository GitHub corrispondente.