Apache Superset is a Data Visualization and Data Exploration Platform
Go to file
Luca Albertalli fe6628b0a4 Fix #529 2 - "This Session's transaction has been rolled back" (#531)
* Created migration to fix the bug

* Working also on MySQL

* Added support for Vertica Grains (#515)

* Fix #529 1 "This Session's transaction has been rolled back" (#530)

* Fixing the specific issue

* Added an additional fix for a similar error in #529

Background:
- When an object is modified by SQLAlchemy, it is invalidated so need to be fetched again from the DB
- If there's an exception during a transaction, SQLAlchemy performs a rollback and mark the connection as dirty.

Bug:
- When handling exceptions, the exception handler tries to access the name of the cluster in the main object. Since the name has been invalidated due to a write, SQLAlchemy tries to fetch it on a 'dirty' connection and spits out an error. Solution:
- Fetch the information for handling the exception before starting the process.

* Modified the migration function to to automatically detect the the foreign keys based on the signature.
It supports also sqlite using batch migrations

* i18n: Fix typo in Druid cluster broker port label (#512)

* Update models.py (#541)

removing duplicated `user_id` def
2016-06-02 12:27:59 -07:00
babel i18n: Fix typo in Druid cluster broker port label (#512) 2016-05-31 21:10:28 -07:00
caravel Fix #529 2 - "This Session's transaction has been rolled back" (#531) 2016-06-02 12:27:59 -07:00
docs Adding a doc page for Druid 2016-05-20 12:11:38 -07:00
tests Implementing druid's regex filters (#501) 2016-05-23 13:06:35 -07:00
.coveralls.yml Changing repo token for coveralls 2016-03-29 11:28:06 -07:00
.gitignore Getting started on translations (#423) 2016-05-02 10:50:23 -07:00
.landscape.yml [dashed->caravel] Replace in files 2016-03-28 22:01:21 -07:00
.travis.yml Specifying python versions supported in setup.py (#382) 2016-04-20 12:27:17 -07:00
alembic.ini [dashed->caravel] Replace in files 2016-03-28 22:01:21 -07:00
CHANGELOG.md Updating changelog 2016-05-12 08:51:59 -07:00
CONTRIBUTING.md fix typo (#484) 2016-05-20 11:05:28 -07:00
dev-reqs.txt Druid unit tests using Mock (#384) 2016-04-20 15:08:10 -07:00
INTHEWILD.md Update INTHEWILD.md 2016-04-06 23:56:19 -07:00
LICENSE.txt LICENSE 2015-07-21 20:54:31 +00:00
MANIFEST.in [dashed->caravel] Replace in files 2016-03-28 22:01:21 -07:00
pypi_push.sh Getting started on translations (#423) 2016-05-02 10:50:23 -07:00
README.md Fixgin README link 2016-04-28 17:58:09 -07:00
run_tests.sh Fix db upgrade script b4456560d4f3 (#370) 2016-04-18 12:49:13 -07:00
setup.cfg Fixing the order and coverage report for the unit tests 2016-03-28 23:50:11 -07:00
setup.py [hotfix] forcing newer pydruid version 2016-05-24 12:35:55 -07:00
TODO.md Conververting datetime based on database dialects (#446) 2016-05-10 09:29:29 -07:00

Caravel

Caravel

Build Status PyPI version Coverage Status Code Health PyPI Requirements Status Join the chat at https://gitter.im/airbnb/caravel Documentation

Caravel is a data exploration platform designed to be visual, intuitive and interactive.

[this project used to be named Panoramix]

Video - Introduction to Caravel

Caravel -

Screenshots

img img

Caravel

Caravel's main goal is to make it easy to slice, dice and visualize data. It empowers users to perform analytics at the speed of thought.

Caravel provides:

  • A quick way to intuitively visualize datasets by allowing users to create and share interactive dashboards
  • A rich set of visualizations to analyze your data, as well as a flexible way to extend the capabilities
  • An extensible, high granularity security model allowing intricate rules on who can access which features, and integration with major authentication providers (database, OpenID, LDAP, OAuth & REMOTE_USER through Flask AppBuiler)
  • A simple semantic layer, allowing to control how data sources are displayed in the UI, by defining which fields should show up in which dropdown and which aggregation and function (metrics) are made available to the user
  • Deep integration with Druid allows for Caravel to stay blazing fast while slicing and dicing large, realtime datasets

Database Support

Caravel was originally designed on top of Druid.io, but quickly broadened its scope to support other databases through the use of SQLAlchemy, a Python ORM that is compatible with most common databases.

What is Druid?

From their website at http://druid.io

Druid is an open-source analytics data store designed for business intelligence (OLAP) queries on event data. Druid provides low latency (real-time) data ingestion, flexible data exploration, and fast data aggregation. Existing Druid deployments have scaled to trillions of events and petabytes of data. Druid is best used to power analytic dashboards and applications.

Installation & Configuration

See in the documentation

More screenshots

img img img img img img

Resources

Tip of the Hat

Caravel would not be possible without these great frameworks / libs

  • Flask App Builder - Allowing us to focus on building the app quickly while getting the foundation for free
  • The Flask ecosystem - Simply amazing. So much Plug, easy play.
  • NVD3 - One of the best charting libraries out there
  • Much more, check out the install_requires section in the setup.py file!

Contributing

Interested in contributing? Casual hacking? Check out Contributing.MD