Skip to main content

*Unofficial* client for the Kagi API

Project description

Kaginawa

project icon

An unofficial client to Kagi APIs

Installation

pip install kaginawa

Usage

from kaginawa.client import Kaginawa

# You can also set the KAGI_API_KEY environment variable.
client = Kaginawa(token="YOUR_API_TOKEN")

response: KaginawaFastGPTResponse = client.generate(
    "Write a logstash pipeline file to send a heartbeat to a server "
    "https://example.com/heartbeat every 30 seconds"
)

print(response.output)

for reference in response.references:
    print(reference.title)
    print(reference.snippet)
    print(reference.url)

response: KaginawaEnrichResponse = client.enrich_web(query="Best fermented hot sauce")
# or 
response: KaginawaEnrichResponse = client.enrich_news(query="Is Oliver Tree okay?")

for result in response.results:
    print(result.rank)
    print(result.title)
    print(result.url)
    print(result.snippet)
    print(result.published)


response: KaginawaSummarizationResponse = client.summarize(
    url="https://example.com",
    engine=KaginawaSummarizationEngine.AGNES,
    summary_type=KaginawaSummaryType.TAKEAWAY,
    target_language="FR"
)

print(response.output)

response: KaginawaSummarizationResponse = client.summarize(
    text="The rain in Spain…",
    engine=KaginawaSummarizationEngine.CECIL
)

print(response.output)

Async!

import asyncio
from kaginawa.async_client import AsyncKaginawa

async def amain():
    kagi_client = AsyncKaginawa(...)
    res = await kagi_client.generate(...)
    print(res.output)

    # If you want to explicitly close the client.
    kagi_client.close()

if __name__ == "__main__":
    asyncio.run(amain()) 

FAQ

Do you support the search API?
I would love to but I don't have enterprise.
Why the name?
Because it's like the only word that starts with Kagi

kagi_meme

Authors

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

kaginawa-0.0.8.tar.gz (606.1 kB view details)

Uploaded Source

Built Distribution

kaginawa-0.0.8-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file kaginawa-0.0.8.tar.gz.

File metadata

  • Download URL: kaginawa-0.0.8.tar.gz
  • Upload date:
  • Size: 606.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.6

File hashes

Hashes for kaginawa-0.0.8.tar.gz
Algorithm Hash digest
SHA256 0657d6b396fd207f93c45d2fe2c5ee055bbb4ddd83507cb2d656170fc0495bae
MD5 724ebeca8f7290b8015811190ebdb689
BLAKE2b-256 7be841d8776841af36643573f660806fc5001202e0b208849b8234b24f398c3a

See more details on using hashes here.

File details

Details for the file kaginawa-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: kaginawa-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.6

File hashes

Hashes for kaginawa-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 fc7e2b35e78842dee00ebcf22087536876dfd4d317da54ab443622248b9c12e2
MD5 0b16d351a63d5508983bc573b881f14c
BLAKE2b-256 c1b935d53f076bc69a1a53b227f9e400c55b90717d025dfecd9d8313b50b722c

See more details on using hashes here.

Supported by

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