Crates.io | entrez-rs |
lib.rs | entrez-rs |
version | 0.1.4 |
source | src |
created_at | 2020-11-08 16:51:10.702498 |
updated_at | 2022-12-08 11:55:45.296859 |
description | Rust wrapper for the Entrez API |
homepage | |
repository | https://github.com/Zenleaf/entrez-rs.git |
max_upload_size | |
id | 309961 |
size | 37,973 |
A Rust wrapper for the Entrez API
master:
This library helps you access the Entrez API using idiomatic Rust. It also provides tools to parse the XML results from Entrez.
Add the following to your Cargo.toml:
[dependencies]
entrez-rs = "0.1.4"
use entrez_rs::eutils::{Eutils, ESearch, EFetch, DB};
use entrez_rs::parser::esearch::{ESearchResult};
use entrez_rs::parser::pubmed::{PubmedArticleSet};
use entrez_rs::errors::Error;
fn main() -> Result<(), Error> {
let xml = ESearch::new(
DB::Pubmed,
"eclampsia")
.run()?;
let parsed = ESearchResult::read(&xml);
println!("{:#?}", &parsed?
.id_list
.ids);
let pm_xml = EFetch::new(
DB::Pubmed,
vec!["33246200", "33243171"])
.run()?;
let pm_parsed = PubmedArticleSet::read(&pm_xml);
println!("{}", pm_parsed?.articles);
Ok(())
}
Will add a walkthrough and tutorial of the API as soon as it reaches beta level.
Inspired by Entrez Direct, Entrezpy and BioPython.