Productivity-centric Python data analysis framework for SQL systems and the Hadoop platform. Co-founded by the creator of pandas
Python C++ Shell CMake C Batchfile
Latest commit 9b7fe37 Jan 23, 2017 @cpcloud cpcloud committed with wesm ENH: Add array operations
This PR fills out array types a bit more by adding the following
operations    Closes #851     1. `length`  2. `collect` (an aggregate
function that collects column elements into an array)  3. `+`
(concatenates two arrays)  4. `*` (similar to Python `list`s, this
operation repeats the list a specified number of times)

Author: Phillip Cloud <>

Closes #899 from cpcloud/array-ops and squashes the following commits:

8ecdf25 [Phillip Cloud] Generalize array binary operation type invariance checking
f67a512 [Phillip Cloud] No need for implicit casting
65417fc [Phillip Cloud] radd and rmul for array typed columns
aadb2c1 [Phillip Cloud] Check that we are a valid type before performing conversion
f8a3e84 [Phillip Cloud] Better comments around generate_series in repeat building
4e13e63 [Phillip Cloud] Negative numbers make sense
838b79e [Phillip Cloud] More informative error message for concatenate
1c1c285 [Phillip Cloud] More thorough repeat and concat tests
db73bea [Phillip Cloud] Add tests with None and negative slices
3c7e3e9 [Phillip Cloud] Fix typo
7433430 [Phillip Cloud] Add table prefix and auto generated series name to avoid potential conflicts
fec5f67 [Phillip Cloud] Simplify API spec
8b2d38b [Phillip Cloud] Remove false docstring
b802082 [Phillip Cloud] Cleanup length spec
1fb6804 [Phillip Cloud] Types must match to concatenate
ec7e9e6 [Phillip Cloud] Fix some final issues
bc04a74 [Phillip Cloud] Add array ops
30f8217 [Phillip Cloud] Cannot concat arrays of different types without casting
73572b2 [Phillip Cloud] Add array methods to the API
13212f5 [Phillip Cloud] Implement repeat concat and index/slice for postgres
1e14b30 [Phillip Cloud] Add tests for postgres
0ba3352 [Phillip Cloud] Fix sqla type translation
318aa08 [Phillip Cloud] Properly construct types
9c57f20 [Phillip Cloud] Needs to be meta of course
f96415e [Phillip Cloud] Implement length and collect for postgres
719cf5e [Phillip Cloud] Add array of array validator
3e88d0d [Phillip Cloud] Add collect and length op classes
eedbc73 [Phillip Cloud] Pluck out value_type
d880ef8 [Phillip Cloud] Add collect and length array methods
0599a48 [Phillip Cloud] Add collect and schema tests
d314415 [Phillip Cloud] Factor out column type translation so we can recur on nested types
b518353 [Phillip Cloud] Pass around only the value_type
6c3f20a [Phillip Cloud] Add new test datasets
3ee1cce [Phillip Cloud] Add postgresql execution test
34cc557 [Phillip Cloud] Implement parametric decorator
69514a7 [Phillip Cloud] Refactor predicate
0a75336 [Phillip Cloud] Factor out bounds
c5f942a [Phillip Cloud] Add string test and parameterize
c166a4e [Phillip Cloud] Implement basic array scalar types and remove unused code
bfe34d2 [Phillip Cloud] Add basic tests
Failed to load latest commit information.
LICENSES Bug fixes and various conveniences in HDFS + DDL utilities Jun 11, 2015
conda-recipes DEV: Bump impyla requirements Apr 3, 2016
dev Add a TableExpr.rename method Aug 24, 2015
docs Documentation updates for 0.8 release May 19, 2016
ibis ENH: Add array operations Jan 22, 2017
scripts Properly cast types when generating test data May 4, 2016
testing/udf DEV: Updates for Impala 2.5 + native build toolchain Mar 13, 2016
.coveragerc Add async query execution API, initial 0.5 release notes Sep 5, 2015
.gitattributes DEV: add versioneer for more effortless __version__ management. Close #… Oct 8, 2015
.gitignore ENH: Partition metadata management APIs and ALTER TABLE support for t… Nov 22, 2015
.landscape.yaml TST: Jenkins script must pass prospector (flake8) or fail Sep 4, 2015
LICENSE.txt Packaging, requirements, user testing, licensing Mar 11, 2015 DEV: add versioneer for more effortless __version__ management. Close #… Oct 8, 2015
Makefile SQLAlchemy translator backend and preliminary SQLite client Aug 31, 2015 Add a circle-ci build status badge Jul 9, 2016
circle.yml ENH: Add array operations Jan 22, 2017
requirements.txt Pin pytest to <= 2.9.2 (#885) Oct 3, 2016
setup.cfg DEV: add versioneer for more effortless __version__ management. Close #… Oct 8, 2015 BUG: add postgres submodules to installation targets May 19, 2016 DEV: add versioneer for more effortless __version__ management. Close #… Oct 8, 2015


Current release from Anaconda-Server Badge

Ibis: Python data analysis framework for Hadoop and SQL engines

Ibis is a toolbox to bridge the gap between local Python environments and remote storage and execution systems like Hadoop components (HDFS, Impala, Hive, Spark) and SQL databases (Postgres, etc.). Its goal is to simplify analytical workflows and make you more productive.

Install Ibis from PyPI with:

$ pip install ibis-framework

At this time, Ibis provides tools for the interacting with the following systems:

Learn more about using the library at and read the project blog at for news and updates.