# GW2 API library [![Build Status](https://img.shields.io/github/actions/workflow/status/greaka/gw2lib/integration_test.yml?branch=master)](https://github.com/greaka/gw2lib/actions/workflows/integration_test.yml) [![Latest Version](https://img.shields.io/crates/v/gw2lib.svg?label=gw2lib)](https://crates.io/crates/gw2lib) [![Latest Version](https://img.shields.io/crates/v/gw2lib-model.svg?label=model)](https://crates.io/crates/gw2lib-model) [![](https://img.shields.io/static/v1?label=Get%20Help&message=on%20Discord&style=flat&color=5865f2&labelColor=555&logo=discord&logoColor=fff)](https://discord.gg/bF7Mg38yrx)
**gw2lib is an API wrapper for the game Guild Wars 2**
---
Aside from bugs or feature requests that might arise, this crate is considered done!
Mapping out structs is the only work left to do and will be crowd-sourced.
A lack of activity does not mean that it's unmaintained!
New releases of the model will be made whenever a new endpoint is added or an endpoint needs fixing.
You can update the model in your project by simply running `cargo update`.
## gw2lib in action
### blocking
Cargo.toml
```toml
[dependencies.gw2lib]
version = "1.0.0"
features = ["blocking"]
```
```rust
use gw2lib::{Client, Requester};
use gw2lib::model::{items::Item, misc::build::Build};
fn main() {
let client = Client::default();
let _all_items: Vec- = client.all().unwrap();
let _current_build: Build = client.get().unwrap();
}
```
### async
Cargo.toml
```toml
[dependencies.gw2lib]
version = "1.0.0"
```
```rust
use gw2lib::{Client, Requester};
use gw2lib::model::{items::Item, misc::build::Build};
#[tokio::main]
async fn main() {
let client = Client::default();
let _all_items: Vec- = client.all().await.unwrap();
let _current_build: Build = client.get().await.unwrap();
}
```
## Mapped endpoints
You can find the list of already mapped endpoints [here](https://github.com/greaka/gw2lib/blob/master/model/README.md)
Please contribute any endpoints that you define additionally!
## Contributing
Missing endpoints are easy to add! [Here](https://github.com/greaka/gw2lib/commit/bcb0bd3e99f135f54fb01d088714ce8471a56d86) is an example
#### License
Licensed under either of Apache License, Version
2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in gw2lib by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.