Skip to main content

Stimulsoft Reports.PYTHON

A powerful and modern reporting tool for Python services.

About the product

Stimulsoft Reports.PYTHON comprises a set of components for creating, viewing, exporting, and printing reports in applications and projects written in Python. The product supports connections of multiple data types, allowing you to work with reports on the server- and client-sides, and also offers extensive capabilities for data visualization and analysis.

Stimulsoft Reports.PYTHON is based on client-server technology: a Python application on the server-side and a JavaScript reporting engine on the client-side. These two parts are closely related and represent a single product that greatly simplifies working with reports in web applications written in Python.

Install reporting components

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

python -m pip install stimulsoft-reports

Working with report generator

Report Engine

The StiReport component is designed to work with the report generator in a Web project. Using this component, you can create a report, load a report from a file or string, render a report, and call a report 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 report from a file, render it, 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/SimpleList.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>Render and Export a Report</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 reports in a browser window. The viewer can display it as a report template, as an already built report. 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='reports/SimpleList.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 Report 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='reports/SimpleList.mrt'))
    viewer.report = report

    return viewer.getFrameworkResponse()

More details in our documentation.

Reports Designer

The StiDesigner component is designed for developing reports 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='reports/SimpleList.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 Report 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='reports/SimpleList.mrt'))
    designer.report = report

    return designer.getFrameworkResponse()

More details in our documentation.

Useful links

Download files

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

Source Distribution

stimulsoft_reports-2026.3.3.tar.gz (33.9 MB view details)

Uploaded Source

Built Distribution

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

stimulsoft_reports-2026.3.3-py3-none-any.whl (34.1 MB view details)

Uploaded Python 3

File details

Details for the file stimulsoft_reports-2026.3.3.tar.gz.

File metadata

  • Download URL: stimulsoft_reports-2026.3.3.tar.gz
  • Upload date:
  • Size: 33.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for stimulsoft_reports-2026.3.3.tar.gz
Algorithm Hash digest
SHA256 59c5b7951f404f0d28129a129a72fc470c4a4c29412e376dd8f9ad68da5bbf83
MD5 be0e236c65550ab00c278c32be07ec21
BLAKE2b-256 35f0f891131a57d130279ca811a1cbfbd6cd852d895194f8c4fd3a272760f5af

See more details on using hashes here.

File details

Details for the file stimulsoft_reports-2026.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for stimulsoft_reports-2026.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1bb37630f8d731f7e65d3db333eb036099138e5e393404652591ddf4b77aaac0
MD5 60cc5f0bda89bdba539cf60e48907a92
BLAKE2b-256 4e31b2a281cbf07d5cf02ea69ab0602e271f8369a157a9d5f1312efc24576302

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2026.3.3 This release

2 files

2026.3.2

2 files

2026.3.1

2 files

2026.2.4

2 files

2026.2.3

2 files

2026.2.2

2 files

2026.2.1

2 files

2026.1.7

2 files

2026.1.6

2 files

2026.1.5

2 files

2026.1.4

2 files

2026.1.3

2 files

2026.1.2

2 files

2026.1.1

2 files

2025.4.3

2 files

2025.4.2

2 files

2025.4.1

2 files

2025.3.5

2 files

2025.3.4

2 files

2025.3.3

2 files

2025.3.2

2 files

2025.3.1

2 files

2025.2.5

2 files

2025.2.4

2 files

2025.2.3

2 files

2025.2.2

2 files

2025.2.1

2 files

2025.1.6

2 files

2025.1.5

2 files

2025.1.4

2 files

2025.1.3

2 files

2025.1.2

2 files

2025.1.1

2 files

2024.4.5

2 files

2024.4.4

2 files

2024.4.3

2 files

2024.4.2

2 files

2024.4.1

2 files

2024.3.6

2 files

2024.3.5

2 files

2024.3.4

2 files

2024.3.3

2 files

2024.3.2

2 files

2024.3.1

2 files

2024.2.6

2 files

2024.2.5

2 files

2024.2.4

2 files

2024.2.3

2 files

2024.2.2

2 files

2024.2.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page