A series of related projects involving the Yu-Gi-Oh!↗ card game, including:
- Asynchronous API requests
- SQL database management
- Machine learning through convolutional neural networks
- Statistics visualisation
- A multi-purpose Discord bot to interact with the rest
folder | libraries | notes |
---|---|---|
ygo |
aiohttp sqlalchemy |
Interfaces for asynchronously accessing the YGOPRODECK API↗, saving data to a database, and querying it with SQL. Bear in mind Yu-Gi-Oh has 13,000+ cards, so this was quite the effort. |
stats |
matplotlib |
Visualising the statistics of card properties. |
ignis |
tensorflow keras |
Machine learning models through convolutional neural networks, for predicting a card’s properties from its art. This was the original intention of this project, which everything else was built around. |
disc |
nextcord |
A Discord bot to provide convenient access to the other projects. |
tests |
pytest |
A couple of unit tests cuz I felt like it. (Nowhere near even 20% code coverage) |
scripts |
Code files that are manually executed for specific purposes. | |
assets |
Data and image files, mostly untracked.1 | |
suptools |
A submodule containing my suptools↗ repo, with all the utility functions I need. |
- Relative imports, yeah. Somehow I managed to get them working in VSCode, so I went with it. I do like them, cuz you don’t need to worry about disrupting imports if changing your working directory (especially relevant when submodules are involved).
MIT cuz why not. Take the code if you need it, just might need to extricate it from suptools
;)
See edu.md :D
Footnotes
-
Good reason for this, ofc. Those files are huge. Trying to commit and push them gets rejected by GitHub. Not a good idea. I speak from experience. o.0 ↩