Skip to main content

COHPY

An unofficial API Wrapper for Company Of Heroes API

Lint and Tests Stars Badge

Tutorial

How to install

pip install cohpy

Visit Pypi for more info!

Development

Install uv, then run:

uv sync --locked
uv run python -m flake8 --config=.flake8
uv run python -m unittest
uv build

Current API Coverage

  • List all leaderboards ✔️
  • Show players from a leaderboard ️✔️
  • Show match historial from a player ✔️
  • Show personal player stats ✔️

Functionalities

api_client: : Interface between wrapper and Company of Heroes API

import cohpy

api_client = cohpy.get_api_client()

api_client.leaderboards(): : Get all leaderboards available from the COH API

  • Parameters:
    • remove_server_status (optional): Default=True Remove from the response the server status (redundant). You can show it setting this param to False
import cohpy

api_client = cohpy.get_api_client()

api_client.leaderboards()

api_client.leaderboards(): : Get all leaderboards available from the COH API

  • Parameters:
    • leaderboard_id (mandatory): Leaderboard identifier extracted from leaderboards() function. You can use raw ints like 2130329 or Code enum that wraps most used leaderboards
    • count (optional): Default=200 How many players will be showed in the response. From 1 to 200.
    • sort_type (optional): Default=ELO Set the order of the leaderboard based on wins or elo. You can use ints like 0 (ELO) or 1 (WINS). Also you can use SortType wrapper
    • start (optional): Default=1 Sets the position of the first player obtained from the request.
    • remove_server_status (optional): Default=True Remove from the response the server status (redundant). You can show it setting this param to False
import cohpy

api_client = cohpy.get_api_client()

api_client.leaderboard(leaderboard_id=cohpy.Codes.USF3v3, sort_type=cohpy.SortType.ELO)

api_client.match_history(): : Get all leaderboards available from the COH API

  • Parameters:
    • profile_params (mandatory): Player id. Can be steam profile id or relic id (Don't forget to set the mode). Can be a list of ints or strings. Steam queries must follow /steam/[0-9]+
    • mode (optional): Default=relic Set the query mode. Options are [relic, steam].
    • remove_server_status (optional): Default=True Remove from the response the server status (redundant). You can show it setting this param to False
import cohpy

api_client = cohpy.get_api_client()

api_client.match_history(profile_params=[1, 2])
api_client.match_history(profile_params=1)
api_client.match_history(profile_params='/steam/123456789', mode='steam')
api_client.match_history(profile_params=['/steam/123456789', '/steam/123456789'], mode='steam')

api_client.personal_stats(): : Get all leaderboards available from the COH API

  • Parameters:
    • profile_params (mandatory): Player id. Can be steam profile id, relic id or alias (Don't forget to set the mode). It can be a list of ints or strings. Steam queries must follow /steam/[0-9]+ pattern.
    • mode (optional): Default=relic Set the query mode. Options are [relic, steam, alias].
    • remove_server_status (optional): Default=True Remove from the response the server status (redundant). You can show it setting this param to False
import cohpy

api_client = cohpy.get_api_client()

api_client.personal_stats(profile_params=[1, 2])
api_client.personal_stats(profile_params=1)
api_client.personal_stats(profile_params='/steam/123456789', mode='steam')
api_client.personal_stats(profile_params=['/steam/123456789', '/steam/123456789'], mode='steam')
api_client.personal_stats(profile_params='yoursuperalias', mode='alias')
api_client.personal_stats(profile_params=['yoursuperalias', 'awesomealias'], mode='alias')

Examples

First of all, you'll need an APIClient instance to retrieve the api data:

import cohpy

api_client = cohpy.get_api_client()

Then you could use the API interface to retrieve the data you want:

import cohpy

all_leaderboards = api_client.leaderboards() # Returns all leaderboards info
american_3v3_leaderboard = api_client.leaderboard(leaderboard_id=cohpy.Codes.USF3v3) # Returns info from specific leaderboard

Note that leaderboard_id can be a int or a cohpy.Codes instance.

Metadata

Release files for cohpy 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cohpy 1.2.1
File Size Uploaded Provenance
cohpy-1.2.1.tar.gz 8.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for cohpy 1.2.1
File Interpreter ABI Platform
cohpy-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 20.1 kB

Release files / cohpy-1.2.1.tar.gz

Download URL cohpy-1.2.1.tar.gz
Size 8.1 kB
Tags Source
SHA-256 checksum
How to use checksums
71bf0da51e1645b86df301108b62c5e40d0ced86d43b1ca57bc64939db47e870
BLAKE2b-256 checksum
How to use checksums
2581a16d799f0ea37f88df6920dd769d4b0c915576ad012091daa1f7df8d275c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / cohpy-1.2.1-py3-none-any.whl

Download URL cohpy-1.2.1-py3-none-any.whl
Size 12.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f6b4a689fbc988f875738336eaf4c65dd2da0148693f223c45258aac40fcb917
BLAKE2b-256 checksum
How to use checksums
4f3e28c7bf0ad12a0720a3f7b7f4ffdad5679873ca2deb059f701947e48014b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.4 {"installer":{"name":"uv","version":"0.13.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for cohpy 1.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page