Skip to content

Streamlit-based dashboard that collect, aggr. and visualize player's stats from Call of Duty Warzone1. Also deploy our model (cf. /match2kd repo) to predict game difficulty ("lobby kd") from game features.

Notifications You must be signed in to change notification settings

matthieuvion/wzkd

Repository files navigation

WZKD logo

License: MIT made-with-python

The app is accessible on warzone1-kd.streamlit.app.
Update : As of Nov 2022, Activision is transitioning to Warzone 2 and discontinued Warzone 1 API.The app is still functional but now works exclusively "offline", from previously saved API responses, with a default --fixed, username/platform.

wzkd is a Streamlit app that collect, aggregate and visualize players' stats from Call Of Duty API (Warzone 1).
The app is live (no database), but optimized with (partially) asynchronous calls and custom caching methods.
It is the main facade which relies on two other personal projects to run :

  • wzlight (also on pypi) : a light, asynchronous python wrapper for 'Callof' API (Warzone 1).
  • match2kd : a XGBoost model aiming at predicting game difficulty ("lobby kd") from a match's features only, potentially saving thousands -- otherwise mandatory, API calls to players' profiles and matchs.

demo gif

What you might find useful

  • Use/showcase quite a lot of Streamlit features, ecosystem : layout options, tables vs. Ag Grid vs. Plotly, examples of customized visualizations (rendering.py)
    screenshot rendering

  • Modules and main app (Home.py) are annotated so (let's hope) you can figure what / how the whole thing is running

  • Overcome some "limitations" of Streamlit, especially when working on a live project + in an async environment : async code, caching & backoff policy using external libraries.
    screenshot rendering

  • No database (feature or not ^_^)), data is collected live from recent game history and a cache system prevents spamming COD API / being limited.

  • Data (COD API) processing and stats aggregations using Pandas. Data collection is build on top of our other project "wzlight", an async wrapper for COD API.

  • Implementation of an XGB model (predict avg "lobby kd") screenshot rendering

  • Warzone/CallofDuty behind-the-scene : some documentation/notebooks/bookmarks, weapons/game modes labels and parsers; also take a look on ressources listed on wzlight.

About

Streamlit-based dashboard that collect, aggr. and visualize player's stats from Call of Duty Warzone1. Also deploy our model (cf. /match2kd repo) to predict game difficulty ("lobby kd") from game features.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages