skillfed

sonic-client

python client for sonic search backend

sonic-client v1.0.0 123.9K downloads/30d#11,894 on PyPI61
Permissive license BSD 3-Clause License Abandoned released

What it is and what it does

sonic-client is a synchronous Python wrapper around the Sonic search backend protocol. It provides three main client classes—IngestClient for adding searchable content, SearchClient for querying, and ControlClient for administrative operations—all communicating via TCP with a remote Sonic server. The library was designed to work within gevent contexts as an alternative to async-based clients.

The package has no external runtime dependencies, making installation straightforward. However, it is in abandoned maintenance: the last commit was in April 2021, over 1170 days ago, and the codebase is marked as Alpha. While it remains available and has modest download volume, it will not receive updates for Python compatibility issues, Sonic protocol changes, or bug fixes.

Use it for:

  • Index and search documents in a Sonic backend from a Python application without async overhead.
  • Build a synchronous search layer on top of Sonic for gevent-based applications.
  • Perform bulk ingestion of searchable content into Sonic collections and buckets.
  • Query Sonic indices and retrieve search results programmatically in a blocking context.
  • Trigger administrative operations like consolidation on a remote Sonic instance.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python client library for the Sonic search backend, providing ingest, search, and control operations over a network connection.

Yes, with conditions. Install if you are already committed to Sonic as your search backend and need a synchronous Python client for a gevent-based application. The low install friction and permissive license are advantages. However, the abandoned maintenance status means you should expect no updates for Python version compatibility or Sonic protocol changes, and you may need to fork or patch the code yourself if issues arise. Not recommended for new projects unless you have a specific gevent requirement and are willing to maintain the integration yourself.

Install

sonic-client on PyPI

pip

pip install sonic-client

uv

uv add sonic-client

poetry

poetry add sonic-client

Installing sonic-client

Before you install

Low install friction with no runtime dependencies. Maintenance is abandoned—last commit was 2021-04-27 and no updates for over 1170 days—so expect no bug fixes or compatibility updates for newer Python or Sonic versions.

License in practice

Licensed under BSD 3-Clause License with permissive treatment, allowing commercial and private use with minimal restrictions.

Quickstart

pip install sonic-client

from sonic import SearchClient
with SearchClient("127.0.0.1", 1491, "password") as querycl:
    results = querycl.query("wiki", "articles", "search_term")

Requires a running Sonic search backend server accessible at the specified host and port.

Verify before relying

  • Whether the package works with current Python versions (3.10+) given its abandoned status.
  • Compatibility with recent Sonic backend versions and protocol changes.
  • Whether gevent integration mentioned in the description is actively maintained or documented.

Package facts

License BSD 3-Clause License (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 1,170 days since the last release
Last repo commit
First released
Downloads 123,864/month — #11,894 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: sonic_client-1.0.0-py3-none-any.whl

Development Status :: 3 - AlphaEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: Python

Tags

sonic search backend clientpython sonic ingest searchsonic protocol client librarysearch backend python integrationsonic query and push client
search-backendgevent-compatible

More Front-Ends packages