Skip to main content

Http based Vndb Client.

Project description

vndb-client

Release Build status codecov License

A fully typed, HTTP-based Python client for the VNDB (Visual Novel Database) Kana API.

Features

  • Synchronous (Client) and asynchronous (AsyncClient) interfaces sharing one core.
  • Typed Pydantic models for every entity: visual novels, releases, producers, characters, staff, tags, traits, quotes.
  • A composable filter DSL (from vndb_client.filters import vn_filters) — (vn_filters.rating >= 80) & (vn_filters.lang == "en").
  • Simple GET endpoints: stats, authinfo, get_user, ulist_labels, schema.
  • User-list read and write: query a user's list, then set_ulist / delete_ulist / set_rlist / delete_rlist.
  • Ships py.typed; strict mypy-clean.

Installation

pip install vndb-client

Quickstart

Synchronous:

from vndb_client import Client

with Client() as client:
    page = client.vn.query(filters=["search", "=", "ever17"], results=5)
    for vn in page.results:
        print(vn.id, vn.title)

Asynchronous:

import asyncio
from vndb_client import AsyncClient

async def main() -> None:
    async with AsyncClient() as client:
        page = await client.vn.query(filters=["search", "=", "ever17"], results=5)
        for vn in page.results:
            print(vn.id, vn.title)

asyncio.run(main())

Authentication

Read-only endpoints work without a token. User-list writes and authinfo require a VNDB API token:

from vndb_client import Client

with Client(token="your-token") as client:
    client.set_ulist("v17", vote=90)

Documentation

Full guides and the API reference live at https://game-fan-hoarder.github.io/vndb-client/.

License

MIT — see LICENSE.

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

vndb_client-1.0.0.tar.gz (320.0 kB view details)

Uploaded Source

Built Distribution

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

vndb_client-1.0.0-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file vndb_client-1.0.0.tar.gz.

File metadata

  • Download URL: vndb_client-1.0.0.tar.gz
  • Upload date:
  • Size: 320.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for vndb_client-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0673b88f5ca243ab8820bd0a7427fc48151d84afa9fba35d1bca55cc7a6a8015
MD5 dedf4cb49bc0614769aedfb69a1ebfcd
BLAKE2b-256 805dbc83ccb1403f0d1e9587468ad7273f65fab7abe82d24127176d6fd6d22e9

See more details on using hashes here.

File details

Details for the file vndb_client-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: vndb_client-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for vndb_client-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5d7dc6c9ea4ede949844c7980dadac38471ec905cce2d380f5b3e9a50c70eb7
MD5 7523fec1baf3f5ed40fe733006a5a378
BLAKE2b-256 1b836b4317f1fe887b04510e94b04838b43638675539da423e3de3be7f72a3cf

See more details on using hashes here.

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