entrez-rs 0.1.4

Rust wrapper for the Entrez API
Documentation
# entrez-rs

> A Rust wrapper for the Entrez API 

release: [![Crates.io][ci]][cl] 

[ci]: https://img.shields.io/crates/v/entrez-rs.svg
[cl]: https://crates.io/crates/entrez-rs/

master: ![Build Status](https://travis-ci.org/Zenleaf/entrez-rs.svg?branch=master)

This library helps you access the Entrez API using idiomatic Rust.
It also provides tools to parse the XML results from Entrez.

## Installation

Add the following to your Cargo.toml:
```toml
   [dependencies]
   entrez-rs = "0.1.4"
```

## Usage
```rust
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.