-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
pandas.io.gbq Version 2 #6937
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pandas.io.gbq Version 2 #6937
Conversation
can u rebase on master? also flip github switch for Travis |
I rebased to master, and Travis was turned on. I'm still working to get Travis passing - mostly just a matter of getting the right dependencies in place and being sure integration tests are skipped. |
@@ -4,8 +4,10 @@ python-dateutil==1.5 | |||
pytz==2013b | |||
http://www.crummy.com/software/BeautifulSoup/bs4/download/4.2/beautifulsoup4-4.2.0.tar.gz | |||
html5lib==1.0b2 | |||
bigquery==2.0.17 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
don;'t you still need the bigquery
package so that bq
is installed? (or is that in the google-api-python-client
), what a horrible package name google!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also if requirements are changing, pls update install.rst
as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bigquery
is only required for the to_gbq() test suite, which can't be run in CI anyways due to lack of valid project id. Will update install.rst
soon.
this going to close #5840 ? |
self.assertEqual(len(df.drop_duplicates()), 200005) | ||
|
||
@unittest.skipIf(missing_bq(), "Cannot run to_gbq tests without bq command line client") | ||
@unittest.skipIf(PROJECT_ID is None, "Cannot run integration tests without a project id") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These @unittest.skipIf
seem to cause backward-compatibility issues... Perhaps I should switch all these over to whatever the nose
equivalent is?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pandas doesn't implement (properly);
make these regular tests and just do a raise nose.SkipTest(slipping message) when u skip
they are indicated by travis at the very end (do u can see that u skipped them)
@jacobschaer you are doing small doc change to close #6096 as well? |
@jacobschaer like to get this in soon...how's coming? |
@jacobschaer how's this coming? |
@jacobschaer pls rebase on master |
OK, all rebased and mostly squashed. Were there any documentation things we're missing? |
into BigQuery and pull it into a DataFrame. | ||
As an example, suppose you want to load all data from an existing BigQuery | ||
table : `test_dataset.test_table` into a DataFrame using the :func:`~pandas.io.read_gbq` | ||
function. | ||
|
||
.. code-block:: python | ||
|
||
from pandas.io import gbq |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think read_gbq
is already available as a top-level function. So also use it here as such?
the 3.4 and numpy-dev builds are failing because they are not installing those builds need to pass (they are experimental just because the build matrix comes back faster) |
@jreback Seems 3.4 and numpy-dev builds now pass. |
- ``io.gbq.read_gbq`` and ``io.gbq.to_gbq`` were refactored to remove the | ||
dependency on the Google ``bq.py`` command line client. This submodule | ||
now uses ``httplib2`` and the Google ``apiclient`` and ``oauth2client`` API client | ||
libraries which should be more stable and, therefore, reliable than |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
reference the issue number here (this PR number is ok)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
put this in the API changes section as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
or in an 'experimental' (sub)section? (as it was and still is tagged as experimental?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes...put that in the experimental section (down a little on the page in v0.14.1.txt)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved this to the experimental section and added issue number with this PR number.
@jacobschaer pls squash down to a small number of commits (and remove merge branches), and rebase on master |
@jacobschaer can you rebase and squash? |
…ng except unit testing. Minor API changes were also introduced.
All rebased and squashed. |
@jacobschaer thanks for this! pls review the docs when they are built in case a followup is needed. http://pandas-docs.github.io/pandas-docs-travis/ |
@jacobschaer If you have a chance. Can you break the big paragraph into say bullet points:
http://pandas-docs.github.io/pandas-docs-travis/io.html#io-bigquery |
closes #5840 (as new interface makes it obsolete)
closes #6096
@jreback : We still have some documentation to work on, but we would like your initial thoughts on what we have so far. The key change for this version is the removal of bq.py as a dependency (except as a setup method for a test case). Instead, we rely entirely on the BigQuery python API. We also simplified to_gbq() significantly. Though it cost a few features, the code is much more manageable and less error prone (thanks Google!). Test cases are much more granular and run significantly faster. To use the test cases fully, a BigQuery project_id is still required, though there are some unittests offline.