Skip to content

Commit

Permalink
[panoramix] -> [dashed]
Browse files Browse the repository at this point in the history
  • Loading branch information
mistercrunch committed Mar 18, 2016
1 parent 8f4f5b1 commit be6b2fe
Show file tree
Hide file tree
Showing 143 changed files with 17,521 additions and 101 deletions.
6 changes: 3 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ babel
.coverage
_build
_static
panoramix/bin/panoramixc
dashed/bin/dashedc
build
*.db
tmp
panoramix_config.py
dashed_config.py
local_config.py
env
dist
panoramix.egg-info/
dashed.egg-info/
app.db
*.bak

Expand Down
4 changes: 2 additions & 2 deletions .landscape.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ pep8:
full: true
ignore-paths:
- docs
- panoramix/migrations/env.py
- panoramix/ascii_art.py
- dashed/migrations/env.py
- dashed/ascii_art.py
ignore-patterns:
- ^example/doc_.*\.py$
- (^|/)docs(/|$)
Expand Down
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ install:
- pip wheel -w $HOME/.wheelhouse -f $HOME/.wheelhouse -r requirements.txt
- pip install --find-links=$HOME/.wheelhouse --no-index -rrequirements.txt
- python setup.py install
- cd panoramix/assets
- cd dashed/assets
- npm install
- npm run prod
- cd $TRAVIS_BUILD_DIR
script: bash run_tests.sh
after_success:
- coveralls
- cd panoramix/assets
- cd dashed/assets
- npm run lint
30 changes: 15 additions & 15 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ Look through the GitHub issues for features. Anything tagged with

### Documentation

Panoramix could always use better documentation,
whether as part of the official Panoramix docs,
Dashed could always use better documentation,
whether as part of the official Dashed docs,
in docstrings, `docs/*.rst` or even on the web as blog posts or
articles.

Expand All @@ -49,14 +49,14 @@ If you are proposing a feature:

## Latest Documentation

[API Documentation](http://pythonhosted.com/panoramix)
[API Documentation](http://pythonhosted.com/dashed)

## Setting up a Python development environment

# fork the repo on github and then clone it
# alternatively you may want to clone the main repo but that won't work
# so well if you are planning on sending PRs
# git clone git@github.com:mistercrunch/panoramix.git
# git clone git@github.com:mistercrunch/dashed.git

# [optional] setup a virtual env and activate it
virtualenv env
Expand All @@ -66,24 +66,24 @@ If you are proposing a feature:
python setup.py develop

# Create an admin user
fabmanager create-admin --app panoramix
fabmanager create-admin --app dashed

# Initialize the database
panoramix db upgrade
dashed db upgrade

# Create default roles and permissions
panoramix init
dashed init

# Load some data to play with
panoramix load_examples
dashed load_examples

# start a dev web server
panoramix runserver -d
dashed runserver -d


## Setting up the node / npm javascript environment

`panoramix/assets` contains all npm-managed, front end assets.
`dashed/assets` contains all npm-managed, front end assets.
Flask-Appbuilder itself comes bundled with jQuery and bootstrap.
While these may be phased out over time, these packages are currently not
managed with npm.
Expand Down Expand Up @@ -116,7 +116,7 @@ new `node_modules/` folder within `assets/`.
npm install
```

To parse and generate bundled files for panoramix, run either of the
To parse and generate bundled files for dashed, run either of the
following commands. The `dev` flag will keep the npm script running and
re-run it upon any changes within the assets directory.

Expand All @@ -132,7 +132,7 @@ For every development session you will have to start a flask dev server
as well as an npm watcher

```
panoramix runserver -d -p 8081
dashed runserver -d -p 8081
npm run dev
```

Expand All @@ -157,12 +157,12 @@ Generate the documentation with:
cd docs && ./build.sh

## CSS Themes
As part of the npm build process, CSS for Panoramix is compiled from ```Less```, a dynamic stylesheet language.
As part of the npm build process, CSS for Dashed is compiled from ```Less```, a dynamic stylesheet language.

It's possible to customize or add your own theme to Panoramix, either by overriding CSS rules or preferably
It's possible to customize or add your own theme to Dashed, either by overriding CSS rules or preferably
by modifying the Less variables or files in ```assets/stylesheets/less/```.

The ```variables.less``` and ```bootswatch.less``` files that ship with Panoramix are derived from
The ```variables.less``` and ```bootswatch.less``` files that ship with Dashed are derived from
[Bootswatch](https://bootswatch.com) and thus extend Bootstrap. Modify variables in these files directly, or
swap them out entirely with the equivalent files from other Bootswatch (themes)[https://github.com/thomaspark/bootswatch.git]

Expand Down
14 changes: 7 additions & 7 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
recursive-include panoramix/templates *
recursive-include panoramix/static *
recursive-exclude panoramix/static/assets/node_modules *
recursive-include panoramix/static/assets/node_modules/font-awesome *
recursive-exclude panoramix/static/docs *
recursive-include dashed/templates *
recursive-include dashed/static *
recursive-exclude dashed/static/assets/node_modules *
recursive-include dashed/static/assets/node_modules/font-awesome *
recursive-exclude dashed/static/docs *
recursive-exclude tests *
recursive-include panoramix/data *
recursive-include panoramix/migrations *
recursive-include dashed/data *
recursive-include dashed/migrations *
66 changes: 33 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
Panoramix
Dashed
=========

[![Join the chat at https://gitter.im/mistercrunch/panoramix](https://badges.gitter.im/mistercrunch/panoramix.svg)](https://gitter.im/mistercrunch/panoramix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
![img](https://travis-ci.org/mistercrunch/panoramix.svg?branch=master)
[![Coverage Status](https://coveralls.io/repos/mistercrunch/panoramix/badge.svg?branch=master&service=github)](https://coveralls.io/github/mistercrunch/panoramix?branch=master)
[![Code Health](https://landscape.io/github/mistercrunch/panoramix/immune_to_filter/landscape.svg?style=flat)](https://landscape.io/github/mistercrunch/panoramix/master)
[![Join the chat at https://gitter.im/mistercrunch/dashed](https://badges.gitter.im/mistercrunch/dashed.svg)](https://gitter.im/mistercrunch/dashed?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
![img](https://travis-ci.org/mistercrunch/dashed.svg?branch=master)
[![Coverage Status](https://coveralls.io/repos/mistercrunch/dashed/badge.svg?branch=master&service=github)](https://coveralls.io/github/mistercrunch/dashed?branch=master)
[![Code Health](https://landscape.io/github/mistercrunch/dashed/immune_to_filter/landscape.svg?style=flat)](https://landscape.io/github/mistercrunch/dashed/master)

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


Video - Introduction to Panoramix
Video - Introduction to Dashed
---------------------------------
[![Panoramix - ](http://img.youtube.com/vi/3Txm_nj_R7M/0.jpg)](http://www.youtube.com/watch?v=3Txm_nj_R7M)
[![Dashed - ](http://img.youtube.com/vi/3Txm_nj_R7M/0.jpg)](http://www.youtube.com/watch?v=3Txm_nj_R7M)

Screenshots
------------
![img](http://i.imgur.com/bi09J9X.png)
![img](http://i.imgur.com/aOaH0ty.png)

Panoramix
Dashed
---------
Panoramix's main goal is to make it easy to slice, dice and visualize data.
Dashed's main goal is to make it easy to slice, dice and visualize data.
It empowers its user to perform **analytics at the speed of thought**.

Panoramix provides:
Dashed provides:
* A quick way to intuitively visualize datasets
* Create and share interactive dashboards
* A rich set of visualizations to analyze your data, as well as a flexible
Expand All @@ -37,7 +37,7 @@ Panoramix provides:
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 Panoramix to stay blazing fast while
* Deep integration with Druid allows for Dashed to stay blazing fast while
slicing and dicing large, realtime datasets


Expand All @@ -52,7 +52,7 @@ Buzz Phrases
Database Support
----------------

Panoramix was originally designed on to of Druid.io, but quickly broadened
Dashed was originally designed on to 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](http://docs.sqlalchemy.org/en/rel_1_0/core/engines.html).
Expand All @@ -73,53 +73,53 @@ power analytic dashboards and applications.*
Installation
------------

Panoramix is currently only tested using Python 2.7.*. Python 3 support is
Dashed is currently only tested using Python 2.7.*. Python 3 support is
on the roadmap, Python 2.6 won't be supported.

Follow these few simple steps to install Panoramix.
Follow these few simple steps to install Dashed.

```
# Install panoramix
pip install panoramix
# Install dashed
pip install dashed
# Create an admin user
fabmanager create-admin --app panoramix
fabmanager create-admin --app dashed
# Initialize the database
panoramix db upgrade
dashed db upgrade
# Create default roles and permissions
panoramix init
dashed init
# Load some data to play with
panoramix load_examples
dashed load_examples
# Start the development web server
panoramix runserver -d
dashed runserver -d
```

After installation, you should be able to point your browser to the right
hostname:port [http://localhost:8088](http://localhost:8088), login using
the credential you entered while creating the admin account, and navigate to
`Menu -> Admin -> Refresh Metadata`. This action should bring in all of
your datasources for Panoramix to be aware of, and they should show up in
your datasources for Dashed to be aware of, and they should show up in
`Menu -> Datasources`, from where you can start playing with your data!

Configuration
-------------

To configure your application, you need to create a file (module)
`panoramix_config.py` and make sure it is in your PYTHONPATH. Here are some
`dashed_config.py` and make sure it is in your PYTHONPATH. Here are some
of the parameters you can copy / paste in that configuration module:

```
#---------------------------------------------------------
# Panoramix specifix config
# Dashed specifix config
#---------------------------------------------------------
ROW_LIMIT = 5000
WEBSERVER_THREADS = 8
PANORAMIX_WEBSERVER_PORT = 8088
DASHED_WEBSERVER_PORT = 8088
#---------------------------------------------------------
#---------------------------------------------------------
Expand All @@ -129,7 +129,7 @@ PANORAMIX_WEBSERVER_PORT = 8088
SECRET_KEY = '\2\1thisismyscretkey\1\2\e\y\y\h'
# The SQLAlchemy connection string.
SQLALCHEMY_DATABASE_URI = 'sqlite:////tmp/panoramix.db'
SQLALCHEMY_DATABASE_URI = 'sqlite:////tmp/dashed.db'
# Flask-WTF flag for CSRF
CSRF_ENABLED = True
Expand All @@ -139,8 +139,8 @@ DEBUG = True
```

This file also allows you to define configuration parameters used by
Flask App Builder, the web framework used by Panoramix. Please consult
the [Flask App Builder Documentation](http://flask-appbuilder.readthedocs.org/en/latest/config.html) for more information on how to configure Panoramix.
Flask App Builder, the web framework used by Dashed. Please consult
the [Flask App Builder Documentation](http://flask-appbuilder.readthedocs.org/en/latest/config.html) for more information on how to configure Dashed.


* From the UI, enter the information about your clusters in the
Expand All @@ -161,14 +161,14 @@ More screenshots

Related Links
-------------
* [Panoramix Google Group] (https://groups.google.com/forum/#!forum/airbnb_panoramix)
* [Gitter (live chat) Channel](https://gitter.im/mistercrunch/panoramix)
* [Dashed Google Group] (https://groups.google.com/forum/#!forum/airbnb_dashed)
* [Gitter (live chat) Channel](https://gitter.im/mistercrunch/dashed)


Tip of the Hat
--------------

Panoramix would not be possible without these great frameworks / libs
Dashed 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
Expand All @@ -180,4 +180,4 @@ getting the foundation for free
Contributing
------------

Interested in contributing? Casual hacking? Check out [Contributing.MD](https://github.com/mistercrunch/panoramix/blob/master/CONTRIBUTING.md)
Interested in contributing? Casual hacking? Check out [Contributing.MD](https://github.com/mistercrunch/dashed/blob/master/CONTRIBUTING.md)
4 changes: 2 additions & 2 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# TODO
List of TODO items for Panoramix
List of TODO items for Dashed

## Important
* **Caching:** integrate with flask-cache
Expand All @@ -8,7 +8,7 @@ List of TODO items for Panoramix
testing all the ajax-type calls
* **Viz Plugins:** Allow people to define and share visualization plugins.
ideally one would only need to drop in a set of files in a folder and
Panoramix would discover and expose the plugins
Dashed would discover and expose the plugins

## Features
* **Stars:** set dashboards, slices and datasets as favorites
Expand Down
2 changes: 1 addition & 1 deletion alembic.ini
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ script_location = migrations
# are written from script.py.mako
# output_encoding = utf-8

sqlalchemy.url = scheme://localhost/panoramix
sqlalchemy.url = scheme://localhost/dashed

# Logging configuration
[loggers]
Expand Down
38 changes: 38 additions & 0 deletions dashed/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
"""Package's main module!"""

import logging
import os
from flask import Flask, redirect
from flask.ext.appbuilder import SQLA, AppBuilder, IndexView
from flask.ext.appbuilder.baseviews import expose
from flask.ext.migrate import Migrate


APP_DIR = os.path.dirname(__file__)
CONFIG_MODULE = os.environ.get('DASHED_CONFIG', 'dashed.config')

# Logging configuration
logging.basicConfig(format='%(asctime)s:%(levelname)s:%(name)s:%(message)s')
logging.getLogger().setLevel(logging.DEBUG)

app = Flask(__name__)
app.config.from_object(CONFIG_MODULE)
db = SQLA(app)
migrate = Migrate(app, db, directory=APP_DIR + "/migrations")


class MyIndexView(IndexView):
@expose('/')
def index(self):
return redirect('/dashed/featured')

appbuilder = AppBuilder(
app, db.session,
base_template='dashed/base.html',
indexview=MyIndexView,
security_manager_class=app.config.get("CUSTOM_SECURITY_MANAGER"))

sm = appbuilder.sm

get_session = appbuilder.get_session
from dashed import config, views # noqa
Loading

0 comments on commit be6b2fe

Please sign in to comment.