A python interface for <OPENDOTA/> API
The OpenDota
class provided with the package serves as a python
interface for the original OpenDota API in the form of a thin wrapper.
The class assumes some familiarity with the OpenDota API.
All method calls return serializable python objects, as return by the API,
in most cases a dict or a list. Response data is stored as JSON in a local
directory (Default: ~/dota2
), to prevent the load on OpenDota API.
- Free software: MIT license
- Documentation: https://pyopendota.readthedocs.io.
- Transparent wrapper for majority of the API calls
- Ability to authenticate using API key
- In-built and cusomizable limit to protect against frequent API calls
- Local file-based storage for frequent requests
- Basic CLI using
fire
import opendota
# Initialize the API-connection object
client = opendota.OpenDota()
client.get_matches('match-id')
client.get_player('player-id')
client.get_team('team-id')
players = client.search_player('Dendi')
teams = client.search_team('Alliance')
heroes = client.search_hero('Crystal')
leagues = client.search_league('International')
OpenDota API supports arbitrary PostgreSQL query.
Check Database Schema:
client.get_schema() # Lists all tables
client.get_schema('matches') # Lists schema for a specific table
Arbitrary PostgreSQL Query:
client.explorer("select * from matches where limit 1")
Information about OpenDota class initialization:
opendota --help
Information about OpenDota methods:
opendota - --help
Run methods
opendota search_team Virtus
opendota get_match 4080778303
Powered by :code:`fire`
The OpenDota API provides Dota 2 related data including advanced match data extracted from match replays.
OpenDota API Documentation: https://docs.opendota.com/
- This package uses data provided by The OpenDota API.