Skip to main content

negirau

PyPI version Python Versions License CI uv Ruff ty

Python client for the Negirau public API (read-only, anonymous).

Hand-written around resource namespaces, a types package, a typed exception hierarchy, and retries with exponential backoff — and kept honest by contract tests: they load the service's build-time-generated openapi.json and prove that every operation is covered, that requests only use spec-declared parameters, and that spec-conformant payloads parse into the models. Drift between the API and this client fails CI — the same guarantee code generation gave, without generated code.

Install

pip install negirau

Usage

from negirau import Negirau

client = Negirau()

found = client.subjects.list(q="library", limit=5)  # free-text name search
for subject in found.subjects:
    print(subject.id, subject.name)

nearby = client.subjects.list_near(35.64, 139.65, radius=3000)

reactions = client.subjects.reactions.retrieve("0e6f9b3a-6b1e-4b8a-9a6a-1c2d3e4f5a6b")
print(reactions.total)  # the all-time display value: exact up to 100, "100+" beyond

Async:

from negirau import AsyncNegirau

async with AsyncNegirau() as client:
    page = await client.subjects.list(q="花火")

Errors and retries:

from negirau import Negirau, NotFoundError, RateLimitError

client = Negirau(max_retries=2)  # 408/409/429/5xx retry with exponential backoff

try:
    client.subjects.retrieve("no-such-subject")
except NotFoundError as error:
    print(error.status_code, error.code)  # 404 not_found
except RateLimitError:
    ...

Types live in negirau.types (Subject, SubjectPage, ReactionsSummary, DisplayValue, …).

Notes

  • Counts are display values by design: exact up to 100, "100+" beyond, and never rankings — no API returns unbounded exact numbers.
  • There are no bulk dumps: resolve names with client.subjects.list(q=...) (server-side trigram search, Japanese and English substrings).

License

Apache-2.0. This package lives in the negirau monorepo, whose server code is separately licensed under AGPL-3.0-only.

Metadata

Release files for negirau 0.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for negirau 0.3.2
File Size Uploaded
negirau-0.3.2.tar.gz 11.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for negirau 0.3.2
File Interpreter ABI Platform
negirau-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 26.1 kB

Release files / negirau-0.3.2.tar.gz

Download URL negirau-0.3.2.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
fe8d3f5d1db14be889e8998ea5db7feb2d1928e6c260ed1e9e9d3a8c501bcef9
BLAKE2b-256 checksum
How to use checksums
60878e49b108f09c5b41ea47ddc4c54f1f07185e3089d745cb55f004065985ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","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}

Release files / negirau-0.3.2-py3-none-any.whl

Download URL negirau-0.3.2-py3-none-any.whl
Size 14.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6aee1f3ef8d155f52681ea75d8cfa74c0be5136f929d22c231c4c479448672cf
BLAKE2b-256 checksum
How to use checksums
be761c5c4269438b2cefdc11ef0df2ac8bb34e6ffe9aed96823fc061c69408f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.7 {"installer":{"name":"uv","version":"0.12.7","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}

Release history Release notifications | RSS feed

This release

0.3.2 This release

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page