ezomyte

crates.io Build Status License

Client library for Path of Exile API

Documentation

Warning: The crate is in early stages and the interface (esp. the data model for items) is likely to evolve over time.


Installation

Add ezomyte to your project's [dependencies] in Cargo.toml:

toml [dependencies] ezomyte = "0.0.2"

Usage

ezomyte::Client provides access to various part of Path of Exile API: public stashes (Client::stashes), current & past leagues (Client::leagues), and so on.

All endpoints return asynchronous Streams of structures that has been deserialized from PoE API. Here's a simple example of accessing public stash tabs and looking for items with the unique rarity:

```rust extern crate ezomyte; extern crate futures; extern crate tokio_core;

use ezomyte::Rarity; use futures::Stream; use tokio_core::reactor::Core;

fn main() { let mut core = Core::new().unwrap(); let client = ezomyte::Client::new("ezomyte example", &core.handle()); core.run( client.stashes().all().foreach(|stash| { let uniques = stash.items.iter().filter(|i| i.rarity == Rarity::Unique); for item in uniques { // Prints something like "Belly of the Beast -- Full Wyrmscale". println!("{} -- {}", item.name.asref().map(|n| n.asstr()).unwrapor(""), item.base); } Ok(()) }) ).unwrap(); }

```

See the examples directory for more examples.


Development

Besides the current version of Rust compiler and Cargo, you would want:

Running just will execute all the tests and compile examples.