Metadata-Version: 2.1
Name: bqhus
Version: 0.1.6
Summary: bqhus: BigQuery helper utils.
Home-page: https://github.com/yokoe/bqhus
Download-URL: https://github.com/yokoe/bqhus
Author: yokoe
Author-email: kreuz45@kreuz45.com
Maintainer: yokoe
Maintainer-email: kreuz45@kreuz45.com
License: MIT
Keywords: bigquery
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
Description-Content-Type: text/markdown
License-File: LICENSE

# bqhus
[![Maintainability](https://api.codeclimate.com/v1/badges/102f4aceaa6a1c544f52/maintainability)](https://codeclimate.com/github/yokoe/bqhus/maintainability)

BigQuery helper utils for Python

## How to use
### Select from table
```
import bqhus
bqhus.select("SELECT * FROM `foo.bar.purchases` LIMIT 20").as_dicts()
bqhus.select("SELECT * FROM `foo.bar.purchases` ORDER BY created_at LIMIT 1", client=bigquery.Client(project="foobar")).first_as_dict()
bqhus.select("SELECT * FROM `foo.bar.purchases` LIMIT 20").to_dataframe()
```

### Create table from query
```
bqhus.select("SELECT * FROM `some.source.table`").to_table("foo.bar.new_table")
```

### Create temp table from query
```
bqhus.select("SELECT * FROM `some.source.table`").to_table("foo.bar.new_table").expires_in(days=7)
```

### Export table to GCS as csv
```
bqhus.export_table("foo.bar.sample").as_csv(gzip=True).to_gcs("my-bucket", "exported-table.csv.gz")
```


### Generate random table name
```
bqhus.random_table_name("prefix-here")
```

## Development
### Run tests
```
docker compose run bqhus
```
