Skip to main content

Python SDK for Nadeshiko API (public endpoints only)

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


Download files

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

Source Distribution

nadeshiko_sdk-2.0.0.tar.gz (63.9 kB view details)

Uploaded Source

Built Distribution

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

nadeshiko_sdk-2.0.0-py3-none-any.whl (205.6 kB view details)

Uploaded Python 3

File details

Details for the file nadeshiko_sdk-2.0.0.tar.gz.

File metadata

  • Download URL: nadeshiko_sdk-2.0.0.tar.gz
  • Upload date:
  • Size: 63.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nadeshiko_sdk-2.0.0.tar.gz
Algorithm Hash digest
SHA256 3fbdeebfb9e54538bf4148ed8479701e1236d809b0c3b0627fe9e840f8b21bf8
MD5 3affc6953efabbca80710235a8c75b80
BLAKE2b-256 fcdabf964715e8a689bb599a0b07adf3b99a10c564f12aff630d775a28e515db

See more details on using hashes here.

Provenance

The following attestation bundles were made for nadeshiko_sdk-2.0.0.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_sdk-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: nadeshiko_sdk-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 205.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nadeshiko_sdk-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 851221949a27d26c1799b2b37d300988a3b4b24b4b0d7c289c988b4c7c401f0a
MD5 820be8e4105dbf0fdc9b28e3d0ffef59
BLAKE2b-256 04b27b1df3ad3f9e2e02b88b4d3edf6047b7f26f399cbef60b45c8f7a4a30a1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nadeshiko_sdk-2.0.0-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