Crunch.io Cube library
Project description
# crunch-cube
Open Source Python implementation of the API for working with Crunch Cubes
## Introduction
This package contains the implementation of the Crunch Cube API. It is used to
extract useful information from Crunch Cube responses (we'll refer to them as
_cubes_ in the subsequent text). _Cubes_ are obtained from the *Crunch.io*
platform, as JSON responses to the specific _queries_ created by the user.
These queries specify which data the user wants to extract from the Crunch.io
system. The most common usage is to obtain the following:
- Cross correlation between different variable
- Margins of the cross tab _cube_
- Proportions of the cross tab _cube_ (e.g. proportions of each single element to the entire sample size)
- Percentages
When the data is obtained from the Crunch.io platform, it needs to be
interpreted to the form that's convenient for a user. The actual shape of the
_cube_ JSON contains many internal details, which are not of essence to the
end-user (but are still necessary for proper _cube_ functionality).
The job of this library is to provide a convenient API that handles those
intricacies, and enables the user to quickly and easily obtain (extract) the
relevant data from the _cube_. Such data is best represented in a table-like
format. For this reason, the most of the API functions return some form of the
`ndarray` type, from the `numpy` package. Each function is explained in greater
detail, uner its own section, under the API subsection of this document.
## Installation
The Crunch Cube package can be installed by using the `pip install`:
pip install cr.cube
### For developers
For development mode, Crunch Cube needs to be installed from the local checkout
of the `crunch-cube` repository. Navigate to the top-level folder of the repo,
on the local file system, and run:
python setup.py develop
## Usage
After the `cr.cube` package has been successfully installed, the usage is as
simple as:
from cr.cube.crunch_cube import CrunchCube
### Obtain the crunch cube JSON from the Crunch.io
### And store it in the 'cube_JSON_response' variable
cube = CrunchCube(cube_JSON_response)
cube.as_array()
### Outputs:
#
# np.array([
# [5, 2],
# [5, 3]
# ])
## API
### `as_array`
Tabular, or matrix, representation of the _cube_. The detailed description can
be found
[here](http://crunch-cube.readthedocs.io/en/latest/cr.cube.html#cr-cube-crunch-cube-module).
### `margin`
Calculates margins of the _cube_. The detailed description can be found
[here](http://crunch-cube.readthedocs.io/en/latest/cr.cube.html#cr-cube-crunch-cube-module).
### `proportions`
Calculates proportions of single variable elements to the whole sample size.
The detailed description can be found
[here](http://crunch-cube.readthedocs.io/en/latest/cr.cube.html#cr-cube-crunch-cube-module).
### `percentages`
Calculates percentages of single variable elements to the whole sample size.
The detailed description can be found
[here](http://crunch-cube.readthedocs.io/en/latest/cr.cube.html#cr-cube-crunch-cube-module).
[![Build Status](https://travis-ci.org/Crunch-io/crunch-cube.png?branch=master)](https://travis-ci.org/Crunch-io/crunch-cube)
[![Coverage Status](https://coveralls.io/repos/github/Crunch-io/crunch-cube/badge.svg?branch=master)](https://coveralls.io/github/Crunch-io/crunch-cube?branch=master)
[![Documentation Status](https://readthedocs.org/projects/crunch-cube/badge/?version=latest)](http://crunch-cube.readthedocs.io/en/latest/?badge=latest)
## Changes
1.0 Initial release
1.1 *Fix stray ipdb.
1.2 Support exporter
1.3 Implement Headers & Subtotals
1.4 Update based on tabbook tests from `cr.lib`
1.4.1 Update based on deck tests from `cr.server`
1.4.2 Fix bugs discovered by first `cr.exporter` deploy to alpha
1.4.3 Fix bug (exporting 2D crtab with H&S on row only)
1.4.4 Implement obtaining labels with category ids (useful for H&S in exporter)
1.4.5 Fix MR x MR proportions calculation
1.5.0 Start implementing index table functionality
1.5.1 Implement index for MR x MR
Open Source Python implementation of the API for working with Crunch Cubes
## Introduction
This package contains the implementation of the Crunch Cube API. It is used to
extract useful information from Crunch Cube responses (we'll refer to them as
_cubes_ in the subsequent text). _Cubes_ are obtained from the *Crunch.io*
platform, as JSON responses to the specific _queries_ created by the user.
These queries specify which data the user wants to extract from the Crunch.io
system. The most common usage is to obtain the following:
- Cross correlation between different variable
- Margins of the cross tab _cube_
- Proportions of the cross tab _cube_ (e.g. proportions of each single element to the entire sample size)
- Percentages
When the data is obtained from the Crunch.io platform, it needs to be
interpreted to the form that's convenient for a user. The actual shape of the
_cube_ JSON contains many internal details, which are not of essence to the
end-user (but are still necessary for proper _cube_ functionality).
The job of this library is to provide a convenient API that handles those
intricacies, and enables the user to quickly and easily obtain (extract) the
relevant data from the _cube_. Such data is best represented in a table-like
format. For this reason, the most of the API functions return some form of the
`ndarray` type, from the `numpy` package. Each function is explained in greater
detail, uner its own section, under the API subsection of this document.
## Installation
The Crunch Cube package can be installed by using the `pip install`:
pip install cr.cube
### For developers
For development mode, Crunch Cube needs to be installed from the local checkout
of the `crunch-cube` repository. Navigate to the top-level folder of the repo,
on the local file system, and run:
python setup.py develop
## Usage
After the `cr.cube` package has been successfully installed, the usage is as
simple as:
from cr.cube.crunch_cube import CrunchCube
### Obtain the crunch cube JSON from the Crunch.io
### And store it in the 'cube_JSON_response' variable
cube = CrunchCube(cube_JSON_response)
cube.as_array()
### Outputs:
#
# np.array([
# [5, 2],
# [5, 3]
# ])
## API
### `as_array`
Tabular, or matrix, representation of the _cube_. The detailed description can
be found
[here](http://crunch-cube.readthedocs.io/en/latest/cr.cube.html#cr-cube-crunch-cube-module).
### `margin`
Calculates margins of the _cube_. The detailed description can be found
[here](http://crunch-cube.readthedocs.io/en/latest/cr.cube.html#cr-cube-crunch-cube-module).
### `proportions`
Calculates proportions of single variable elements to the whole sample size.
The detailed description can be found
[here](http://crunch-cube.readthedocs.io/en/latest/cr.cube.html#cr-cube-crunch-cube-module).
### `percentages`
Calculates percentages of single variable elements to the whole sample size.
The detailed description can be found
[here](http://crunch-cube.readthedocs.io/en/latest/cr.cube.html#cr-cube-crunch-cube-module).
[![Build Status](https://travis-ci.org/Crunch-io/crunch-cube.png?branch=master)](https://travis-ci.org/Crunch-io/crunch-cube)
[![Coverage Status](https://coveralls.io/repos/github/Crunch-io/crunch-cube/badge.svg?branch=master)](https://coveralls.io/github/Crunch-io/crunch-cube?branch=master)
[![Documentation Status](https://readthedocs.org/projects/crunch-cube/badge/?version=latest)](http://crunch-cube.readthedocs.io/en/latest/?badge=latest)
## Changes
1.0 Initial release
1.1 *Fix stray ipdb.
1.2 Support exporter
1.3 Implement Headers & Subtotals
1.4 Update based on tabbook tests from `cr.lib`
1.4.1 Update based on deck tests from `cr.server`
1.4.2 Fix bugs discovered by first `cr.exporter` deploy to alpha
1.4.3 Fix bug (exporting 2D crtab with H&S on row only)
1.4.4 Implement obtaining labels with category ids (useful for H&S in exporter)
1.4.5 Fix MR x MR proportions calculation
1.5.0 Start implementing index table functionality
1.5.1 Implement index for MR x MR
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cr.cube-1.5.1.tar.gz
(56.9 kB
view details)
Built Distribution
cr.cube-1.5.1-py2-none-any.whl
(19.2 kB
view details)
File details
Details for the file cr.cube-1.5.1.tar.gz
.
File metadata
- Download URL: cr.cube-1.5.1.tar.gz
- Upload date:
- Size: 56.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 855bc23e9d9299a4dd8ac37362aeddaa418dc6279a08949bcef06ab1463c457c |
|
MD5 | e6b9f4ecbdd40fa6f0273cf4490c5a07 |
|
BLAKE2b-256 | eb03542f3f595eb21b31513d3cd39b2d72eadfc0b3cebcb250d363ba79e18931 |
File details
Details for the file cr.cube-1.5.1-py2-none-any.whl
.
File metadata
- Download URL: cr.cube-1.5.1-py2-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0a9aec50b18e158bc4693eb3ad6cce5a682e1441d95a1430a4ecab51529eaca |
|
MD5 | 8244b143a2016d7a5a208e9d6811479a |
|
BLAKE2b-256 | 05d84064dc4b2f46446f82b6931ba084fac1ff890c447a6d45f9e416b8bf8bfd |