Skip to content

Allow DatasetListItem in Client.delete_dataset types #995

Closed
@tswast

Description

@tswast

https://app.circleci.com/pipelines/github/tswast/python-bigquery-pandas/217/workflows/38a35d17-9e68-48b3-b17a-b683e4ab5a52/jobs/1308

I expected this code to work:

    @pytest.fixture(scope="session", autouse=True)
    def cleanup_datasets(bigquery_client: bigquery.Client):
        for dataset in bigquery_client.list_datasets():
            if prefixer.should_cleanup(dataset.dataset_id):
                bigquery_client.delete_dataset(
>                   dataset, delete_contents=True, not_found_ok=True
                )

But I get

if not isinstance(dataset, (Dataset, DatasetReference)):
>           raise TypeError("dataset must be a Dataset or a DatasetReference")
E           TypeError: dataset must be a Dataset or a DatasetReference

/opt/conda/envs/test-environment/lib/python3.7/site-packages/google/cloud/bigquery/client.py:740: TypeError

Similarly, we should check delete_table. I think it accepts TableListItem, but this is not reflected in the type annotations.

Metadata

Metadata

Assignees

Labels

api: bigqueryIssues related to the googleapis/python-bigquery API.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions