CryptContext should be a context manager
CryptContext seems like an obvious candidate to operate as a context manager, but it doesn't.
>>> from passlib.context import CryptContext
>>> with CryptContext(schemes=['bcrypt']) as context:
... context.hash('foobar')
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: __enter__
>>>