Language SDKs

Use Majorsilence Reporting
from any language

Python, PHP, and Ruby wrappers let you render RDL reports into PDF, Excel, CSV, HTML, and more — without writing any .NET code. Each language ships three integration modes to match your deployment constraints.


Integration modes

Every language binding ships three classes that cover different deployment scenarios:

Mode How it works When to use
Report Launches dotnet RdlCmd.dll as a child process via the system shell. Requires the .NET runtime to be installed on the server. Simplest setup — good for development or when .NET is already on the box.
ReportAot Launches a self-contained AOT-compiled binary (RdlCmd). No .NET runtime required at all — the binary includes everything. Production deployments where you can't install the .NET runtime. Copy the binary alongside your app.
ReportNative Loads librdlnative.so in-process via native FFI (ctypes / PHP FFI / Fiddle). No child process spawned. Lowest latency, highest throughput. Required for in-memory rendering without writing temp files (Python only currently).

Feature comparison

FeaturePythonPHPRubyRust
Min language version3.10+8.1+3.0+1.65+
Package managerpipComposerno gem yetno crate yet
Runtime dependenciesnonenonenonelibloading
subprocess (dotnet) mode
AOT binary mode
Native FFI mode✓ only
add_data() in-memory datasetsnative onlynative onlynative only
True in-memory buffer (no temp file)✓ native
Thread-safe library handleArc-backed
xlsx_table, tifb, mht formatsAOT + nativeAOT + nativeAOT + nativeall modes

Supported export formats

All three language bindings support the same core format strings passed to export() / export_to_memory():

Format stringOutputAvailable in
pdfPDFAll modes
csvCSV textAll modes
xlsxExcel workbookAll modes
xmlXML dataAll modes
rtfRich Text FormatAll modes
tifTIFF image (colour)All modes
htmlHTMLAll modes
xlsx_tableExcel (table style)AOT + Native only (Python/PHP/Ruby); all modes (Rust)
tifbTIFF image (black & white)AOT + Native only (Python/PHP/Ruby); all modes (Rust)
mhtMHTML web archiveAOT + Native only (Python/PHP/Ruby); all modes (Rust)