Skip to main content

A python interface for <OPENDOTA/> API

Project description

https://img.shields.io/pypi/v/pyopendota?color=success Documentation Status Python Version Support GitHub Issues GitHub Followers Twitter Followers

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.

Features

  • 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

Usage

Use <OPENDOTA/> API in a project

import opendota

# Initialize the API-connection object
client = opendota.OpenDota()

Get Common Entities

client.get_matches('match-id')
client.get_player('player-id')
client.get_team('team-id')

Search Functionality

players = client.search_player('Dendi')
teams = client.search_team('Alliance')
heroes = client.search_hero('Crystal')
leagues = client.search_league('International')

PostgreSQL Query

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")

Use <OPENDOTA/> API Command Line Interface

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`

About OpenDota API

The OpenDota API provides Dota 2 related data including advanced match data extracted from match replays.

OpenDota API Documentation: https://docs.opendota.com/

Credits

History

0.2.0 (2021-10-04)

  • Improved Documentation

  • League specific functions

  • Basic CLI using python-fire

  • Fantasy score calculation

  • Bugfixes

0.1.0 (2021-07-20)

  • First release on PyPI.

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

pyopendota-0.2.9.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

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

pyopendota-0.2.9-py2.py3-none-any.whl (10.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyopendota-0.2.9.tar.gz.

File metadata

  • Download URL: pyopendota-0.2.9.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.5.0.1 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.16

File hashes

Hashes for pyopendota-0.2.9.tar.gz
Algorithm Hash digest
SHA256 c1e8866af03a40f75c2080db8c32d5f6fa2d3d415011ba8e588f68ca73db0e24
MD5 9c62a99f9de27329ae8f5b6cb78a5bbf
BLAKE2b-256 6b42a40f8ef40b57fba82067ede14e9355358c690fb8559d0500925adcef2638

See more details on using hashes here.

File details

Details for the file pyopendota-0.2.9-py2.py3-none-any.whl.

File metadata

  • Download URL: pyopendota-0.2.9-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.11.3 pkginfo/1.5.0.1 requests/2.28.1 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.16

File hashes

Hashes for pyopendota-0.2.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2f5a3caf053aead44befc5fa961048d159bac25f02f7f6d3bdb2b5cc25e27012
MD5 6c582f65b3e514e3eed226c7de215a20
BLAKE2b-256 075535e8e685c1873cbeb594be1d12b92f1c27ee30348f0045dfe9c8c6dc1bac

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