* extend gitignore by recommended values
`pyproject.toml`:
* cap supported python version to 3.12 caused by audioop being removed in 3.13
* add static uv metadata for platform-dependent dependencies
* explicit set namespace of swingmusic
`README.md`:
* remove platform-dependent wsgi server. now being managed in pyproject.toml
* update supported python versions upto 3.13
* add waitress and bjoern as platform dependent deps
* add entry-point
* add project urls
* set explicit flat layout structure
* add package data
* add optional dep `docs`
`__main__.py`:
* add main function
* call main function from entrypoint and with direct execution
+ port populate to new db interface
+ add genrehashes and hash info to tracks
+ properly structure new db table files
+ move helpers to dedicated utils file
+ move settings from db to config file
+ move artists, albums, auth and favorites endpoint to new db interface
+ use folder store to index filepaths
+ paginate favorite pages
+ 56 moretiny changes 😅
+ ditch the LAST FM API KEY thing
+ expose the Musixmatch urls
+ use the kerve last fm api to download similar artist data
+ use google.it instead of the Google public dns to check internet connectivity (to make it work in all environments)
+ return og Dockerfile to fix ARM support
.ie. stop relying on folder last mod date, and use the latest file from the folder
+ bump watchdog to v4
+ add WIP docs (stashed in .github/code.docs for now)
+ move build variables into a python file
+ rewrite logic to check if there's an internet connection
+ move IS_BUILD into settings
+ update pyintaller to 6.0.0
+ update other packages to latest
+ add route to get all settings
+ add route to set any setting
+ add untested migration to add settings into settings db
+ compress json in api responses using FlaskCompress
+ serve gziped assets if browser accepts encoded files
+ misc