* Updated all files to use the templates engine.
* Generator files have been reorganised in clientele to support future templates.
* `constants.py` has been renamed to `config.py` to better reflect how it is used. It is not generated from a template like the other files.
* If you are using Python 3.10 or later, the `typing.Unions` types will generate as the short hand `|` instead.
* To regenerate a client (and to prevent accidental overrides) you must now pass `--regen t` or `-r t` to the `generate` command. This is automatically added to the line in `MANIFEST.md` to help.
* Clientele will now automatically run [black](https://black.readthedocs.io/en/stable/) code formatter once a client is generated or regenerated.
* Clientele will now generate absolute paths to refer to adjacent files in the generated client, instead of relative paths. This assumes you are running the `clientele` command in the root directory of your project.
* A lot of documentation and docs strings updates so that code in the generated client is easier to understand.
* Improved the utility for snake-casing enum keys. Tests added for the functions.
* Python 3.12 support.
* Add a "basic" client using the command `generate-basic`. This can be used to keep a consistent file structure for an API that does not use OpenAPI.