Skip to main content

seekit

seekit wraps multiple search providers behind a common SerpItem model and can search live using curl_cffi request templates derived from captured HAR files.

Supported providers:

  • Bilibili
  • Brave
  • DuckDuckGo
  • Reddit
  • So.com
  • Sogou
  • Threads
  • Toutiao
  • Weibo
  • YouTube

Install

pip install seekit

Usage

Search live:

import seekit

results = seekit.search("latest OpenAI reasoning model", provider="google")
for item in results[:3]:
    print(item.provider, item.title, item.url)

CLI:

seekit OpenAI
seekit latest OpenAI reasoning model --engine google --limit 5
seekit OpenAI --engine tiktok --format json
seekit OpenAI --engine google --format csv
seekit OpenAI --engine google --debug

Each parsed item uses the shared pydantic model:

class SerpItem(BaseModel):
    provider: str
    title: str | None
    excerpt: str | None
    url: str | None
    author: str | None
    cover_url: str | None
    time: str | None

Fixture parsing is still available for tests and parser debugging:

from pathlib import Path
from har import parse_har

results = parse_har("google", Path("data/pages/google.har"))

Development

uv run pytest

Tests read the HAR fixtures under data/pages, verify the normalized item shape, and validate that live request templates substitute the search keyword correctly.

Server

uv run uvicorn seekit.server:app --reload

Then open http://127.0.0.1:8000/ or call:

curl 'http://127.0.0.1:8000/api/search?q=OpenAI&provider=google'

Docs

Read the Docs config lives in .readthedocs.yaml and Sphinx sources live in docs/.

Release

make publish-testpypi
make publish-pypi

These targets build with uv build and publish with uvx uv-publish.

Metadata

Release files for seekit 0.1.1

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

Source distribution (sdist)

Source distribution for seekit 0.1.1
File Size Uploaded Provenance Actions
seekit-0.1.1.tar.gz 27.5 kB Without provenance Details for seekit-0.1.1.tar.gz

Built distribution (wheel)

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

Total release size: 60.2 kB

Release files / seekit-0.1.1.tar.gz

Download URL seekit-0.1.1.tar.gz
Size 27.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cf7c1a306661c1173cff9fe0a262e05c2fb3d365f5b498c6768153d165f789ad
BLAKE2b-256 checksum
How to use checksums
e6a9ec7c67a477a751d649188aa9635370fb27c77d38a267793f3375f842139c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / seekit-0.1.1-py3-none-any.whl

Download URL seekit-0.1.1-py3-none-any.whl
Size 32.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
40974d731f151f1416412a72a531f54ccd52248ec0298ba85cf0e38e94cf5146
BLAKE2b-256 checksum
How to use checksums
4aec954f694649ca9c3416bf4431126a37ea5d1d667cfe3d9e5866a551bb8be7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for seekit 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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