Osu statistics right on your desktop, made with pyqt

Overview
Comments
  • Clean Up and Optimize `settings.py`

    Clean Up and Optimize `settings.py`

    As of now, settings.py is very cluttered and its extremely hard to understand what all is going on. This will need a lot of work to do.

    Depends on

    • #18

    and will ease addressing the following issues:

    • #20
    • #19
    • #22
    opened by sortedcord 1
  • Overhaul Recent Tabs

    Overhaul Recent Tabs

    Overhaul recent plays pane

    • [x] Add Recent Score Cards
    • [x] Show beatmap info (title, diff, time played)
    • [x] Show score info (time played, mods used, (un)weighted pp, accuracy, rank score)
    • [ ] Create collapsible pp vs accuracy box
    • [x] Create Show More Button
    • [x] #19
    • [x] #20
    area: styling 
    opened by sortedcord 1
  • App crashing when the config file is blank.

    App crashing when the config file is blank.

    As it is, a blank config file cannot be created by the program itself, so it is most probably a user error. As I said in the readme file, it is not ideal to manually change the config file for any purpose other than debugging.

    bug 
    opened by sortedcord 1
  • Python Pickle for config

    Python Pickle for config

    This is going to cut down on a lot of code present in config.py and make things much more easier to work with as then I wouldn't have to deal with missing values, manually serializing strings to dictionaries, etc.

    This will also avoid any issues related to parsing config file like these:

    • #6
    New Feature 
    opened by sortedcord 1
  • Dump Config Straight After Saving Settings

    Dump Config Straight After Saving Settings

    It would be a better idea to pickle the settings object after the user clicks the save settings button in the SettingsWindow instead of closing the application.

    Firstly, its better design since no changes in the config take place after the user has closed the settings window and second, that if the application crashes due to runtime errors, the config file isn't saved.

    area: config Enhancement 
    opened by sortedcord 0
  • Create User Tab

    Create User Tab

    Make a Tab in MainWindow to display statistics of default user (Also display for user searched when #13 is worked on).

    Here is what the current layout looks like:

    image

    Todo

    • [x] Create UI file and finish layout
    • [x] Format Code in py files.
    • [ ] Separate functions
    • [ ] Setup Connections

    New Features

    Features that you don't see on osu.ppy.sh-

    • [ ] Total PP (Unweighted)
    • [ ] Accuracy Pie Chart
    • [ ] Most Played Mods
    • [ ] First Place Ranks
    New Feature Area: UI 
    opened by sortedcord 0
Releases(v0.0.5-alpha)
  • v0.0.5-alpha(Jan 9, 2022)

    The Promised Linux Binaries are finally here. As mentioned previously, this is a bug fix and a utility and performance update to release 0.0.4-alpha.

    Added / Changes

    • e0b56971226e60f5fd6718cc063e4d6361ad0a58 Cleaned Up and Optimized settings.py. The code is wayy more easy to read now. #21
    • 89fd1f0c5f76ce8c37303b2fa066721687a678c1 Created a Top Bar with a Save Button to save all field changes . #23
    • 027f71b3fefd4c9f0771fe08e4b7f3708ca42f07 Added Reset Button to delete existing config and reset all settings.
    • b45c65e4093642c79246faead6615096811ab861 Using Scrollbars in settings. #17
    • 9174ae1a363aca112cb3d3c1cebaa11983d0ad84 Implemented Logging #10
    • 0a6986ad7ca79b80d17acc093cbd1a6c1c9b621a Added feature to Toggle Failed Scores #20
    • e59d57b3885b9fa6a2774692f4dfa02fcd52ead3 Added setting to change the number of items loading in panels on first load. #19

    Bug Fixes

    • 9174ae1a363aca112cb3d3c1cebaa11983d0ad84 Fixed Tabs Popping Out on Refreshing #25
    • a2d4eafbd0b071ab8593c957567787baf8afd26d Fixed Icons and images not showing up in Linux and MacOS #27
    • 4f19abf993afc0a39839bf515a08b7ab1ea8c413 Included custom fonts in the assets #26
    • 9f505cbbae8854750af17969dd96830bfd965ed6 Refresh Button now reloads panels only once. #28
    • 804df4893a22c9b5958e82476d727d5a42f93a9f OsuStatQt now loads assets when executed from any location.

    Running Linux Binaries

    $ sudo chmod +x ./OsuStatQt-0.0.5-linux-x64-standalone
    
    ./OsuStatQt-0.0.5-linux-x64-standalone
    
    Source code(tar.gz)
    Source code(zip)
    OsuStatQt-0.0.5-linux-x64-standalone.1(68.18 MB)
    OsuStatQt-0.0.5-windows-x64-standalone.exe(36.66 MB)
    OsuStatQt-0.0.5-windows-x64.zip(35.72 MB)
  • v0.0.4-alpha(Jan 2, 2022)

    This release is focused more on styling and features instead of utility and performance. All of that will be taken care of in the next release which may also be a breaking update.

    Added / Changes

    • Overhauled recent activity and scores pane.
    • Stylized Scrollbars
    • Panes now show rankscore images
    • Other statistics such as beatmap title, diff, relative time is also shown
    • The panes now have a "Show more" button for pagination.

    Bug Fixes

    • Fixed AttributeError: attribute UserSupportEvent
    Source code(tar.gz)
    Source code(zip)
    OsuStatQt-0.0.4-standalone-win.exe(36.53 MB)
    OsuStatQt-0.0.4-win.zip(35.58 MB)
  • v0.0.3-alpha(Dec 30, 2021)

    This is relatively a minor update with a few fixes related to both utility and features.

    Added / Changes

    • Added a cooldown to refresh button to prevent spamming
    • Switched to pickling of config instead of dumping plain text. Old configs are no longer compatible
    • Get Credentials Button now opens the account settings.
    • Achievement Names show up in Recent Activities

    Bug Fixes

    • App crashing when the config file is blank or with missing values
    Source code(tar.gz)
    Source code(zip)
    OsuStatQt-0.0.3-standalone-win.exe(35.86 MB)
    OsuStatQt-0.0.3-win.zip(34.92 MB)
  • v0.0.2-alpha(Dec 28, 2021)

    This time, this actually works 😅. This release comes along with a lot of bug fixes which I didn't address in the previous release which refused to work at all.

    This time I have also provided with a single standalone file as well for window. Linux Binaries will be available in the next alpha release. Mac OS will not be getting a binary since I do not have a mac OS device which pyinstaller requires. (Though if you do have one, you can always compile them and send them to me :)

    Added / Changes

    • Refresh Button can now be enabled from the settings automatically
    • Recent activity and scores work now!

    Bug Fixes

    • Could not set default user from settings UI
    • Application crash when credentials were correct
    • Default User Exception
    • 2 Recent Scores Panel Showing up on refresh
    • User Data Actually Shows Up now!
    Source code(tar.gz)
    Source code(zip)
    OsuStatQt-0.0.2-standalone-win.exe(35.87 MB)
    OsuStatQt-0.0.2-win.zip(34.91 MB)
  • v0.0.1-alpha(Dec 27, 2021)

    Currently, binaries are available for only Windows Users (Sadly), however, this application is completely cross-compatible and supports Linux, and MacOs.

    For Windows users, its as simple as running the .exe file provided in the zip file.

    In order to run this application on other platforms, extract the source code, install the dependencies (in requirements.txt) and run the OsuStatQt.py script.

    Current Features

    • Created my own config wrapper
    • API Credentials Authorization
    • Shows Recent Activity and Recent Scores Beatmap Titles for User set as default.
    Source code(tar.gz)
    Source code(zip)
    OsuStatQt-0.0.1-portable-win.zip(34.88 MB)
Owner
Aditya Gupta
🎓 Student🎨 Front end Dev & Part time weeb ϞϞ(๑⚈ ․̫ ⚈๑)∩
Aditya Gupta
Magenta: Music and Art Generation with Machine Intelligence

Magenta is a research project exploring the role of machine learning in the process of creating art and music. Primarily this involves developing new

Magenta 18.1k Jan 05, 2023
Sample microservices application demo

Development mode docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d or export COMPOSE_FILE='docker-compose.yml:docker-compose.dev.ym

Konstantinos Bairaktaris 1 Nov 14, 2021
Cash in on Expressed Barcode Tags (EBTs) from NGS Sequencing Data with Python

Cash in on Expressed Barcode Tags (EBTs) from NGS Sequencing Data with Python Cashier is a tool developed by Russell Durrett for the analysis and extr

3 Sep 11, 2022
Traductor de webs desde consola usando el servicio de Google Traductor.

proxiGG Traductor de webs desde consola usando el servicio de Google Traductor. Se adjunta el código fuente para Python3 y un binario compilado en C p

@as_informatico 2 Oct 20, 2021
My qtile config with a fresh-looking bar and pywal support

QtileConfig My qtile config with a fresh-looking bar and pywal support. Note: This is my first rice and first github repo. Please excuse my poor codin

Eden 4 Nov 10, 2021
An app to automatically take attendance by scanning students' bar coded ID card as they enter the classroom.

Auto Classroom Attendance This application may be run on a PC to automatically scan students' ID card using a generic bar code scanner and output the

1 Nov 10, 2021
The Great Autoencoder Bake Off

The Great Autoencoder Bake Off The companion repository to a post on my blog. It contains all you need to reproduce the results. Features Currently fe

Tilman Krokotsch 61 Jan 06, 2023
API development made easy: a smart Python 3 API framework

appkernel - API development made easy What is Appkernel? A super-easy to use API framework, enabling API creation from zero to production within minut

156 Sep 28, 2022
ToDo - A simple bot to keep track of things you need to do

ToDo A simple bot to keep track of things you need to do. Installation You will

3 Sep 18, 2022
ViberExport - Export messages from Viber messenger using viber.db file

📲 ViberExport Export messages from Viber messenger using viber.db file ⚡ Usage:

7 Nov 23, 2022
Emulate and Dissect MSF and *other* attacks

Need help in analyzing Windows shellcode or attack coming from Metasploit Framework or Cobalt Strike (or may be also other malicious or obfuscated code)? Do you need to automate tasks with simple scr

123 Dec 16, 2022
This synchronizes my appearances with my calendar

Josh's Schedule Synchronizer Here's the "problem:" I use a Google Sheets spreadsheet to maintain all my public appearances.

Developer Advocacy 2 Oct 18, 2021
Meower a social media platform written in Scratch 3.0 and Python

Meower Meower is a social media platform written in Scratch 3.0 and Python, ported to HTML for self-hosting. Try Beta 4.6 Changelog for 4.6 Start impl

Meower Media Co. 23 Dec 02, 2022
A Blender addon to enable reloading linked libraries from UI.

library_reload_linked_libraries A Blender addon to enable reloading linked libraries from UI.

3 Nov 27, 2022
Project repository of Apache Airflow, deployed on Docker in Amazon EC2 via GitLab.

Airflow on Docker in EC2 + GitLab's CI/CD Personal project for simple data pipeline using Airflow. Airflow will be installed inside Docker container,

Ammar Chalifah 13 Nov 29, 2022
This is an example manipulation package of for a robot manipulator based on Drake with ROS2.

This is an example manipulation package of for a robot manipulator based on Drake with ROS2.

Sotaro Katayama 1 Oct 21, 2021
CalHacks 8 Repo: Megha Jain, Gaurav Bhatnagar, Howard Meng, Vibha Tantry

CalHacks8 CalHacks 8 Repo: Megha Jain, Gaurav Bhatnagar, Howard Meng, Vibha Tantry Setup FE Install React Native via Expo, run App.js. Backend Create

0 Aug 20, 2022
A Python wrapper API for operating and working with the Neo4j Graph Data Science (GDS) library

gdsclient NOTE: This is a work in progress and many GDS features are known to be missing or not working properly. This repo hosts the sources for gdsc

Neo4j 100 Dec 20, 2022
Randomly distribute members by groups making sure that every sector is represented

Generate Groups Randomly distribute members by groups making sure that every sector is represented The Scenario Imagine that you have a large group of

Jorge Gomes 1 Oct 22, 2021
Tool to generate wrappers for Linux libraries allowing for dlopen()ing them without writing any boilerplate

Dynload wrapper This program will generate a wrapper to make it easy to dlopen() shared objects on Linux without writing a ton of boilerplate code. Th

Hein-Pieter van Braam 25 Oct 24, 2022