Skip to main content

fishr

FREE LLM ACCESS FROM PYTHON. NO KEYS! NO AUTH! NO LIMITS!

Install

pip install fishr

Quick Start

from fishr import Client

client = Client()

# Chat completion
response = client.chat.completions.create(
    model="noxus/openai",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.text)

# Streaming
response = client.chat.completions.create(
    model="noxus/openai",
    messages=[{"role": "user", "content": "Tell me a story"}],
    stream=True,
)
for chunk in response:
    print(chunk.choices[0].delta.content or "", end="")

# Web search
response = client.chat.completions.create(
    model="noxus/grok-4.3",
    messages=[{"role": "user", "content": "Latest news on SpaceX"}],
    web_search=True,
)
print(response.text)

# Image generation
result = client.images.generate(
    model="deepai/image",
    prompt="A cat riding a skateboard",
)
print(result.data[0].url)

# Text-to-speech (make/* models — 39 voices)
result = client.audio.speech.create(
    model="make/aura",
    input="Hello from fishr.",
)
with open("out.wav", "wb") as f:
    f.write(result.data[0].audio)

# Agent
result = client.agents.run(
    model="noxus/openai",
    prompt="Research quantum computing",
    tools=[{"type": "web_search"}],
)
print(result.content)

# Tool calling (kai/* models support native OpenAI-style tools)
tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get weather for a location",
        "parameters": {
            "type": "object",
            "properties": {"location": {"type": "string"}},
            "required": ["location"],
        },
    },
}]
resp = client.chat.completions.create(
    model="kai/auto",
    messages=[{"role": "user", "content": "What is the weather in Tokyo?"}],
    tools=tools,
)
for tc in resp.choices[0].message.tool_calls:
    print(tc.function.name, tc.function.arguments)

# Multi-turn conversation
conv = client.conversation(model="noxus/openai")
conv.system("You are a helpful assistant.")
conv.ask("Remember: 42")
conv.ask("What number did I say?")

Async

from fishr import AsyncClient

client = AsyncClient()

response = await client.chat.completions.create(
    model="deepai/standard",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.text)

# Async streaming
response = await client.chat.completions.create(
    model="opera/aria",
    messages=[{"role": "user", "content": "Tell me a story"}],
    stream=True,
)
async for chunk in response:
    print(chunk.choices[0].delta.content or "", end="")

# Async conversation
conv = client.conversation(model="noxus/openai")
await conv.ask("Remember: 42")
await conv.ask("What number did I say?")

Direct Provider Access

from fishr import OperaAria, Yqcloud

# Use a provider directly
opera = OperaAria()
result = opera.ask("Hello!", model="opera/aria")
print(result.content)

yqcloud = Yqcloud()
result = yqcloud.chat([{"role": "user", "content": "Hi!"}])
print(result.content)

Models

Models are specified as provider/name:

Provider Models Features
Noxus noxus/openai, noxus/google, noxus/sonnet-4.6, noxus/sonnet-3.5, noxus/grok-4.3, noxus/perplexity, noxus/metaai, noxus/qwen Web search, images, history, system messages
DeepAI deepai/standard, deepai/online, deepai/gemma-4, deepai/gemini-2.5-flash-lite, deepai/deepseek-v3.2, deepai/image Web search (online), images, history, system messages
Quillbot quillbot/quillbot, quillbot/quillbot-search Web search (quillbot-search), history, system messages
NoTrack notrack/fast, notrack/standard, notrack/reasoning History
DphnAI dphnai/24b, dphnai/6b History, system messages
Yqcloud yqcloud/gpt-4 History, system messages
Opera Aria opera/aria Images, history, system messages
Kai kai/auto, kai/m.1, kai/xs-2.1, kai/xs.2, kai/north-mini, kai/nemo3-ultra, kai/nemo3-super, kai/nemo3-nemo, kai/3.7-flash, kai/openfree Tool calling, history, system messages (some support images)
Make make/aura, make/breeze, make/cypress, make/drift, make/echo, make/flare, make/gem, make/hazel, make/ivy, make/jazz, make/kite, make/lumen, make/mist, make/saffron, make/solstice, make/pearl, make/quartz, make/ripple, make/cobalt, make/tide, make/vale, make/wren, make/ash, make/brook, make/cedar, make/dawn, make/fern, make/glen, make/harbor, make/indigo, make/juniper, make/lotus, make/maple, make/nettle, make/opal, make/pine, make/river, make/slate, make/willow TTS (39 voices, WAV)

The provider prefix is optional for Noxus (default).

Requirements

  • Python >= 3.11

Metadata

Release files for fishr 0.0.5

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

Source distribution (sdist)

Source distribution for fishr 0.0.5
File Size Uploaded
fishr-0.0.5.tar.gz 48.0 kB Details

Built distribution (wheel)

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

Total release size: 111.9 kB

Release files / fishr-0.0.5.tar.gz

Download URL fishr-0.0.5.tar.gz
Size 48.0 kB
Tags Source
SHA-256 checksum
How to use checksums
363c6f0a0c5bc3d09bd119db07af0e93149bd623fadc73e8dd84d3a0f946b97b
BLAKE2b-256 checksum
How to use checksums
19fc0ae1415936a572cbff384165f94d7d8eab53e0bdde4fe164557b12826692
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / fishr-0.0.5-py3-none-any.whl

Download URL fishr-0.0.5-py3-none-any.whl
Size 63.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b0d14fd3bd993182e57a42e2b4c9581a05b0f42c8895bf62dc981ac4aab9f7b5
BLAKE2b-256 checksum
How to use checksums
5c1dc2856aab19ec8c2c42f63ab74ba3982f3b187e0d3c932e195eecd74efe5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

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