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
Using PyPI
You can download this project from PyPI using pip (pip3).
pip install pubgapi-ku
Install directly from the source code
You can also install this project directly from the source code. In this case, you need to install setuptools.
The instruction assumes that you already installed the required tools.
1. Install after build
python -m build
pip install ./dist/pubgapi_ku-0.17.5-py3-none-any.whl
2. Install without build
pip install . # Normal mode
pip install -e . # Development mode
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.
The use of this function is subject to the request rate limitation of your PUGB Developer Portal account.
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.
The use of this function is subject to the request rate limitation of your PUGB Developer Portal account.
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.
The use of this function is subject to the request rate limitation of your PUGB Developer Portal account.
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.
The use of this function is subject to the request rate limitation of your PUGB Developer Portal account.
Arguments
match_id:str The target match's id
get_player_data (self, **kargs) -> pd.DataFrame
Get a dataframe containing list of players and matches they played.
The use of this function is subject to the request rate limitation of your PUGB Developer Portal account.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pubgapi_ku-0.17.5.tar.gz.
File metadata
- Download URL: pubgapi_ku-0.17.5.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
896e85bdf2dfdd0f34af5aae4af1c2126e623da206a473a37960529b721b7fa8
|
|
| MD5 |
12529f68cf4642ee27759b27c26ead54
|
|
| BLAKE2b-256 |
f886e68b851d02caefe043b21d85a91d6f1589b0520418e68cfc7a192b5027c9
|
File details
Details for the file pubgapi_ku-0.17.5-py3-none-any.whl.
File metadata
- Download URL: pubgapi_ku-0.17.5-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b94b5ec7e4d3c2b97f7dd7b495c9e2724e83a9480f6508fb29e7b0010ca960e
|
|
| MD5 |
d72f3a03f55becfa3197805acabe310c
|
|
| BLAKE2b-256 |
cdd054eea46db8cb651edcc8dbc4a882aaeab779b66d496100d2ae037e5035a7
|