Expand description
Ceres Client - HTTP clients for external APIs
This crate provides HTTP clients for interacting with:
ckan- CKAN open data portalsportal- Unified portal client factory (enum dispatch over portal types)gemini- Google Gemini embeddings APIopenai- OpenAI embeddings APIollama- 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 |
| 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 |
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.