- Only show
verbose
deprecation warning if Pandas version does not populate it. (:issue:`157`)
- Fix bug in read_gbq when building a dataframe with integer columns on Windows. Explicitly use 64bit integers when converting from BQ types. (:issue:`119`)
- Fix bug in read_gbq when querying for an array of floats (:issue:`123`)
- Fix bug in read_gbq with configuration argument. Updates read_gbq to
account for breaking change in the way
google-cloud-python
version 0.32.0+ handles query configuration API representation. (:issue:`152`) - Fix bug in to_gbq where seconds were discarded in timestamp columns. (:issue:`148`)
- Fix bug in to_gbq when supplying a user-defined schema (:issue:`150`)
- Deprecate the
verbose
parameter in read_gbq and to_gbq. Messages use the logging module instead of printing progress directly to standard output. (:issue:`12`)
- Fix an issue where Unicode couldn't be uploaded in Python 2 (:issue:`106`)
- Add support for a passed schema in :func:
to_gbq
instead inferring the schema from the passedDataFrame
withDataFrame.dtypes
(:issue:`46`) - Fix an issue where a dataframe containing both integer and floating point columns could not be uploaded with
to_gbq
(:issue:`116`) to_gbq
now usesto_csv
to avoid manually looping over rows in a dataframe (should result in faster table uploads) (:issue:`96`)
- Use the google-cloud-bigquery library for API calls. The
google-cloud-bigquery
package is a new dependency, and dependencies ongoogle-api-python-client
andhttplib2
are removed. See the installation guide for more details. (:issue:`93`) - Structs and arrays are now named properly (:issue:`23`) and BigQuery functions like
array_agg
no longer run into errors during type conversion (:issue:`22`). - :func:`to_gbq` now uses a load job instead of the streaming API. Remove
StreamingInsertError
class, as it is no longer used by :func:`to_gbq`. (:issue:`7`, :issue:`75`)
- :func:`read_gbq` now raises
QueryTimeout
if the request exceeds thequery.timeoutMs
value specified in the BigQuery configuration. (:issue:`76`) - Environment variable
PANDAS_GBQ_CREDENTIALS_FILE
can now be used to override the default location where the BigQuery user account credentials are stored. (:issue:`86`) - BigQuery user account credentials are now stored in an application-specific hidden user folder on the operating system. (:issue:`41`)
- Drop support for Python 3.4 (:issue:`40`)
- The dataframe passed to
`.to_gbq(...., if_exists='append')`
needs to contain only a subset of the fields in the BigQuery schema. (:issue:`24`) - Use the google-auth library for authentication because
oauth2client
is deprecated. (:issue:`39`) - :func:`read_gbq` now has a
auth_local_webserver
boolean argument for controlling whether to use web server or console flow when getting user credentials. Replaces --noauth_local_webserver command line argument. (:issue:`35`) - :func:`read_gbq` now displays the BigQuery Job ID and standard price in verbose output. (:issue:`70` and :issue:`71`)
- All gbq errors will simply be subclasses of
ValueError
and no longer inherit from the deprecatedPandasError
.
InvalidIndexColumn
will be raised instead ofInvalidColumnOrder
in :func:`read_gbq` when the index column specified does not exist in the BigQuery schema. (:issue:`6`)
- Bug with appending to a BigQuery table where fields have modes (NULLABLE,REQUIRED,REPEATED) specified. These modes were compared versus the remote schema and writing a table via :func:`to_gbq` would previously raise. (:issue:`13`)
Initial release of transfered code from pandas
Includes patches since the 0.19.2 release on pandas with the following:
- :func:`read_gbq` now allows query configuration preferences pandas-GH#14742
- :func:`read_gbq` now stores
INTEGER
columns asdtype=object
if they containNULL
values. Otherwise they are stored asint64
. This prevents precision lost for integers greather than 2**53. FurthermoreFLOAT
columns with values above 10**4 are no longer casted toint64
which also caused precision loss pandas-GH#14064, and pandas-GH#14305