prelate-rs is an idiomatic, asynchronous Rust wrapper around the aoe4world API. Very much a WIP at this stage.

Overview

Repository Dual Apache-2.0 and MIT licensed Checks and lints Unit tests

prelate-rs is an idiomatic, asynchronous Rust wrapper around the aoe4world API. Very much a WIP at this stage.


Project Status

We currently support the following endpoints (those that are ticked):

  • GET /api/v0/players/:profile_id
  • GET /api/v0/players/:profile_id/games
  • GET /api/v0/players/:profile_id/games/last
  • GET /api/v0/players/search
  • GET /api/v0/players/autocomplete
  • GET https://aoe4world.com/api/v0/leaderboards/:leaderboard
  • GET https://aoe4world.com/api/v0/games
  • GET https://aoe4world.com/api/v0/stats/qm_1v1/civilizations
  • GET https://aoe4world.com/api/v0/stats/qm_2v2/civilizations
  • GET https://aoe4world.com/api/v0/stats/qm_3v3/civilizations
  • GET https://aoe4world.com/api/v0/stats/qm_4v4/civilizations
You might also like...
An asynchronous Hardware Abstraction Layer (HAL) for embedded systems

embedded-hal-async An asynchronous Hardware Abstraction Layer (HAL) for embedded systems. This crate contains asynchronous versions of the embedded-ha

An asynchronous IO utilities crate powered by tokio.

An asynchronous IO utilities crate powered by tokio.

dark-std an Implementation of asynchronous containers build on tokio

dark-std dark-std is an Implementation of asynchronous containers build on tokio. It uses a read-write separation design borrowed from Golang SyncHash

Rate limit guard - Lazy rate limit semaphore implementation to control your asynchronous code frequency execution

Lazy rate limit semaphore (a.k.a fixed window algorithm without queueing) implementation to control your asynchronous code frequency execution

Various extention traits for providing asynchronous higher-order functions

async-hofs Various extention traits for providing asynchronous higher-order functions. // This won't make any name conflicts since all imports inside

Asynchronous runtime abstractions for implicit function decoloring.
Asynchronous runtime abstractions for implicit function decoloring.

decolor Asynchronous runtime abstractions for implicit function decoloring. Decolor is in beta Install | User Docs | Crate Docs | Reference | Contribu

Fast, compact and all-around subdomain enumeration tool written in Rust
Fast, compact and all-around subdomain enumeration tool written in Rust

Fast, compact and all-around subdomain enumeration tool written in Rust, which uses dns bruteforce, internet search and recursive http content search.

Utilities and tools based around Amazon S3 to provide convenience APIs in a CLI

s3-utils Utilities and tools based around Amazon S3 to provide convenience APIs in a CLI. This tool contains a small set of command line utilities for

The Dutch secret service (AIVD) has a yearly puzzle challenge around Christmas
The Dutch secret service (AIVD) has a yearly puzzle challenge around Christmas

AIVD kerstpuzzel 2021 18 solver The Dutch secret service (AIVD) has a yearly puzzle challenge around Christmas, called the 'AIVD kerstpuzzel'. This re

Comments
  • api/games: add wrapper for player on a team

    api/games: add wrapper for player on a team

    The API returns a wrapped struct with a single player field for team members. Update the schema here to reflect this.

    Signed-off-by: William Findlay [email protected]

    opened by willfindlay 0
  • api/lib: improve documentation to add examples

    api/lib: improve documentation to add examples

    It would be nice to add some usage examples to the rustdoc for this project. (e.g. on the functions exposed in lib.rs as well as the major types in the schema.)

    area/documentation good first issue 
    opened by willfindlay 0
  • api: doc validate the correctness of current schema

    api: doc validate the correctness of current schema

    Our current schema (located in src/types.rs) is mostly derived from reading the aoe4world source and experimenting with the API to figure out what fields are supported. This is obviously error-prone, but there is currently no better way due to a lack of official documentation.

    It would be nice to validate the correctness of the current schema, ideally by adding more tests that cover additional examples.

    good first issue area/testing area/api area/schema 
    opened by willfindlay 0
Releases(v0.1.4)
  • v0.1.4(Jan 13, 2023)

    What's Changed

    • games: add NoResult to results enum by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/26

    Full Changelog: https://github.com/willfindlay/prelate-rs/compare/v0.1.3...v0.1.4

    Source code(tar.gz)
    Source code(zip)
  • v0.1.3(Dec 29, 2022)

    What's Changed

    • chore: add logo by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/25

    Full Changelog: https://github.com/willfindlay/prelate-rs/compare/v0.1.2...v0.1.3

    Source code(tar.gz)
    Source code(zip)
  • v0.1.2(Dec 28, 2022)

    What's Changed

    • api: implement pagination and games endpoint by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/1
    • ci: add test and lint jobs by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/2
    • minor fixes by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/3
    • api: implement player search by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/4
    • tests: prop test serde implementations by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/5
    • api/games: add wrapper for player on a team by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/6
    • api/games: add unknown game result by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/7
    • tests: fix flakes due to NaN float values by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/8
    • ci: drop actions-rs by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/9
    • api: implement convience wrappers for profile IDs by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/10
    • improve types in games by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/11
    • improve tests by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/12
    • profile: last_game_at is not used, remove it by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/13
    • chore: add issue templates by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/14
    • chore: enable blank issues by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/15
    • chore: fix markdown issue templates by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/16
    • fix feature template emoji by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/17
    • api: minor api fixes, remove duplication by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/18
    • chore: fix SPDX identifier by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/19
    • WIP: add docs by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/23
    • release v0.1.2 by @willfindlay in https://github.com/willfindlay/prelate-rs/pull/24

    New Contributors

    • @willfindlay made their first contribution in https://github.com/willfindlay/prelate-rs/pull/1

    Full Changelog: https://github.com/willfindlay/prelate-rs/commits/v0.1.2

    Source code(tar.gz)
    Source code(zip)
Owner
William Findlay
Software Engineer at Isovalent. Member of the CISL @ CarletonU. Interested in: Computer Security, Operating Systems, eBPF
William Findlay
🚧 (Alpha stage software) Binary that supports remote filesystem and process operations. 🚧

distant Binary to connect with a remote machine to edit files and run programs. ?? (Alpha stage software) This program is in rapid development and may

Chip Senkbeil 296 Dec 28, 2022
Thin wrapper around [`tokio::process`] to make it streamable

This library provide ProcessExt to create your own custom process

null 4 Jun 25, 2022
A Wasm component optimizer (mostly a wrapper around wasm-opt)

component-opt An optimizer for Wasm Components Current Status This project currently only offers one optimization and does not allow it to be configur

Robin Brown 6 Mar 4, 2024
hado-rshado — A little macro for writing haskell-like do expressions without too much ceremony

hado Monadic haskell-like expressions brought to rust via the hado! macro What? A little macro for writing haskell-like do expressions without too muc

Lucas David Traverso 44 Jul 31, 2022
🚧 WIP: API client crate for Bambu Lab printers

Bambulab API ?? WORK IN PROGRESS ?? This crate is still in development and not ready for production use. Breaking changes may occur at any time. bambu

Mark Hähnel 6 Dec 11, 2023
Rust wrapper for the Google Places API. Access their hundreds of millions of places, reviews, and ratings.

Google Places API Working Examples cargo run --example nearby_search cargo run --example place_details cargo run --example find_place cargo run --exam

Jared Ucherek 4 Jun 12, 2023
Simple interoperability between C++ coroutines and asynchronous Rust

cxx-async Overview cxx-async is a Rust crate that extends the cxx library to provide seamless interoperability between asynchronous Rust code using as

Patrick Walton 180 Dec 16, 2022
A simple, efficient Rust library for handling asynchronous job processing and task queuing.

job_queue Setup cargo add job_queue Usage Create a job use job_queue::{Error, Job, typetag, async_trait, serde}; #[derive(Debug, serde::Deserialize,

Georges KABBOUCHI 3 Nov 30, 2023
A very simple Among Us mod launcher

Sussy Launcher ඞ A very simple mod launcher/loader for the game Among Us (Also referred to as Amogus ඞ). This Project is written with the Rust program

null 4 Aug 17, 2022
Showcase for pathological compile times when using knuffel / chumsky / VERY LARGE types

netherquote Showcase for pathological compile times when using knuffel / chumsky / VERY LARGE types. How to reproduce The rust toolchain version is pi

Amos Wenger 7 Jan 1, 2023