Osu statistics right on your desktop, made with Qt5
A lightweight desktop application to show you information about plays, scores and beatmaps. Basically a simple osu-web client.
Currently, it is a passion project for me and I'm creating this to learn the pyQt framework and more stuff about Python. I plan on adding features to it with time and frequent releases as well until its fully complete or there are changes in osu API V2.
In its alpha stage, this is just the barebones with basic features. With the subsequent beta and stable releases, the featureset would only increase.
As of the current release, you can set a default user for osu stat and view your recent activity and scores (including failed scores) as well as their information such as Performance Points, Time, Beatmap Title, Diff and Ranked Score.
Latest Release:
Windows 8.1+ (x64) | Linux (x64) |
---|
Binaries are available for both Windows and Linux (Needs more Testing). It's quite straightforward for windows as you simply have to run a .exe
file. For Linux you may need to set the File as executable and then run it.
$ sudo chmod +x ./OsuStatQt-0.0.5-linux-x64-standalone
./OsuStatQt-0.0.5-linux-x64-standalone
Note: Osu!StatQt generates a config file. Do not edit it manually by opening it in any text editor nor share it to anyone else!
OsuStat uses Circleguard's ossapiV2 which is a python wrapper for Osu-api V2. This requires you to create a OAuth Application in your osu account settings
Note: You can use an existing OAth Application's credentials if you have created one before.
You would have to login in case you are not already logged in then go to the account setting page. There you would need to scroll all the way down to the OAuth Section and click on new OAuth Application.
In the popup, set the application name as anything you want and for the redirect url, set it as https://127.0.0.1:727
.
You may need to change 727
to something else if you already have some process using that port.
Entering the details will give you Client ID and Client Secret. Copy them to the OsuStatQt settings page (Make sure there are no spaces in either of the fields) and click Verify
.
If you entered the credentials properly, then you will get a message telling you so.
Once this is done, you can move on to setting up Default user and start using OsuStatQt.
In order to set a default user (which generally is you but it can be any user on Bancho), open settings and enter the default username in the user field. You have to enter the correct spelling else it may set it as somebody else or may not find the user at all!
I use pyinstaller
for building and managing packages for OsuStatQt. It is highly recommended to use a virtual environment when building with pyinstaller.
Circleguard's ossapi causes issues with pyinstaller as for some reason its not able to read the dumped token files. Instead I suggest using https://github.com/sortedcord/ossapi which I have modified to not dump the tokens at all.
# Assuming this is in a venv
pip install -e git+https://github.com/sortedcord/ossapi.git@46a3c0a684aa792f2f3f55001539cb4faf3fd8ba#egg=ossapi
Other dependencies which you will need include the following.
pip install -r requirements.txt
And Clone this repository
git clone https://github.com/sortedcord/osu-statqt.git
cd osu-statqt
Build files are included with in the source code. Use onefile.spec to build a single file binary and use build_package.spec. Usage is like so:
$ pyinstaller ./build_package.spec #Or change this to onefile according to your need.
Change console=False
to console=True
in .spec
files.
I don't own a Mac nor am I interested in setting up a hackintosh, so practically there is no way for me to test the mac os build, however the process of building binaries is more or less the same, the only catch is to build a standalone binary.
$ pyinstaller onefile.spec
Would like to thank these creators for their projects and contributions.