Pull competitive Counterstrike rankings from HLTV.org, ESL and Valve.
Project description
CS rankings - WIP
Pull competitive Counterstrike rankings from HLTV.org, ESL and Valve.
This is done using a Selenium-based webview for HLTV.org and ESL, and using a clone of the git repository for the Valve rankings.
Note that this is still a WORK IN PROGRESS.
Usage
The public methods can be reached by importing from cs_rankings
.
from cs_rankings import HLTVRankings, ESLRankings, ValveLiveRankings, ValveRankings, ValveInvitationRankings
client = ValveRankings() # or one of the others
ranking = client.get_ranking()
client.close()
The variable ranking
will be a list of dictionaries for each rank. The dictionaries contain key, value pairs for
position
, name
, points
and players
.
You can easily convert them to, say, a pandas DataFrame using pd.DataFrame(ranking)
.
Details on the rankings
There are five Rankings classes available, three that are based on Selenium-based webviews and two based on the git approach. Note that for the git-based rankings you will need to have git installed beforehand.
Selenium-based:
- HLTVRankings
- ValveLiveRankings (the Valve rankings as live calculated by HLTV)
- ESLRankings
Git-based:
- ValveRankings (the official ones on the Valve own git)
- ValveInvitationRankings (the official ones used for invitations)
Additional options
For the git-based rankings, the init call supports two extra arguments:
from cs_rankings import ValveRankings
client = ValveRankings(assume_git=True, keep_repository=True)
Both are False by default. If assume_git
is set to True, there will be no check on whether Git is installed. If
keep_repository
is set to True, the Valve git repository will not be removed afterwards, which allows for quick reuse.
For all rankings (git-based or selenium-based), the get_ranking()
method supports four extra arguments:
from cs_rankings import HLTVRankings
client = HLTVRankings()
ranking = client.get_ranking(region='asia', date='2024/september/2', min_points=10, max_rank=30)
By default, the most recent global ranking is pulled without filtering by points or maximum rank. Note that supported regions for the HLTV and Valve rankings are differently formatted.
Note: it is not possible to use the region
or date
inputs for the ESLRanking only. The ESLRanking does support the point
or ranking based filter.
Inspiration & credits
This project is based on the hltv-data project by
@dchoruzy. That project aims to pull rankings, matches and results from the HLTV website.
This project is a fork and rework of hltv-data
's main class.
Compared to hltv-data
, this project is more narrow since it focuses on rankings only, but it is wider since it can
pull more detailed rankings and from multiple sources.
Contributing
Contributions, issues and feature requests are welcome!
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
File details
Details for the file cs_rankings-0.1.1.tar.gz
.
File metadata
- Download URL: cs_rankings-0.1.1.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ae5f94434f999c215929174ed9af17ac5d40bb3df3c7be766a55c23d1a8e01b |
|
MD5 | 63b4fe5d06de2226c8e97666778bbb50 |
|
BLAKE2b-256 | 047ce0fccb38e8381e23dc2b96ea21f4803893789ebaaf719a33ccc153496987 |
File details
Details for the file cs_rankings-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: cs_rankings-0.1.1-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.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 026983f6f6dce2c065f47f5c2ee0c58e8aebbfd95f16e2e1e31dddb69559fc50 |
|
MD5 | 0573e71cc26435a347f3263aeb216a70 |
|
BLAKE2b-256 | 39993bb2499bc18358b5701f8b5ad16608a3d2eb5f07b867f8bb57ab9b09ec81 |