5
5
"""Module for checking dependency versions and supported features."""
6
6
7
7
# https://github.com/googleapis/python-bigquery/blob/master/CHANGELOG.md
8
- BIGQUERY_MINIMUM_VERSION = "1.27.2"
9
- BIGQUERY_ACCURATE_TIMESTAMP_VERSION = "2.6.0"
10
- BIGQUERY_FROM_DATAFRAME_CSV_VERSION = "2.6.0"
11
- BIGQUERY_SUPPORTS_BIGNUMERIC_VERSION = "2.10.0"
12
- BIGQUERY_NO_DATE_AS_OBJECT_VERSION = "3.0.0dev"
8
+ BIGQUERY_MINIMUM_VERSION = "3.3.5"
13
9
PANDAS_VERBOSITY_DEPRECATION_VERSION = "0.23.0"
14
10
PANDAS_BOOLEAN_DTYPE_VERSION = "1.0.0"
15
11
PANDAS_PARQUET_LOSSLESS_TIMESTAMP_VERSION = "1.1.0"
@@ -31,47 +27,23 @@ def bigquery_installed_version(self):
31
27
self ._bigquery_installed_version = packaging .version .parse (
32
28
google .cloud .bigquery .__version__
33
29
)
30
+ return self ._bigquery_installed_version
31
+
32
+ def bigquery_try_import (self ):
33
+ import google .cloud .bigquery
34
+ import packaging .version
35
+
34
36
bigquery_minimum_version = packaging .version .parse (BIGQUERY_MINIMUM_VERSION )
35
37
36
- if self ._bigquery_installed_version < bigquery_minimum_version :
38
+ if self .bigquery_installed_version < bigquery_minimum_version :
37
39
raise ImportError (
38
40
"pandas-gbq requires google-cloud-bigquery >= {0}, "
39
41
"current version {1}" .format (
40
42
bigquery_minimum_version , self ._bigquery_installed_version
41
43
)
42
44
)
43
45
44
- return self ._bigquery_installed_version
45
-
46
- @property
47
- def bigquery_has_accurate_timestamp (self ):
48
- import packaging .version
49
-
50
- min_version = packaging .version .parse (BIGQUERY_ACCURATE_TIMESTAMP_VERSION )
51
- return self .bigquery_installed_version >= min_version
52
-
53
- @property
54
- def bigquery_has_bignumeric (self ):
55
- import packaging .version
56
-
57
- min_version = packaging .version .parse (BIGQUERY_SUPPORTS_BIGNUMERIC_VERSION )
58
- return self .bigquery_installed_version >= min_version
59
-
60
- @property
61
- def bigquery_has_from_dataframe_with_csv (self ):
62
- import packaging .version
63
-
64
- bigquery_from_dataframe_version = packaging .version .parse (
65
- BIGQUERY_FROM_DATAFRAME_CSV_VERSION
66
- )
67
- return self .bigquery_installed_version >= bigquery_from_dataframe_version
68
-
69
- @property
70
- def bigquery_needs_date_as_object (self ):
71
- import packaging .version
72
-
73
- max_version = packaging .version .parse (BIGQUERY_NO_DATE_AS_OBJECT_VERSION )
74
- return self .bigquery_installed_version < max_version
46
+ return google .cloud .bigquery
75
47
76
48
@property
77
49
def pandas_installed_version (self ):
0 commit comments