*Unofficial* client for the Kagi API
Project description
Kaginawa
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
Authors
- Estelle Poulin dev@inspiredby.es
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 hashes)