Skip to main content

Python SDK for Nadeshiko API (internal build - includes internal endpoints)

Project description

Nadeshiko SDK

Python SDK for the Nadeshiko API.

Install

pip install nadeshiko-sdk

Use the public SDK

The client sends your API key as Authorization: Bearer <apiKey>.

import os

from nadeshiko import Nadeshiko
from nadeshiko.api.search import search
from nadeshiko.models import Error, SearchRequest

client = Nadeshiko(
    base_url=os.getenv("NADESHIKO_BASE_URL", "https://api.nadeshiko.co"),
    token=os.getenv("NADESHIKO_API_KEY", "your-api-key"),
)

result = search.sync(
    client=client,
    body=SearchRequest(query="彼女"),
)

if isinstance(result, Error):
    print(result.code, result.detail)
else:
    for sentence in result.sentences:
        print(sentence.segment_info.content_jp)

Error handling

Every response returns either a typed response object or an Error. The Error object follows the RFC 7807 Problem Details format, so you always get a machine-readable code and a human-readable detail.

import os

from nadeshiko import Nadeshiko
from nadeshiko.api.search import search
from nadeshiko.models import Error, SearchRequest

client = Nadeshiko(
    base_url=os.getenv("NADESHIKO_BASE_URL", "https://api.nadeshiko.co"),
    token=os.getenv("NADESHIKO_API_KEY", "your-api-key"),
)

result = search.sync(
    client=client,
    body=SearchRequest(query="食べる"),
)

if isinstance(result, Error):
    match result.code:
        # 400 — Bad Request
        case "VALIDATION_FAILED":
            print("Validation failed:", result.detail)
        case "INVALID_JSON":
            print("Malformed JSON body:", result.detail)
        case "INVALID_REQUEST":
            print("Invalid request:", result.detail)

        # 401 — Unauthorized
        case "AUTH_CREDENTIALS_REQUIRED":
            print("Missing API key or session token")
        case "AUTH_CREDENTIALS_INVALID":
            print("API key is invalid")
        case "AUTH_CREDENTIALS_EXPIRED":
            print("Token has expired, re-authenticate")
        case "EMAIL_NOT_VERIFIED":
            print("Email verification required")

        # 403 — Forbidden
        case "ACCESS_DENIED":
            print("Access denied")
        case "INSUFFICIENT_PERMISSIONS":
            print("API key lacks the required scope")

        # 429 — Too Many Requests
        case "RATE_LIMIT_EXCEEDED":
            print("Rate limit hit, slow down")
        case "QUOTA_EXCEEDED":
            print("Monthly quota exhausted")

        # 500 — Internal Server Error
        case "INTERNAL_SERVER_EXCEPTION":
            print("Server error, trace ID:", result.instance)
else:
    for sentence in result.sentences:
        print(sentence.segment_info.content_jp, "—", sentence.basic_info.name_anime_en)

See examples/examples.py for more usage patterns.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nadeshiko_internal_sdk-2.1.0.dev1776421973.tar.gz (88.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file nadeshiko_internal_sdk-2.1.0.dev1776421973.tar.gz.

File metadata

File hashes

Hashes for nadeshiko_internal_sdk-2.1.0.dev1776421973.tar.gz
Algorithm Hash digest
SHA256 a32ffbdc1fd1a7d1a968275ad825fb3e1d28a348feb444b4c239d8ebc6d2424c
MD5 6baee5a1543388d70357f3f08493ba3e
BLAKE2b-256 a21b01cbbbb3599d07d3a9116e0f85b713754d629c57c71585af30d95810d899

See more details on using hashes here.

Provenance

The following attestation bundles were made for nadeshiko_internal_sdk-2.1.0.dev1776421973.tar.gz:

Publisher: release.yml on BrigadaSOS/nadeshiko-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nadeshiko_internal_sdk-2.1.0.dev1776421973-py3-none-any.whl.

File metadata

File hashes

Hashes for nadeshiko_internal_sdk-2.1.0.dev1776421973-py3-none-any.whl
Algorithm Hash digest
SHA256 22af83dc01ff5e20e6af6df9da0990a68b2966972250fe51f0b9f1d29eb95e89
MD5 2fb1cfd7e9cbcb3af87e4d8fd6e15feb
BLAKE2b-256 f5df3875e05389e8d76161866b7af3d42ea7e34af7e43a06df10dd6d5da9f7f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for nadeshiko_internal_sdk-2.1.0.dev1776421973-py3-none-any.whl:

Publisher: release.yml on BrigadaSOS/nadeshiko-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page