Moves Gfycat to use API via site access key.
Adds cachetools as dependency to reuse API keys for Gfycat/Redgifs at 95% of their TTL. Include tests to verify caching.
Updates versions of requests/yt-dlp/black/isort/pytest.
Added default timeout to requests calls.
Adds validate-pyproject and blacken-docs to pre-commit as well as updates versions.
Make some updates to the unsaveposts script and updated flake8 exclude now that there is a python script in the scripts directory.
Also added the scripts directory to actions test ignore as any changes in there shouldn't have any affect on the tests that are performed.
Consolidates sane flake8 settings to pyproject with the Flake8-pyproject plugin.
Does not change logic of test workflow but allows base settings to live in pyproject for anyone using flake8 as an external linter (e.g. vscode)
Also fixes some flake8 errors that were not being picked up by current testing, mostly unused imports.
Cleans up test args on new tests.
Add log path to default config test so as not to mangle default log outside of tests.
Match setup functions to archive/clone.
Remove testing marker that was commited in error.
Consolidates configs to pyproject.toml and updates workflows accordingly as well as sets sane minimums for dev requirements.
adds version check to main script.