#error #search #client #region #accessing #information #edbo

libedbo

Rust client library for accessing the EDBO OpenAPI

1 unstable release

0.1.0 Nov 25, 2024

#1910 in Web programming

Download history 129/week @ 2024-11-22 17/week @ 2024-11-29 8/week @ 2024-12-06

154 downloads per month

MIT/Apache

25KB
324 lines

libedbo

A robust, type-safe Rust client for the EDBO Opendata (Реєстр суб'єктів освітньої діяльності, Відкриті дані) Registry API - Ukraine's unified state education database. This client provides comprehensive access to detailed information about educational institutions across Ukraine, from primary schools to universities.

License

libedbo is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE, LICENSE-MIT for details.


lib.rs:

libedbo

libedbo is a Rust client library for accessing the EDBO (Реєстр суб'єктів освітньої діяльності) Registry API, which provides information about educational institutions in Ukraine.

Features

  • Search universities and retrieve detailed information
  • Search secondary education institutions (schools)
  • Support for both async and blocking operations
  • Type-safe API with proper error handling
  • Coverage for all regions of Ukraine

Quick Start

use libedbo::{SearchParams, Region, UniversityCategory};

// Create search parameters for universities in Kyiv
let params = SearchParams::new()
    .with_region(Region::KyivCity)
    .with_university_category(UniversityCategory::HigherEducationInstitutions);

// Search universities (blocking)
let universities = libedbo::search_universities(params)?;

// Print university names
for uni in universities {
    println!("{}: {}", uni.university_id, uni.university_name);
}

Async Usage

use libedbo::{SearchParams, Region, UniversityCategory};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let params = SearchParams::new()
        .with_region(Region::KyivCity)
        .with_university_category(UniversityCategory::HigherEducationInstitutions);

    let universities = libedbo::search_universities_async(params).await?;
    Ok(())
}

Dependencies

~7–18MB
~233K SLoC