Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Query generator for Google BigQuery and other SQL environments

Project Description

Generage sophisticated query for Google BigQuery in simple way.

What is BQX?

BQX is a minimal query generator for Google BigQuery. It’s mainly intended for being used by data analysts / scientists who want to analyze big data.

BQX fires its power especially on making LONG and NESTED query. BigQuery doesn’t accept two or more queries at once so user has to make views or make terribly nested query. BQX’s features help you make long query preserving high readability. See example for its features and usage.

Requirements

  • Python 3.4 ~

Installing

pip install bqx

Example

>>> from bqx.query import Query as Q
>>> from bqx.parts import Table as T, Column as C
>>> from bqx.func import SUM
>>>
>>> shakespeare = T('publicdata:samples.shakespeare')
>>> word = C('word')
>>> q = Q().SELECT(word).FROM(shakespeare).LIMIT(10)
>>> print(q.getq())
SELECT word
FROM publicdata:samples.shakespeare
LIMIT 10

See example directory for more detailed examples.

License

This library is BSD-licensed.

Q&A

How can I use it?

Running example on REPL is good for getting started, and we suggest you to use BQX with front-ends like pandas for next step.

Is it only for BigQuery? How about MySQL or else?

It aims to generate query excecuted on BigQuery but it might be applied to other SQL environments because difference between plain SQL and BigQuery is small.

We are using some compute engines which can process SQL (and dialects) like BigQuery, Hadoop and Spark. So in near future, adding other SQL dialect is planned.

Why some functions are UPPERCASE?

The first reason is for avoiding collision with Python’s reserved words. The another reason is for SQL’s UPPERCASE manners.

Is it ready to use?

We hope it’s so. All main clauses are implemented from v0.2.0, but not fully tested by hand yet.

Where are documentations?

We’re sorry but documentation is not available right now. It will be published on ReadTheDocs.org soon. Stay tuned.

Release History

Release History

This version
History Node

0.4.0

History Node

0.3.3

History Node

0.3.2

History Node

0.3.0

History Node

0.2.4

History Node

0.2.3

History Node

0.2.2

History Node

0.2.1

History Node

0.2.0

History Node

0.1.2

History Node

0.1.1

History Node

0.1.0

History Node

0.0.3

History Node

0.0.2

History Node

0.0.1

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
bqx-0.4.0-py3-none-any.whl (12.7 kB) Copy SHA256 Checksum SHA256 py3 Wheel Apr 4, 2017
bqx-0.4.0.tar.gz (57.2 kB) Copy SHA256 Checksum SHA256 Source Apr 4, 2017

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting