Skip to main content

Crate ceres_client

Crate ceres_client 

Source
Expand description

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 TypeStatusAPI
CKANSupportedCKAN API
DCAT-AP (udata REST)SupportedDCAT-AP
SocrataPlannedSocrata API

§Embedding Providers

Multiple embedding providers are supported:

ProviderModelDimensions
Geminigemini-embedding-001768
OpenAItext-embedding-3-small1536
OpenAItext-embedding-3-large3072
Ollamanomic-embed-text768
Ollamamxbai-embed-large1024

Re-exports§

pub use ckan::CkanClient;
pub use ckan::CkanClientFactory;
pub use dcat::DcatClient;
pub use gemini::GeminiClient;
pub use ollama::OllamaClient;
pub use openai::OpenAIClient;
pub use portal::PortalClientEnum;
pub use portal::PortalClientFactoryEnum;
pub use portal::PortalDataEnum;
pub use provider::EmbeddingConfig;
pub use provider::EmbeddingProviderEnum;

Modules§

ckan
CKAN client for harvesting datasets from CKAN-compatible open data portals.
dcat
DCAT-AP REST client for harvesting datasets from udata-based open data portals.
gemini
Google Gemini embeddings client.
ollama
Ollama embeddings client.
openai
OpenAI embeddings client.
portal
Portal client factory and enum dispatch.
provider
Embedding provider factory and dynamic dispatch.