Crate socrata_sdk

Crate socrata_sdk 

Source
Expand description

§Socrata SDK

A high-performance, asynchronous Rust client for the Socrata Open Data API (SODA).

§Features

  • Async/Await: Built on reqwest and tokio.
  • Generic: Works with any serde::Deserialize type.
  • Pagination: Automatic iteration over large datasets with get_all().

§Example

use socrata_sdk::SocrataClient;
use serde::Deserialize;

#[derive(Deserialize)]
struct Contract { id: String }

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = SocrataClient::new("https://www.datos.gov.co", None);
    let contracts: Vec<Contract> = client.fetch("abcd-1234", 100, 0, None, None).await?;
    println!("Fetched {} contracts", contracts.len());
    Ok(())
}

Structs§

CatalogEntry
Wrapper for catalog API response.
CatalogResource
Information about a dataset from the catalog API.
CatalogResponse
Response from the catalog API.
ColumnMetadata
Metadata about a Socrata dataset column.
DatasetMetadata
Metadata about a Socrata dataset.
SocrataClient
A client for the Socrata Open Data API (SODA).

Enums§

SocrataError

Constants§

DEFAULT_LIMIT
Default page size for pagination (matches Socrata’s default).