diff --git a/bigquery/noxfile.py b/bigquery/noxfile.py index 0a1296aa4c73..b12b9a67b62d 100644 --- a/bigquery/noxfile.py +++ b/bigquery/noxfile.py @@ -20,13 +20,7 @@ import nox -LOCAL_DEPS = ( - os.path.join("..", "api_core[grpc]"), - os.path.join("..", "core"), - # TODO: Move bigquery_storage back to dev_install once dtypes feature is - # released. Issue #7049 - os.path.join("..", "bigquery_storage[pandas,fastavro]"), -) +LOCAL_DEPS = (os.path.join("..", "api_core[grpc]"), os.path.join("..", "core")) BLACK_PATHS = ("google", "tests", "docs", "noxfile.py", "setup.py") @@ -45,10 +39,7 @@ def default(session): session.install("-e", local_dep) # Pyarrow does not support Python 3.7 - if session.python == "3.7": - dev_install = ".[pandas, tqdm]" - else: - dev_install = ".[pandas, pyarrow, tqdm]" + dev_install = ".[all]" session.install("-e", dev_install) # IPython does not support Python 2 after version 5.x @@ -95,7 +86,7 @@ def system(session): session.install("-e", local_dep) session.install("-e", os.path.join("..", "storage")) session.install("-e", os.path.join("..", "test_utils")) - session.install("-e", ".[pandas]") + session.install("-e", ".[all]") # IPython does not support Python 2 after version 5.x if session.python == "2.7": @@ -123,7 +114,7 @@ def snippets(session): session.install("-e", local_dep) session.install("-e", os.path.join("..", "storage")) session.install("-e", os.path.join("..", "test_utils")) - session.install("-e", ".[pandas, pyarrow, fastparquet]") + session.install("-e", ".[all]") # Run py.test against the snippets tests. session.run("py.test", os.path.join("docs", "snippets.py"), *session.posargs) @@ -182,7 +173,7 @@ def docs(session): for local_dep in LOCAL_DEPS: session.install("-e", local_dep) session.install("-e", os.path.join("..", "storage")) - session.install("-e", ".[pandas, pyarrow]") + session.install("-e", ".[all]") shutil.rmtree(os.path.join("docs", "_build"), ignore_errors=True) session.run( diff --git a/bigquery/setup.py b/bigquery/setup.py index 1badaae98175..838013a44737 100644 --- a/bigquery/setup.py +++ b/bigquery/setup.py @@ -34,14 +34,25 @@ "google-resumable-media >= 0.3.1", ] extras = { - "bqstorage": "google-cloud-bigquery-storage >= 0.2.0dev1, <2.0.0dev", - "pandas": "pandas>=0.17.1", + "bqstorage": [ + "google-cloud-bigquery-storage >= 0.2.0dev1, <2.0.0dev", + "fastavro>=0.21.2", + ], + "pandas": ["pandas>=0.17.1"], # Exclude PyArrow dependency from Windows Python 2.7. - 'pyarrow: platform_system != "Windows" or python_version >= "3.4"': "pyarrow>=0.4.1", - "tqdm": "tqdm >= 4.0.0, <5.0.0dev", + 'pyarrow: platform_system != "Windows" or python_version >= "3.4"': [ + "pyarrow>=0.4.1" + ], + "tqdm": ["tqdm >= 4.0.0, <5.0.0dev"], "fastparquet": ["fastparquet", "python-snappy"], } +all_extras = [] + +for extra in extras: + all_extras.extend(extras[extra]) + +extras["all"] = all_extras # Setup boilerplate below this line.