Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sup2point0/ignis
Various projects involving the Yu-Gi-Oh! card game, including asynchronous API requests, SQL databases, machine learning, and a Discord bot!
https://github.com/sup2point0/ignis
ai discord discord-bot ignis ignister machine-learning nextcord sql sqlalchemy sqlite ygo ygoprodeck yu-gi-oh yugioh yugioh-api yugioh-card-images
Last synced: 4 days ago
JSON representation
Various projects involving the Yu-Gi-Oh! card game, including asynchronous API requests, SQL databases, machine learning, and a Discord bot!
- Host: GitHub
- URL: https://github.com/sup2point0/ignis
- Owner: Sup2point0
- License: mit
- Created: 2024-04-09T09:59:30.000Z (7 months ago)
- Default Branch: vrain
- Last Pushed: 2024-05-21T20:31:02.000Z (6 months ago)
- Last Synced: 2024-05-22T19:55:45.790Z (6 months ago)
- Topics: ai, discord, discord-bot, ignis, ignister, machine-learning, nextcord, sql, sqlalchemy, sqlite, ygo, ygoprodeck, yu-gi-oh, yugioh, yugioh-api, yugioh-card-images
- Language: Python
- Homepage:
- Size: 59.7 MB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![ignis-title](assets/title.png)
---
A series of related projects involving the [*Yu-Gi-Oh!*↗](https://yugipedia.com) 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
## Index
| folder | libraries | notes |
| :----- | :-------- | :---- |
| `ygo` | [`aiohttp`](https://docs.aiohttp.org/en/stable) [`sqlalchemy`](https://www.sqlalchemy.org) | Interfaces for asynchronously accessing the [YGOPRODECK API↗](https://ygoprodeck.com/api-guide), 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`](https://matplotlib.org) | Visualising the statistics of card properties. |
| `ignis` | [`tensorflow`](https://www.tensorflow.org) [`keras`](https://keras.io) | 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`](https://docs.nextcord.dev/en/stable) | A Discord bot to provide convenient access to the other projects. |
| `tests` | [`pytest`](https://docs.pytest.org/en/8.0.x) | 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.[^assets-untrack] |
| `suptools` | | A submodule containing my [suptools↗](https://github.com/Sup2point0/suptools) repo, with all the utility functions I need. |[^assets-untrack]: 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
## Notes
* 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).
## License
MIT cuz why not. Take the code if you need it, just might need to extricate it from `suptools` ;)
## Difficulties & Learnings
See [edu.md](edu.md) :D