Installation
brinicle can be installed in multiple ways depending on your use case. The core library is available as a Python package, and a standalone HTTP server is available for deployment as a service.Python Package (pip)
The simplest way to get started with brinicle is through pip. The package includes the C++ core with Python bindings, so no separate compilation step is needed for most platforms:Requirements
- Python 3.12.x
Runtime Dependencies
The Python package requires:numpy— for vector operations and array handlingtokenizers— HuggingFace tokenizers library (for Item Search and Autocomplete engines)
Build from Source
If you need to build from source — for example, if pre-built wheels are not available for your platform — you can clone the repository and build manually:build.sh script compiles the C++ core with pybind11 bindings and installs the package into your Python environment. It requires a C++20-compatible compiler (such as g++ 10+ or Clang 12+).
Build Dependencies
scikit-build-core >= 0.11pybind11 >= 2.11cmake >= 3.18ninja- C++20 compiler with OpenMP support
HTTP Server (Docker)
For deploying brinicle as a standalone service, you can use Docker. The official Docker image includes the FastAPI server ready for production use:docker-compose.yml file.
Manual Server Setup
Alternatively, you can install the server dependencies and run the FastAPI application directly:brinicle[server] extra installs FastAPI, Uvicorn, Pydantic, and python-multipart — all the dependencies needed to run the HTTP server.