Skip to main content

PUBG API wrapper module

Project description

PUBG API Wrapper for Pandas

This package is under development; thus, some features may not work correctly or exist.

Installation

You can install this module using pip (pip3).

pip install pubgapi-ku

Modules

1. API Connector

The module contains Connector class which has functions to get raw JSON data using PUBG API provided by PUBG Developer Portal (https://developer.pubg.com/).
All data which can be collected using this module can also be collected by the DataWrapper class, which provides data as Pandas DataFrame type using Connector class internally.
Therefore, there is no need to necessarily use API Connector module and Connector class in most cases.

Usage

To use Connector class, you must generate a PUBG API key. Refer instruction of PUBG Developer Portal (https://documentation.pubg.com/en/getting-started.html).

from pubgapiku.api_connector import Connector

conn = Connector(<your_api_key>, 'steam')
sample_matches:dict = conn.sample_matches()

Functions

__init__ (self, api_key:str, platform:PLATFORM, timeout:int=1)

Initialize API request sender.

Arguments

api_key:str An API key of the PUBG Developer Portal
platform:PLATFORM Target platform to collect data (steam, kakao, console, psn, stadia, tournament, xbox)
timeout:int Timeout limitation (sec), default=1
 

sample_matches (self, date_filter:str='') -> dict

Return dictionary-type data containing a list of sample matches within 24 hours in UTC starting from the targeted date.
When the API request is unsuccessful (the response code was not 200), an assertion error will be occurred.

Arguments

date_filter:str Target date to collect sample match list (optional). Formatted as YYYYMMDD
 

players (self, **kargs) -> dict

Return a dictionary-type value containing players information.
When the API request was not successful (the response code was not 200), an assertion error will be occurred.

Keyword Arguments

ids:list[str] Filters by player ID
names:list[str] Filters by player names
 

match (self, match_id:str) -> dict

Return a dictionary-type value containing a match's information.
When the API request was not successful (the response code was not 200), an assertion error will be occurred.

Arguments

match_id:str The ID of the match for which you want to collect information
 

telemetry_addr (self, match_data:dict) -> str

Return the address of telemetry data of a match from the match's data.
When the address of telemetry data was not found, an assertion error will be occurred.

Arguments

match_data:dict A match data which is obtained from match function
 

get_telemetry (self, addr:str) -> list

Return a dictionary-type value containing a match's telemetry data of the target match.
When the request was not successful (the response code was not 200), an assertion error will be occurred.

Arguments

addr:str The address of the target telemetry data obtained from telemetry_addr function
 


2. Data Wrapper

The module contains DataWrapper class, which has functions to get PUBG data from PUBG API as Pandas DataFrame data type.
Since DataWrapper class works based on Collector class, a PUBG API key is also needed to use DataWrapper class.

Usage

import pandas as pd
from pubgapiku.data_wrapper import DataWrapper

wrapper = DataWrapper(<your_api_key>, 'steam')
sample_matches:list = wrapper.get_sample_matches()
players:pd.DataFrame = wrapper.get_players_in_match(sample_matches[0])

Functions

__init__ (self, api_key:str, platform:PLATFORM, timeout:int=1)

Initialize a data wrapper instance, which contains a Connector instance.

Arguments

api_key:str An API key of the PUBG Developer Portal
platform:PLATFORM Target platform to collect data (steam, kakao, console, psn, stadia, tournament, xbox)
timeout:int Timeout limitation (sec), default=1
 

get_sample_matches (self, date_filter:str='') -> list

Return a list of sample matches within 24 hours in UTC starting from the targeted date.

Arguments

date_filter:str Target date to collect sample match list (optional). Formatted as YYYYMMDD
 

get_players_in_match (self, match_id:str) -> pd.DataFrame

Get a dataframe containing player names and account ids of a match.

Arguments

match_id:str The target match's id
 

get_player_data (self, **kargs) -> pd.DataFrame

Get a dataframe containing matches and corresponding players to each match.

Keyword Arguments

ids:list[str] filters by player IDs
names:list[str] filters by player names
 

get_match_data (self, match_id:str) -> tuple[dict, pd.DataFrame, pd.DataFrame]

Get a tuple of dataframe containing a match's metadata, participants list, and telemetry data.

Arguments

match_id:str target match's id
 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pubgapi_ku-0.16.1.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pubgapi_ku-0.16.1-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file pubgapi_ku-0.16.1.tar.gz.

File metadata

  • Download URL: pubgapi_ku-0.16.1.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for pubgapi_ku-0.16.1.tar.gz
Algorithm Hash digest
SHA256 4c0ba9c78079daec592f2b0e4320c039c79c7a3a7574f327df45578eac2dee53
MD5 00f7417af1fdb48820000060b7518c9c
BLAKE2b-256 9e3466878673009976e94fbfd4f2469e77795262e7d07730f5ded74e6697b1b7

See more details on using hashes here.

File details

Details for the file pubgapi_ku-0.16.1-py3-none-any.whl.

File metadata

  • Download URL: pubgapi_ku-0.16.1-py3-none-any.whl
  • Upload date:
  • Size: 7.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for pubgapi_ku-0.16.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b08f4d05937bbe47ca8c018d60e8e20ecbbd059cb971c77e79695977498a93f8
MD5 32bc7cb6813b0e3cc28610b8c090c12a
BLAKE2b-256 8e7e251ec228b036787f5dc762ed30ecc7e09f1d3b440f1bd15c4b21d4931cc3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page