* python 3.6 + typing (#25)
- Formally require Python 3.6 or later. This never worked under Python 2.7.
- Drop now-unnecessary `__future__` and `six` references.
- Use `py.typed` to declare that we support type hints.
- Fix a variety of mypy errors.
- Don't use star imports, so that other packages can tell if they're making an invalid reference.
- Drop support for non-`requests` HTTP clients.
- Drop `EngineAPIResource.update`; it could never have worked.
Tested against primaryapi and engineapi in staging, and it doesn't break them. After this, `mypy ./openai` runs clean.
* delete unused code (#27)
- Delete `ListObject`. It has some typing errors that suggest it never worked, and it is unused as far as I can tell.
- Delete `VerifyMixin`. It is unused.
- Delete `CardError`. It is unused and smells of rotten pasta.
- Delete `OpenAIErrorWithParamCode`, which only has one subclass, `InvalidRequestError`, and make `InvalidRequestError` a direct subclass of `OpenAIError`. Currrently, `OpenAIErrorWithParamCode` depends on the internal structure of `InvalidRequestError` so they're not independent.
* boring formatting and typing fixes (#26)
These are another step towards being able to enforce black, flake8, and mypy on CI.
* fix more typing issues in prep for CI (#28)
- Simplify `platform.XXX` calls. As far as I know these can't raise an exception in Python 3.
- Simplify `EngineAPIResource` constructor and remove its unused `retrieve` method.
* Update readme, bump version
* typo fix
Co-authored-by: Madeleine Thompson <[email protected]>
Co-authored-by: Madeleine Thompson <[email protected]>