turbo-xlsx-rs (Python)
Native workbook-model-to-XLSX writer — a PyO3 binding over the
turbo-xlsx Rust core. Turn a structured workbook into a formatted .xlsx
(OOXML SpreadsheetML, OPC-zipped). Country-agnostic: locale and ISO-4217 currency
code are inputs, never hardcoded.
Install
pip install turbo-xlsx-rs # lean writer
pip install turbo-xlsx-rs-parse # writer + XLSX reader (adds parse())
The PyPI distribution is turbo-xlsx-rs (PyPI rejects turbo-xlsx as too
close to the existing turboxlsx); the import name stays turbo_xlsx either
way. The -parse wheel adds an .xlsx reader — pick whichever variant you need.
import turbo_xlsx as x
wb = {
"sheets": [
{
"name": "Pay",
"rows": [
{"cells": [
{"type": "string", "value": "Alice"},
{"type": "currency", "value": 123456,
"currency": {"code": "MXN", "locale": "es-MX"}},
]}
],
}
]
}
data = x.write(wb) # -> bytes, starts with b"PK" (xlsx is a zip)
assert data.startswith(b"PK")
API
write(workbook, opts=None) -> bytes— one-shot from a workbook dict.write_full(workbook, opts=None) -> (bytes, list)— also returns lint diagnostics.write_from_json(input, opts=None) -> bytes—inputis a JSON string or value.write_rows(input, opts=None) -> bytes— fast-path: one sheet from typed columns + rows ({sheetName?, locale?, columns?, rows}).create_writer(opts=None) -> WorkbookWriter/WorkbookWriter(locale=None, opts=None)— row-by-row streaming:start_sheet,write_row,end_sheet,finish() -> (bytes, list).parse(data, format=None, sheet=None, typed=False) -> str—turbo-xlsx-rs-parsewheel only. Read an.xlsx(incl. DEFLATE-compressed) into JSON (values grid ortyped=Truemodel),format="csv", orformat="md". ~10× faster than openpyxl at reading, cell-for-cell verified against it.
opts is an optional dict {meta: {title, author, subject, company}, locale?, password?}. Setting password encrypts the output with ECMA-376 Agile Encryption
(AES-256) — x.write(wb, {"password": "s3cret"}) — which Excel/LibreOffice open
with that password.
Fatal validate/write faults raise TurboXlsxError (with .code and .message).
Non-fatal lints are returned, never raised.
Metadata
Release files for turbo-xlsx-rs 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| turbo_xlsx_rs-0.1.3.tar.gz | 84.2 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| turbo_xlsx_rs-0.1.3-cp38-abi3-win_amd64.whl | CPython 3.8 | abi3 | Windows x86-64 | Details |
| turbo_xlsx_rs-0.1.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| turbo_xlsx_rs-0.1.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| turbo_xlsx_rs-0.1.3-cp38-abi3-macosx_11_0_arm64.whl | CPython 3.8 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 2.7 MB
Release files / turbo_xlsx_rs-0.1.3.tar.gz
| Download URL | turbo_xlsx_rs-0.1.3.tar.gz |
|---|---|
| Size | 84.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db738204dd8b1cac0c6dd3d8bc640261c39e314cf245559fd3db091142702c7f
|
|
BLAKE2b-256 checksum How to use checksums |
4f2da58d993b1e6a056d876054775793593026dd811182c19b337bad06a18fa1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / turbo_xlsx_rs-0.1.3-cp38-abi3-win_amd64.whl
| Download URL | turbo_xlsx_rs-0.1.3-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 601.4 kB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
2c0b2cbd1dc28c7d25b7323e2460d3780096bf29fae283debb5de826df63a98d
|
|
BLAKE2b-256 checksum How to use checksums |
991b8d50078133a4c8a1354b841af23346c96bb6f9f2e0eaf802cf5a345751f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / turbo_xlsx_rs-0.1.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | turbo_xlsx_rs-0.1.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 722.4 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
4654bbed22deadc3bb2b3480ffe0e9858887a6687bdea1973bce6ff7534b1f89
|
|
BLAKE2b-256 checksum How to use checksums |
ddade57680177a99574bfca27a2e46e66848e8298630b346ccf419842035dc29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / turbo_xlsx_rs-0.1.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | turbo_xlsx_rs-0.1.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 690.6 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
c5a88468acb85cc1d855bf45d62f8734591cd896de19c05e8e9cded1e6dcdeaf
|
|
BLAKE2b-256 checksum How to use checksums |
77c7063845966f6921e658d42f1666d5eb7db175a78d8e4616734d1f9a53d048
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|
Release files / turbo_xlsx_rs-0.1.3-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | turbo_xlsx_rs-0.1.3-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 645.2 kB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
81d61dd0197c327630e9860169cd708a19f86b5f64a1a6c83f6cb74d52eb294a
|
|
BLAKE2b-256 checksum How to use checksums |
7df64c7955d834b9e62aaab25ffe8f21b5e423e5ec21f2f708f637ed68cdab1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.14.1
|