Thanks to visit codestin.com
Credit goes to lib.rs

8 unstable releases (3 breaking)

Uses new Rust 2024

new 0.4.0 May 21, 2026
0.3.5 Mar 30, 2026
0.3.0 Feb 26, 2026
0.2.2 Feb 6, 2026
0.1.1 Dec 28, 2025

#296 in HTTP client


Used in 2 crates

Apache-2.0

525KB
10K SLoC

Ceres Client - HTTP clients for external APIs

This crate provides HTTP clients for interacting with:

  • ckan - CKAN open data portals
  • portal - Unified portal client factory (enum dispatch over portal types)
  • gemini - Google Gemini embeddings API
  • openai - OpenAI embeddings API
  • ollama - Ollama local embeddings

Overview

The clients handle authentication, request building, response parsing, and error handling for their respective APIs.

Portal Clients

Multiple portal types are supported via PortalClientEnum:

Portal Type Status API
CKAN Supported CKAN API
DCAT-AP (udata REST) Supported DCAT-AP
DCAT-AP (SPARQL) Supported SPARQL endpoint with DCAT vocabulary
Socrata Planned Socrata API

Embedding Providers

Multiple embedding providers are supported:

Provider Model Dimensions
Gemini gemini-embedding-001 768
OpenAI text-embedding-3-small 1536
OpenAI text-embedding-3-large 3072
Ollama nomic-embed-text 768
Ollama mxbai-embed-large 1024

ceres-client

The external communication layer for Ceres.

This crate handles connections to external systems used by Ceres: portal APIs for harvesting and embedding providers for optional vector generation.

What it provides

  • Portal Clients: CKAN harvesting plus current DCAT udata support.
  • Embedding Providers: Ollama, Gemini, and OpenAI via the EmbeddingProvider trait.
  • HTTP Handling: Robust request handling with retries.

Current focus

  • Harvest compatibility: normalize heterogeneous portal responses into the shared NewDataset model.
  • Local-first embedding: Ollama support keeps embedding optional and self-hostable.
  • Provider dispatch: enum-based factories bridge runtime configuration with async traits.

Dependencies

~50MB
~826K SLoC