Description
Is your feature request related to a problem? Please describe.
It's frustrating to manually create client objects with user_supplied_client
just to be able to customize the user_agent
.
Describe the solution you'd like
I'd like user_agent
to be configurable via connect_args
when invoking sa.engine.create_engine
. Since theClient
is automatically created as part of create_connect_args
, any user-provided connect_args
can't currently be incorporated.
One solution would be to defer the creation of the Client
object until BigQueryDialect.connect
so that all connect_args
(both from create_connect_args
and the user) can be incorporated.
However, as a smaller iteration to allow control over this, it would be helpful to be able to specify the user_agent
string as part of the URL so that parse_url
(in the context of create_connect_args
) can extract it as a ClientInfo
object and pass it to _helpers.create_bigquery_client
for automatic client creation.
python-bigquery-sqlalchemy/sqlalchemy_bigquery/base.py
Lines 1170 to 1177 in f363b87
Describe alternatives you've considered
Today, our only option seems to be user_supplied_client
and creating our own client
– and bq_storage_client
– with appropriate ClientInfo
populated.
Additional context
Add any other context or screenshots about the feature request here.