diff --git a/.gitignore b/.gitignore index 700ce0ca3ab..4d61b9286a6 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/.landscape.yml b/.landscape.yml index 139b3db6c2f..7a9ab621029 100644 --- a/.landscape.yml +++ b/.landscape.yml @@ -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(/|$) diff --git a/.travis.yml b/.travis.yml index c216ff4a0bd..e623eb0c8a8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3e5493e540c..9410d800c87 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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. @@ -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 @@ -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. @@ -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. @@ -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 ``` @@ -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] diff --git a/MANIFEST.in b/MANIFEST.in index 9480b502767..ce0e121d0e0 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -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 * diff --git a/README.md b/README.md index 37966c1caf1..426a23ebca5 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 @@ -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). @@ -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 #--------------------------------------------------------- #--------------------------------------------------------- @@ -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 @@ -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 @@ -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 @@ -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) diff --git a/TODO.md b/TODO.md index c32067d3d57..089db8488e3 100644 --- a/TODO.md +++ b/TODO.md @@ -1,5 +1,5 @@ # TODO -List of TODO items for Panoramix +List of TODO items for Dashed ## Important * **Caching:** integrate with flask-cache @@ -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 diff --git a/alembic.ini b/alembic.ini index 24ddf3adb81..6d12b48b5e9 100644 --- a/alembic.ini +++ b/alembic.ini @@ -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] diff --git a/panoramix/assets/visualizations/sunburst.css b/dashed/assets/visualizations/sunburst.css similarity index 100% rename from panoramix/assets/visualizations/sunburst.css rename to dashed/assets/visualizations/sunburst.css diff --git a/panoramix/assets/visualizations/sunburst.js b/dashed/assets/visualizations/sunburst.js similarity index 99% rename from panoramix/assets/visualizations/sunburst.js rename to dashed/assets/visualizations/sunburst.js index 1e614ce946a..e195e71af8c 100644 --- a/panoramix/assets/visualizations/sunburst.js +++ b/dashed/assets/visualizations/sunburst.js @@ -1,5 +1,5 @@ var d3 = window.d3 || require('d3'); -var px = require('../javascripts/modules/panoramix.js'); +var px = require('../javascripts/modules/dashed.js'); var wrapSvgText = require('../javascripts/modules/utils.js').wrapSvgText; require('./sunburst.css'); diff --git a/panoramix/viz.py b/dashed/viz.py similarity index 99% rename from panoramix/viz.py rename to dashed/viz.py index 83cd0c8a593..56b15a70b34 100644 --- a/panoramix/viz.py +++ b/dashed/viz.py @@ -1,6 +1,6 @@ """ This module contains the "Viz" objects that represent the backend of all -the visualizations that Panoramix can render +the visualizations that Dashed can render """ from collections import OrderedDict, defaultdict @@ -15,8 +15,8 @@ from werkzeug.datastructures import ImmutableMultiDict from werkzeug.urls import Href import pandas as pd -from panoramix import app, utils -from panoramix.forms import FormFactory +from dashed import app, utils +from dashed.forms import FormFactory from six import string_types @@ -113,7 +113,7 @@ class BaseViz(object): if d[key] is False: del d[key] href = Href( - '/panoramix/explore/{self.datasource.type}/' + '/dashed/explore/{self.datasource.type}/' '{self.datasource.id}/'.format(**locals())) return href(d) @@ -1025,7 +1025,7 @@ class WorldMapViz(BaseViz): return qry def get_json_data(self): - from panoramix.data import countries + from dashed.data import countries df = self.get_df() cols = [self.form_data.get('entity')] metric = self.form_data.get('metric') diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html index 7bb04b52f0d..8dc2374d46a 100644 --- a/docs/_templates/layout.html +++ b/docs/_templates/layout.html @@ -21,7 +21,7 @@