geldata / geldata/gel-python

Issue with type hints in public API's

Open
#596 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
415
Forks
50
PR merge metrics
No merged PRs in 30d

Description

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:
```python
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:

![Image](https://github.com/user-attachments/assets/a10fc93c-0350-4f38-b726-5262ba6c8a5e)

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.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.