ckanaction is a Rust library crate that acts as an API wrapper for the CKAN Actions API (v3). There is also an interactive web GUI.
This means that instead of using generic request library crates such as reqwest, a developer can use ckanaction instead to make API calls to their CKAN instance.
For example the following code can be ran to send an HTTP GET request to the /package_list endpoint of a local CKAN instance's API by using the ckanaction crate:
use dotenvy::dotenv;#[tokio::main]async fn main() -> Result<(), Box<dyn std::error::Error>> { // Load environment variables from .env file dotenv()?; // Initialize and build CKAN struct let ckan = ckanaction::CKAN::builder() .url("http://localhost:5000") .token(dotenvy::var("CKAN_API_TOKEN")?) .build(); // Send request to /package_list and print output let result = ckan.package_list() .limit(5) // <-- This is an optional parameter you can remove .call() .await?; println!("{result:#?}"); Ok(())}
You may also explore this web app to view more code examples for each endpoint and also use an interactive GUI for sending HTTP requests to any local or remote CKAN instance.
View the GIF below to see how to point to a specific CKAN API endpoint using the interactive GUI, which by default points to a local CKAN instance endpoint's URL.