Git Product home page Git Product logo

rework-space-com / superset Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/superset

0.0 0.0 0.0 477.67 MB

Apache Superset is a Data Visualization and Data Exploration Platform

Home Page: https://superset.apache.org/

License: Apache License 2.0

Shell 0.26% JavaScript 9.27% Python 32.11% TypeScript 39.27% CSS 0.02% Makefile 0.02% HTML 5.33% Smarty 0.02% Mako 0.01% Jupyter Notebook 13.31% Dockerfile 0.03% Pug 0.01% Less 0.24% Jinja 0.02% MDX 0.07%

superset's Introduction

Superset

License GitHub release (latest SemVer) Build Status PyPI version Coverage Status PyPI Get on Slack Documentation

Superset logo (light)

A modern, enterprise-ready business intelligence web application.

Why Superset? | Supported Databases | Installation and Configuration | Release Notes | Get Involved | Contributor Guide | Resources | Organizations Using Superset

Why Superset?

Superset is a modern data exploration and data visualization platform. Superset can replace or augment proprietary business intelligence tools for many teams. Superset integrates well with a variety of data sources.

Superset provides:

  • A no-code interface for building charts quickly
  • A powerful, web-based SQL Editor for advanced querying
  • A lightweight semantic layer for quickly defining custom dimensions and metrics
  • Out of the box support for nearly any SQL database or data engine
  • A wide array of beautiful visualizations to showcase your data, ranging from simple bar charts to geospatial visualizations
  • Lightweight, configurable caching layer to help ease database load
  • Highly extensible security roles and authentication options
  • An API for programmatic customization
  • A cloud-native architecture designed from the ground up for scale

Screenshots & Gifs

Video Overview

Superset.Overview.Video.1080.mp4

Large Gallery of Visualizations


Craft Beautiful, Dynamic Dashboards


No-Code Chart Builder


Powerful SQL Editor


Supported Databases

Superset can query data from any SQL-speaking datastore or data engine (Presto, Trino, Athena, and more) that has a Python DB-API driver and a SQLAlchemy dialect.

Here are some of the major database solutions that are supported:

redshift google-biquery snowflake trino presto databricks druid firebolt timescale rockset postgresql mysql mssql-server db2 sqlite sybase mariadb vertica oracle firebird greenplum clickhouse exasol monet-db apache-kylin hologres netezza pinot teradata yugabyte databend starrocks doris

A more comprehensive list of supported databases along with the configuration instructions can be found here.

Want to add support for your datastore or data engine? Read more here about the technical requirements.

Installation and Configuration

Extended documentation for Superset

Get Involved

Contributor Guide

Interested in contributing? Check out our CONTRIBUTING.md to find resources around contributing along with a detailed guide on how to set up a development environment.

Resources

  • Superset "In the Wild" - open a PR to add your org to the list!
  • Feature Flags - the status of Superset's Feature Flags.
  • Standard Roles - How RBAC permissions map to roles.
  • Superset Wiki - Tons of additional community resources: best practices, community content and other information.
  • Superset SIPs - The status of Superset's SIPs (Superset Improvement Proposals) for both consensus and implementation status.

Superset 2.0!

Understanding the Superset Points of View

superset's People

Contributors

mistercrunch avatar kristw avatar villebro avatar betodealmeida avatar john-bodley avatar michael-s-molina avatar kgabryje avatar dpgaspar avatar ktmud avatar dependabot[bot] avatar zhaoyongjie avatar rusackas avatar hughhhh avatar dependabot-preview[bot] avatar geido avatar pkdotson avatar eschutho avatar nytai avatar suddjian avatar bkyryliuk avatar stephenlyz avatar vera-liu avatar aafghahi avatar justinpark avatar lilykuang avatar williaster avatar michellethomas avatar lyndsiwilliams avatar diegomedina248 avatar timifasubaa avatar

superset's Issues

Hybrid connection (On Cloud Solutions and default SQLAlquemy interface)

SIP-1: Adding Custom Icons to the Database Connection Form (For MySQL Database)

Abstract

The goal is to enhance the user interface of the database connection form by adding custom icons for MySQL databases.

Motivation

The current database connection form lacks visual cues that can improve user experience. By duplicating icons from the given URL and the [+Database] in STEP 1, we can make the form more intuitive and user-friendly.

Proposed Change

Implement the following steps:

Backend

  1. Implement a new database engine and make the database available at the /available/ endpoint. This involves creating a new class in the db_engine_specs module that defines the behavior of the new engine.

Configuration

  1. Adjust the superset_text.yml file accordingly for each custom type of MySQL database. This file contains the display text for various parts of the Superset application.

Frontend

  1. Generate a custom dynamic form in STEP 2 based on a remote type database engine that was selected in STEP 1. Add an extra list of radio buttons. This involves modifying the form generation logic to include the new engine and its associated form fields.

SIP-2: Replicating the Superset Frontend Logic to Generate Dynamic Forms

Abstract

The aim is to replicate the Superset frontend logic to generate dynamic forms to connect to external API resources (On Cloud with username/password).

Motivation

This change will allow Superset to connect to a wider range of data sources, increasing its versatility and usefulness.

Proposed Change

Implement the following steps:

Frontend

  1. Make modifications to setDatabaseModal to include the new custom engines and set db state to this. This involves modifying the state management logic to include the new engines.

  2. Use db to generate the custom dynamic form instead of SQLAlchemy. This involves changing the form generation logic to use the new db object.

Backend

  1. Make an API request to a new custom endpoint on the backend with the username/password that will run a custom python script to pull the data into Superset. This involves creating a new API endpoint and a Python script that fetches data from the external API.

References

Superset-customization branch

Task1 and Task2

Description

Task 1: Replicate Superset Frontend Login To Generate Dynamic Forms
To connect to external API resources
Task 2: Adding Custom Icons to Database Form
To enhance user interface of the database connection form by adding custom icons for MySQL databases

Commit: 9603e9c
apache@9603e9c
Branch: cjj20:photoanddata

Task 1:
-Installed the database driver for rockset api: pip install rockset-sqlalchemy
-login to apache superset
-click database
-click supported databases, then click other
-in the SQLALCHEMY URI section, enter the connection string for rockset:
rockset://{slzXRHem1lebeo13tDp9LqaeItDIJ201GWOhjcrbWelAQTxmHntftKWfntmvfwS5}:@{api.use1a1.rockset.com}
-Use this as guide for other connection string formats for other APIs: https://superset.apache.org/docs/databases/installing-database-drivers/
-click test connection, then connect

Task 2:
-Added a link to the MySQL image in the superset_text.yml file : mysql.jpg
-superset/superset/config.py contained a section referring to the 'preferred_databases'. MySQL already mentioned in that part so no need to add it in
-go to database page, then to Connect a Database form
enter parameters such as: localhost, host, database name
-click connect
-restart (run dev-server)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.