edgedb-python
edgedb-python copied to clipboard
Issue with type hints in public API's
There are some exposed functions, such as create_async_client and create_client whose type signature has some hints which are considered mistakes from many tools:
def create_client(
dsn=None,
*,
max_concurrency=None,
host: str = None,
port: int = None,
credentials: str = None,
credentials_file: str = None,
user: str = None,
password: str = None,
secret_key: str = None,
database: str = None,
branch: str = None,
tls_ca: str = None,
tls_ca_file: str = None,
tls_security: str = None,
wait_until_available: int = 30,
timeout: int = 10,
):
A type which is not T | None cannot be assigned None, which causes this flurry of lints:
All public API's of the client should conform to strict typing in python to avoid consumers of the client to have to hack around their linting & LSP tooling.