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.0

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.0
File Size Uploaded Provenance
cohpy-1.2.0.tar.gz 7.6 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 18.7 kB

Release files / cohpy-1.2.0.tar.gz

Download URL cohpy-1.2.0.tar.gz
Size 7.6 kB
Tags Source
SHA-256 checksum
How to use checksums
745988fec33cec3a727a808a43d087f25e2e9fc3873d3a09535e705e8bee96c4
BLAKE2b-256 checksum
How to use checksums
da142d22726a288bfa9f5dea93d7a490420fec060f4008ef692372a54a70d905
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.0-py3-none-any.whl

Download URL cohpy-1.2.0-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
304ff59f46d4cf902650e30fb72b360631a79a8ef5605743e818cfe42ca3a740
BLAKE2b-256 checksum
How to use checksums
b305be2f0da9054d77e4b322e886de36b69c14b497332e0625ab1206542b4a01
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.0

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