Skip to main content

Data visualization in Python applications.

Project description

Stimulsoft Dashboards.PYTHON

Data visualization in Python applications.

About the product

Stimulsoft Dashboards.PYTHON is a fast and powerful tool for creating analytical dashboards in services and projects written in Python. The product includes a JavaScript data processing engine, a designer component for creating dashboards, and a fully interactive viewer for viewing ready-made dashboards on the screen of any device.

Stimulsoft Dashboards.PYTHON is a client-server system wherein a JavaScript component operates on the client side, and a Python server is responsible for data processing. These two parts are closely related and represent a single product that greatly simplifies working with dashboards in web applications written in Python.

Install dashboard components

To install the Stimulsoft Dashboards.PYTHON, you can use the specified command:

python -m pip install stimulsoft-dashboards

Working with data analysis tool

Dashboard Engine

The StiReport component is designed to work with the dashboard engine in a Web project. Using this component, you can create a dashboard, load a dashboard from a file or string, and call a dashboard export function.

For simplicity, all code examples in this tutorial use the Flask framework (any other can be used).

The code example shows how you can load a dashboard from a file, and export it to HTML format:

app.py

from flask import Flask, render_template, url_for, request
from stimulsoft_reports.report import StiReport
from stimulsoft_reports.report.enums import StiExportFormat

app = Flask(__name__)

@app.route('/report', methods = ['GET', 'POST'])
def report():
    report = StiReport()
    if report.processRequest(request):
        return report.getFrameworkResponse()

    report.loadFile(url_for('static', filename='reports/Financial.mrt'))
    report.render()
    report.exportDocument(StiExportFormat.HTML)

    js = report.javascript.getHtml()
    html = report.getHtml()
    return render_template('report.html', reportJavaScript = js, reportHtml = html)

report.html

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Load and Export a Dashboard</title>

    {{ reportJavaScript|safe }}
</head>

<body>
    {{ reportHtml|safe }}
</body>

</html>

More details in our documentation.

Report Viewer

The StiViewer component is designed for viewing, printing and exporting dashboards in a browser window. Full support for working with interactive dashboards has been implemented. Using this component, you can create a viewer object, set the necessary options, process the request and return the result of its execution, and receive the prepared JavaScript and HTML code of the component.

An example of displaying a viewer on an HTML page:

app.py

from flask import Flask, render_template, url_for, request
from stimulsoft_reports.viewer import StiViewer

app = Flask(__name__)

@app.route('/viewer', methods = ['GET', 'POST'])
def viewer():
    viewer = StiViewer()
    viewer.options.appearance.fullScreenMode = True

    if viewer.processRequest(request):
        return viewer.getFrameworkResponse()

    report = StiReport()
    report.loadFile(url_for('static', filename='dashboards/Financial.mrt'))
    viewer.report = report

    js = viewer.javascript.getHtml()
    html = viewer.getHtml()
    return render_template('viewer.html', viewerJavaScript = js, viewerHtml = html)

viewer.html

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Showing a Dashboard in the Viewer</title>

    {{ viewerJavaScript|safe }}
</head>

<body>
    {{ viewerHtml|safe }}
</body>

</html>

There is a simplified deployment of the viewer without using an HTML page template. For example, this same example can be implemented using only Python code:

app.py

from flask import Flask, url_for, request
from stimulsoft_reports.viewer import StiViewer

app = Flask(__name__)

@app.route('/viewer', methods = ['GET', 'POST'])
def viewer():
    viewer = StiViewer()
    viewer.options.appearance.fullScreenMode = True

    if viewer.processRequest(request):
        return viewer.getFrameworkResponse()

    report = StiReport()
    report.loadFile(url_for('static', filename='dashboards/Financial.mrt'))
    viewer.report = report

    return viewer.getFrameworkResponse()

More details in our documentation.

Reports Designer

The StiDesigner component is designed for developing dashboards in a browser window. The designer's interface is built using HTML5, which allows it to be used on almost any modern platform and different operating systems. JavaScript technology used to build reports allows you to use almost any low-performance server side.

An example of displaying a designer on an HTML page:

app.py

from flask import Flask, render_template, url_for, request
from stimulsoft_reports.designer import StiDesigner

app = Flask(__name__)

@app.route('/designer', methods = ['GET', 'POST'])
def designer():
    designer = StiDesigner()
    designer.options.appearance.fullScreenMode = True

    if designer.processRequest(request):
        return designer.getFrameworkResponse()

    report = StiReport()
    report.loadFile(url_for('static', filename='dashboards/Financial.mrt'))
    designer.report = report

    js = designer.javascript.getHtml()
    html = designer.getHtml()
    return render_template(designer.html', designerJavaScript = js, designerHtml = html)

designer.html

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Editing a Dashboard Template in the Designer</title>

    {{ designerJavaScript|safe }}
</head>

<body>
    {{ designerHtml|safe }}
</body>

</html>

There is a simplified deployment of the designer without using an HTML page template. For example, this same example can be implemented using only Python code:

app.py

from flask import Flask, url_for, request
from stimulsoft_reports.designer import StiDesigner

app = Flask(__name__)

@app.route('/designer', methods = ['GET', 'POST'])
def designer():
    designer = StiDesigner()
    designer.options.appearance.fullScreenMode = True

    if designer.processRequest(request):
        return designer.getFrameworkResponse()

    report = StiReport()
    report.loadFile(url_for('static', filename='dashboards/Financial.mrt'))
    designer.report = report

    return designer.getFrameworkResponse()

More details in our documentation.

Useful links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stimulsoft_dashboards-2025.1.1.tar.gz (390.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stimulsoft_dashboards-2025.1.1-py3-none-any.whl (393.2 kB view details)

Uploaded Python 3

File details

Details for the file stimulsoft_dashboards-2025.1.1.tar.gz.

File metadata

  • Download URL: stimulsoft_dashboards-2025.1.1.tar.gz
  • Upload date:
  • Size: 390.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.11

File hashes

Hashes for stimulsoft_dashboards-2025.1.1.tar.gz
Algorithm Hash digest
SHA256 f1fd6c8469851a6175b62263db2ae48482e4a30e9e943671d2223006de7050ee
MD5 2119a0a508d0fa793acbc47580f0933d
BLAKE2b-256 05ee70c0d3571db8603ed800980c9aac820f65f8bd23a5b873123365d53538b6

See more details on using hashes here.

File details

Details for the file stimulsoft_dashboards-2025.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for stimulsoft_dashboards-2025.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4a111e30a3a3c5576429b405d00eef1853c7dbb9d64ceadfa868f93f891e9dfc
MD5 71f4f964eafc5006fcef2124aa7ac4f0
BLAKE2b-256 d1cf44c29cb49d4b284fd6034ce8b165c1c102dcabee14d74d61ae649e91bd0c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page