win-results script to calculate averages

Data can be retrieved from the new Windesheim graph API.

Look for this URL in the network tab when looking at grades in Mijn Windesheim:

https://graph-windesheim.azurewebsites.net/api/graphql

Specifically the one that shows all course results in the response. Paste the API response in results.json. This script will show a average.

My results as of 2026-04-11:

+-----------------+-------------------------------------------------------------------------------+------+---------------+--------------------+
| Code            | Course                                                                        | ECTS | Grade         | Counted in average |
+-----------------+-------------------------------------------------------------------------------+------+---------------+--------------------+
| ICT.PV-RECH.V16 | ICT recht                                                                     | 3    | No result yet | No                 |
| ICT.AIS.ITF.V23 | IT Forensics                                                                  | 4    | 8.9           | Yes                |
| ICT.PV-FMGT.V19 | Financial Management                                                          | 3    | 9.7           | Yes                |
| ICT.AIS.PRJ.V23 | Project Applied IT Security                                                   | 8    | 7             | Yes                |
| ICT.AIS.EH1.V22 | Ethical Hacking                                                               | 4    | 8.5           | Yes                |
| ICT.AIS.TSC.V22 | Technical Security Controls                                                   | 4    | 9             | Yes                |
| ICT.AIS.IS2.V23 | Information Security 2                                                        | 4    | 7.8           | Yes                |
| ICT.CAA.CMP.V22 | Cloud Management Platforms                                                    | 4    | 7.3           | Yes                |
| ICT.CAA.CTI.V22 | Cloud Technology Implementation                                               | 4    | 8.9           | Yes                |
| ICT.CAA.IAC.V24 | Infrastructure as Code                                                        | 4    | 10            | Yes                |
| ICT.PV-BET.V16  | Bedrijfsethiek voor ICT                                                       | 3    | 6.5           | Yes                |
| ICT.CAA.PRJ.V23 | Project Cloud Architecture and Automation                                     | 8    | 8             | Yes                |
| ICT.CAA.CAM.V22 | Cloud Architecture Methods                                                    | 4    | 8.2           | Yes                |
| ICT.PV-IC.V21   | Interculturele Communicatie voor ICT                                          | 3    | 7             | Yes                |
| ICT.HCI.SDN.V22 | Software Defined Networking                                                   | 4    | 9             | Yes                |
| ICT.PV-OR.V19   | Onderzoek en Rapportage HBO-ICT                                               | 3    | 7             | Yes                |
| ICT.HCI.PRJ.V23 | Project Hybrid Cloud Infrastructure                                           | 8    | 7.5           | Yes                |
| ICT.HCI.VDC.V22 | Virtual Data Centre                                                           | 4    | 7.6           | Yes                |
| ICT.HCI.CCS.V22 | Cloud Compute Services                                                        | 4    | 7.8           | Yes                |
| ICT.PV-EN2.V24  | Engels 2                                                                      | 3    | 7.7           | Yes                |
| ICT.HCI.CDM.V22 | Cloud Design Methods                                                          | 4    | 7.4           | Yes                |
| ICT.P.NL.V22    | Nederlands                                                                    | 3    | 7             | Yes                |
| ICT.P.KBSd3.V22 | Kenmerkende beroepssituatie 2d: analyse, advies en professionele ontwikkeling | 3    | 7.5           | Yes                |
| ICT.P.KBSd2.V22 | Kenmerkende beroepssituatie 2d: ontwerp en manage&control                     | 3    | 7.5           | Yes                |
| ICT.P.KBSd1.V22 | Kenmerkende beroepssituatie 2d: realisatie                                    | 3    | 8             | Yes                |
| ICT.P.PM.V22    | Procesmodelleren                                                              | 3    | 7.8           | Yes                |
| ICT.P.PO2.V22   | Professionele Ontwikkeling 2                                                  | 3    | Pass          | No                 |
| ICT.P.JAVA1.V22 | JAVA Theorie                                                                  | 3    | 10            | Yes                |
| ICT.P.EN.V23    | Engels 1                                                                      | 3    | 8.5           | Yes                |
| ICT.P.JAVA2.V22 | JAVA Praktijk                                                                 | 3    | 10            | Yes                |
| ICT.P.NW.V22    | Inleiding Netwerken                                                           | 3    | 9.7           | Yes                |
| ICT.P.PS.V22    | Pakketselectie                                                                | 3    | 8.8           | Yes                |
| ICT.P.ISEC.V22  | Inleiding Security                                                            | 3    | 8.8           | Yes                |
| ICT.P.KBSa.V22  | Kenmerkende beroepssituatie 1: ontwerp en realisatie                          | 3    | 8.5           | Yes                |
| ICT.P.KBSb.V22  | Kenmerkende beroepssituatie 1: analyse en professionaliseren                  | 3    | 8.5           | Yes                |
| ICT.P.DB.V22    | Databases                                                                     | 3    | 7.4           | Yes                |
| ICT.P.PO1.V22   | Professionele Ontwikkeling 1                                                  | 3    | Pass          | No                 |
| ICT.P.AFO.V22   | Analyse en Functioneel Ontwerpen                                              | 3    | 9.2           | Yes                |
| ICT.P.IP.V22    | Inleiding Programmeren                                                        | 3    | 10            | Yes                |
| ICT.P.SQL.V22   | Structured Query Language                                                     | 3    | 8.2           | Yes                |
| ICT.P.ST.V22    | Smart Things                                                                  | 3    | Pass          | No                 |
| ICT.BIP.SA.V22  | Blended Intensive Programme Security Awareness                                | 3    | No result yet | No                 |
| V.ICTDS         | Data Science                                                                  | 30   | No result yet | No                 |
+-----------------+-------------------------------------------------------------------------------+------+---------------+--------------------+
Weighted average (weighted by ECTS) = 8.20
Description
Calculate average grade using Windesheim API
Readme 30 KiB
Languages
Python 100%