Catalog PyPI
PACKAGE EXPLORERView in registry

aiodeepseek

PyPI

High-performance async Python client for the private DeepSeek API

Versions collected1
Direct dependencies1From release 0.1.1
Last observed21 Oct, 11:48 UTC

README

Version 0.1.1 documentation

aiodeepseek

Python Platform Async DeepSeek

A high-performance async Python client for the private DeepSeek API. Supports streaming, image uploads, multi-turn conversations, and new account registration.

➡️ Russian documentation: docs/ru/README.md

Installation

pip install aiodeepseek

A C++ extension build requires a compiler with AVX2 support and pybind11. More details are in docs/en/pow.md. You can also download a prebuilt release.


Quick start

Email/password authentication

import asyncio
from aiodeepseek import DeepSeekClient

async def main():
    async with DeepSeekClient(email="myname@example.com", password="password123") as client:
        result = await client.ask("Hello!")
        print(result.text)

asyncio.run(main())

Token authentication

import asyncio
from aiodeepseek import DeepSeekClient

async def main():
    async with DeepSeekClient(token="YOUR_TOKEN") as client:
        result = await client.ask("Hello!")
        print(result.text)

asyncio.run(main())

Streaming a response

import asyncio
from aiodeepseek import DeepSeekClient

async def main():
    async with DeepSeekClient(token="YOUR_TOKEN") as client:
        async for chunk in client.ask_stream("Tell me about Python"):
            print(chunk, end="", flush=True)

asyncio.run(main())

Multi-turn conversation

import asyncio
from aiodeepseek import DeepSeekClient

async def main():
    async with DeepSeekClient(token="YOUR_TOKEN") as client:
        chat = client.new_conversation()
        print((await chat.ask("What is your name?")).text)
        print((await chat.ask("What can you do?")).text)

asyncio.run(main())

Image upload

import asyncio
from pathlib import Path
from aiodeepseek import DeepSeekClient

async def main():
    async with DeepSeekClient(token="YOUR_TOKEN") as client:
        img = await client.upload_image(Path("photo.jpg"))
        result = await client.ask("What is in the photo?", image=img)
        print(result.text)

asyncio.run(main())

or by passing Path | bytes directly to ask:

import asyncio
from pathlib import Path
from aiodeepseek import DeepSeekClient

async def main():
    async with DeepSeekClient(token="YOUR_TOKEN") as client:
        result = await client.ask(
            prompt="What is in the photo?",
            image=Path("photo.jpg")
        )
        print(result.text)

asyncio.run(main())

New account registration

import asyncio
from aiodeepseek import DeepSeekClient

async def main():
    await DeepSeekClient.send_reg_code("myname@example.com")
    code = input("Code from the email: ")
    token = await DeepSeekClient.confirm_reg_code("myname@example.com", "password123", code)
    print("Token:", token)

asyncio.run(main())

Model types

from aiodeepseek import DeepSeekClient
from aiodeepseek.types.enums import ModelType

async with DeepSeekClient(token="...", model=ModelType.VISION) as client:
    ...
ValueDescription
ModelType.DEFAULTStandard language model
ModelType.EXPERTDeep reasoning model
ModelType.VISIONModel with machine vision support

Error handling

import asyncio
from aiodeepseek import DeepSeekClient
from aiodeepseek.types.exceptions import AuthorizationError, DeepSeekError

async def main():
    try:
        async with DeepSeekClient(token="invalid") as client:
            await client.ask("Hello")
    except AuthorizationError:
        print("Token is invalid")
    except DeepSeekError as e:
        print(f"API error: {e}")

asyncio.run(main())

Proof-of-Work

Before every request, the client automatically solves the PoW challenge issued by the DeepSeek server. Typical difficulty is 144,000 iterations. The calculation is implemented in C++ using AVX2, which keeps it barely noticeable in practice. More details are in docs/en/pow.md.


Documentation


Requirements

  • Python 3.9+
  • aiohttp >= 3.9
  • A C++17 compiler with AVX2 (to build the extension) or manually downloaded wheels.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.110 May 20261

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
boykopovar/aiodeepseek

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 11:48 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:d91f3ef45b25d5ef8bcbc1caec1787c1f4cb226052cb1eed519fa45b9933a388