Skip to main content

A python library for free LLMs & usable in your python projects. (Grok, Sonnet, GPT)

Project description

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

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

fishr-0.0.5.tar.gz (48.0 kB view details)

Uploaded Source

Built Distribution

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

fishr-0.0.5-py3-none-any.whl (63.8 kB view details)

Uploaded Python 3

File details

Details for the file fishr-0.0.5.tar.gz.

File metadata

  • Download URL: fishr-0.0.5.tar.gz
  • Upload date:
  • Size: 48.0 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for fishr-0.0.5.tar.gz
Algorithm Hash digest
SHA256 363c6f0a0c5bc3d09bd119db07af0e93149bd623fadc73e8dd84d3a0f946b97b
MD5 82eb869cb4b82a28495a435af32cf35f
BLAKE2b-256 19fc0ae1415936a572cbff384165f94d7d8eab53e0bdde4fe164557b12826692

See more details on using hashes here.

File details

Details for the file fishr-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: fishr-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 63.8 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for fishr-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b0d14fd3bd993182e57a42e2b4c9581a05b0f42c8895bf62dc981ac4aab9f7b5
MD5 4b13b2a5daab6b486ae85dcf6af88fc9
BLAKE2b-256 5c1dc2856aab19ec8c2c42f63ab74ba3982f3b187e0d3c932e195eecd74efe5c

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