High-performance .xlsx reader/writer (C extension)
Project description
openexcel
A high-performance Python library for reading and writing .xlsx files, implemented as a C extension. Designed as a drop-in accelerator for workloads where openpyxl is too slow.
Why
openpyxl is pure Python. For large files (100k+ rows), the bottlenecks are ZIP extraction, XML parsing, and per-cell object allocation — all done in the Python interpreter. openexcel moves these to C:
- Streaming SAX parsing via libexpat — never loads the full XML into memory
- Flat sorted cell array — O(1) append during parse, O(1) sequential iteration
- GIL released during read and write — other threads run freely
- Vendored miniz — no external ZIP dependency
Benchmarked against openpyxl on mixed workloads (integers, floats, booleans, dates, strings):
| Rows | Write speedup | Read speedup |
|---|---|---|
| 1,000 | 8.5× | 5.3× |
| 10,000 | 8.8× | 5.2× |
| 50,000 | 8.1× | 5.3× |
| 100,000 | 8.0× | 5.3× |
| 250,000 | 7.8× | 5.4× |
~8× faster writes, ~5× faster reads across all sizes tested.
Installation
pip install openexcel-c
Pre-built wheels are available for macOS (arm64, x86_64) and Linux (x86_64, aarch64) for Python 3.10–3.13.
Building from source
You need CMake ≥ 3.20, a C11 compiler, and libexpat development headers.
# macOS
brew install expat cmake
# Ubuntu/Debian
sudo apt-get install libexpat1-dev cmake
pip install openexcel-c --no-binary openexcel-c
Usage
Reading
import openexcel
wb = openexcel.load_workbook("data.xlsx")
ws = wb.active # first sheet
# Iterate rows — returns tuples of Python values
for row in ws.iter_rows():
print(row) # e.g. (1, "hello", 3.14, True, datetime.date(2024, 6, 1))
# Slice a range
for row in ws.iter_rows(min_row=2, max_row=100, min_col=1, max_col=5):
print(row)
Cell objects
# Single cell by A1 notation
cell = ws["A1"]
print(cell.value, cell.row, cell.column, cell.coordinate) # 42, 1, 1, "A1"
# Single cell by row/column
cell = ws.cell(row=1, column=1)
# Range — returns tuple of tuples of Cell objects
cells = ws["A1:C3"]
# Set a value
cell.value = "hello"
cell.value = 3.14
cell.value = datetime.date(2024, 6, 1)
Cell values map to Python types:
| Excel type | Python type |
|---|---|
| Number | float |
| String | str |
| Boolean | bool |
| Date / datetime | datetime.date / datetime.datetime |
| Formula | str (e.g. "=SUM(A1:A10)") |
| Empty | None |
| Error | str (e.g. "#DIV/0!") |
Writing
import openexcel
import datetime
wb = openexcel.Workbook()
ws = wb.create_sheet("Sheet1")
ws.append(["Name", "Score", "Date"])
ws.append(["Alice", 98.5, datetime.date(2024, 6, 1)])
ws.append(["Bob", 72.0, datetime.date(2024, 6, 2)])
wb.save("output.xlsx")
Number formats
cell = ws["A1"]
cell.value = 0.1234
cell.number_format = "0.00%" # displays as 12.34%
cell2 = ws["B1"]
cell2.value = 1234567.89
cell2.number_format = "#,##0.00"
# Read back the format string after loading
wb2 = openexcel.load_workbook("output.xlsx")
print(wb2[0]["A1"].number_format) # "0.00%"
All built-in Excel format IDs (0–49) are recognized by format string. Custom format strings are assigned IDs starting at 164 and are round-tripped correctly.
Formulas
ws["A1"].value = 10
ws["A2"].value = 20
ws["A3"].value = "=SUM(A1:A2)" # leading "=" marks a formula
# After save/load:
cell = wb2[0]["A3"]
print(cell.value) # "=SUM(A1:A2)"
print(cell.data_type) # "f"
Formulas are stored and round-tripped as strings. openexcel does not evaluate formulas — cached values from the original file are not preserved (matching openpyxl's default data_only=False behavior).
Sheet formatting
# Column and row dimensions
ws.set_column_width("A", 20) # or set_column_width(1, 20)
ws.set_row_height(1, 30)
# Merged cells
ws.merge_cells("A1:C3")
ws.unmerge_cells("A1:C3")
print(ws.merged_cells) # list of merged ranges
# Freeze panes
ws.freeze_panes = "B2" # freeze row 1 and column A
ws.freeze_panes = None # unfreeze
# Sheet view
ws.zoom_scale = 75
ws.show_gridlines = False
ws.tab_color = "FF0000" # RRGGBB hex string
# Auto-filter
ws.auto_filter_ref = "A1:D1"
Named ranges
wb.add_defined_name("MyRange", "Sheet1!$A$1:$C$10")
print(wb.defined_names) # {"MyRange": "Sheet1!$A$1:$C$10"}
Multiple sheets
wb = openexcel.load_workbook("multi.xlsx")
# By index
ws = wb[0]
# By name
ws = wb["Summary"]
# Iterate all sheets
for ws in wb:
print(ws.title, ws.max_row, ws.max_column)
Context manager
with openexcel.load_workbook("data.xlsx") as wb:
ws = wb.active
data = [row for row in ws.iter_rows()]
API reference
openexcel.load_workbook(path: str) -> Workbook
Open an existing .xlsx file. Parses the entire file on load; subsequent access is from memory.
openexcel.Workbook()
Create a new empty workbook.
Workbook
| Member | Description |
|---|---|
.active |
First sheet |
[0] / ["Name"] |
Sheet by index or name |
.create_sheet(name) |
Add a new sheet |
.save(path) |
Write to .xlsx. GIL released during write. |
.add_defined_name(name, value) |
Add a named range |
.defined_names |
Dict of all named ranges |
Worksheet
| Member | Description |
|---|---|
.title |
Sheet name |
.max_row / .max_column |
Dimensions |
.append(row) |
Append a row of values |
.iter_rows(min_row, max_row, min_col, max_col) |
Iterate rows as value tuples |
["A1"] |
Get Cell by A1 notation |
["A1:C3"] |
Get range as tuple-of-tuples of Cell |
.cell(row, column) |
Get Cell by 1-based row/col |
.merge_cells(range_str) |
Merge a cell range |
.unmerge_cells(range_str) |
Remove a merge |
.merged_cells |
List of merged ranges |
.set_column_width(col, width) |
Set column width in character units |
.set_row_height(row, height) |
Set row height in points |
.freeze_panes |
Get/set freeze pane cell (e.g. "B2") or None |
.zoom_scale |
Get/set zoom percentage (e.g. 75) |
.show_gridlines |
Get/set gridline visibility |
.tab_color |
Get/set tab color as RRGGBB hex string |
.auto_filter_ref |
Get/set auto-filter range |
Cell
| Member | Description |
|---|---|
.value |
Get/set cell value |
.number_format |
Get/set format string (e.g. "0.00%") |
.row |
Row number (1-based) |
.column |
Column number (1-based) |
.coordinate |
A1-style coordinate string |
.column_letter |
Column letter string |
.data_type |
"n" number, "s" string, "b" bool, "d" date, "f" formula, "e" error |
Differences from openpyxl
| Feature | openexcel | openpyxl |
|---|---|---|
| Read speed | ~5× faster (C, SAX) | Baseline |
| Write speed | ~8× faster (C, buffer) | Baseline |
| Cell objects | Cell with value, format, coordinate, data_type |
Full Cell |
| Number formats | Read/write format strings | Full format API |
| Formulas | Read/write formula strings (no evaluation) | Read/write formula strings |
| Merged cells | Supported | Supported |
| Named ranges | Supported | Supported |
| Freeze panes / zoom | Supported | Supported |
| Column/row dimensions | Supported | Supported |
| Font / fill / border | Not yet supported | Full style API |
| Conditional formatting | Not yet supported | Supported |
| Charts / images | Not yet supported | Supported |
| Data validation | Not yet supported | Supported |
| Comments | Not yet supported | Supported |
License
MIT — see LICENSE.
Vendored dependencies:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openexcel_c-0.1.3.tar.gz.
File metadata
- Download URL: openexcel_c-0.1.3.tar.gz
- Upload date:
- Size: 137.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26c5a9feca5a70a9d08563c8ad4382d03fca0c6a6518dae70c7f709866043462
|
|
| MD5 |
fe27d1bb001045e0e02d4c8e92275235
|
|
| BLAKE2b-256 |
c2d655d02b66ee3ee0231b56d755c78ae6f6f8b5c54abf5cabad8195d6b66871
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3.tar.gz:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3.tar.gz -
Subject digest:
26c5a9feca5a70a9d08563c8ad4382d03fca0c6a6518dae70c7f709866043462 - Sigstore transparency entry: 2003030759
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 88.5 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
049bbf122535d27377dbbbb14890f605ebb66f4acedf26ffeff68f6014f55e81
|
|
| MD5 |
7ea91a67a6d5cc1b88e0ff911c3eb3cf
|
|
| BLAKE2b-256 |
05ee9f4d76e0563e7d1d7f73887ac924ee1204eb04592a42799aee45a73fdd66
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
049bbf122535d27377dbbbb14890f605ebb66f4acedf26ffeff68f6014f55e81 - Sigstore transparency entry: 2003031657
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 89.6 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60e8edff3312c27a0fac77220c4b5ca0618d5126ba734e3e8be0d1c59175f2fa
|
|
| MD5 |
f18bc815e93fcf027cc356142714c40b
|
|
| BLAKE2b-256 |
c499e9a499c03398329133d4844750728fc64cfea662b45247f61c79bf2746b6
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
60e8edff3312c27a0fac77220c4b5ca0618d5126ba734e3e8be0d1c59175f2fa - Sigstore transparency entry: 2003030991
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 76.2 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc959505cd1e878bb4b262bce9d7b27ad3f14904293706347009786440de98e2
|
|
| MD5 |
bbdce357f1a2d8fb1bc6041159a14a93
|
|
| BLAKE2b-256 |
12b320c3af6af9e7cb351dbbe38a4ff160c1be5676ecf7e35ca92ca2b9679d19
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
cc959505cd1e878bb4b262bce9d7b27ad3f14904293706347009786440de98e2 - Sigstore transparency entry: 2003031520
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 79.5 kB
- Tags: CPython 3.13, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2a60be417c1d2494f9c8cc09a4aff9f820163200f9209df099efe21729289d1
|
|
| MD5 |
6b3e0b72790d5ea5105cebdd8b26a239
|
|
| BLAKE2b-256 |
9bd119a161338b45fd1ca196c410dc4a8aafff885607f656ea3efa8e6c8661b9
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp313-cp313-macosx_10_13_x86_64.whl -
Subject digest:
b2a60be417c1d2494f9c8cc09a4aff9f820163200f9209df099efe21729289d1 - Sigstore transparency entry: 2003032480
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 88.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb6fba7c05d535bad998d6e3e9611a4dc7f8d6f05e0ddbe95acde0b82216d6db
|
|
| MD5 |
b793a576c0e250af10a42fe412ca5ce9
|
|
| BLAKE2b-256 |
e3a9a9bd145e38fa28bb1d81e353d6e5a148da3d8aba09d4d99f3347b7c42b8b
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
fb6fba7c05d535bad998d6e3e9611a4dc7f8d6f05e0ddbe95acde0b82216d6db - Sigstore transparency entry: 2003033157
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 89.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9387baf28c370e1f62718fab99e58fd7083f25397396392ad9b011420a794bb5
|
|
| MD5 |
6949d6222582f1d5040515cc4b43b76a
|
|
| BLAKE2b-256 |
fdaa6d0fb2a42c976adfbedf56286e784682e5f4d06936ff716d800d28058067
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
9387baf28c370e1f62718fab99e58fd7083f25397396392ad9b011420a794bb5 - Sigstore transparency entry: 2003033382
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 76.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4af4d5a4761fccda9ec348295bb8481d6e3246284ad9e7bed98614071804b37e
|
|
| MD5 |
098fb62b2b6e3a862353d0d991fb9d2e
|
|
| BLAKE2b-256 |
127445762fce7982950a9b276f99fb84b29783b64fa243ddc4c97b5f94504e97
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
4af4d5a4761fccda9ec348295bb8481d6e3246284ad9e7bed98614071804b37e - Sigstore transparency entry: 2003032178
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 79.5 kB
- Tags: CPython 3.12, macOS 10.13+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42d6958fa6c7078581b7b4a47d7cf992330b5dde5f1cac057cba01dcb0eaf17e
|
|
| MD5 |
c27a8a9bd524b6aa26c975a5e4be3275
|
|
| BLAKE2b-256 |
9bf71b0ea101051e755b695bbaaf34b61133d3a3344274330251bb53a78a4b26
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp312-cp312-macosx_10_13_x86_64.whl -
Subject digest:
42d6958fa6c7078581b7b4a47d7cf992330b5dde5f1cac057cba01dcb0eaf17e - Sigstore transparency entry: 2003032968
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 88.4 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc430bb0e087b723215f17f18a90b73dec0569382904bfa3746c52aab4c71e59
|
|
| MD5 |
07ab656f6f7acff2f0e2780dda3e4306
|
|
| BLAKE2b-256 |
173dcd85ae9ed36719f312280c84e0a908caf3ceaecc2dfdfc8196a767ceacba
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
bc430bb0e087b723215f17f18a90b73dec0569382904bfa3746c52aab4c71e59 - Sigstore transparency entry: 2003031330
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 89.5 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a1aed5cc01103cb31eaf2ed3edfb8d3e6a4f53e80868d943fa6318cef9a3168
|
|
| MD5 |
b95d9d20b0ea6629e48729df04d3af5a
|
|
| BLAKE2b-256 |
975043941655ab987b9069aa9c517b402a45b2cf2c0c5f08757e1e8e57d7ab21
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
5a1aed5cc01103cb31eaf2ed3edfb8d3e6a4f53e80868d943fa6318cef9a3168 - Sigstore transparency entry: 2003032769
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 76.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
108c02571ffeb202669f5f3a8a0152a39e1740158733bcd7ce47b8f8b93ec120
|
|
| MD5 |
d796da2f6fc4e6530037d3d51b27a9f8
|
|
| BLAKE2b-256 |
d684dd28d96681de3d4dede3d40a4761208afe4f2dcfc87fd8c6120b19c35f1e
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
108c02571ffeb202669f5f3a8a0152a39e1740158733bcd7ce47b8f8b93ec120 - Sigstore transparency entry: 2003031952
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 79.3 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d574030aefca3a138d0918d682760acce8f1b4f75991c9d949df536c8e24b99
|
|
| MD5 |
aacb73f9bc9204a679b06567b82937e8
|
|
| BLAKE2b-256 |
a1a4e1d531dc4606e145dc6edd7722202768829907bca641b4c4102c67c15542
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp311-cp311-macosx_10_9_x86_64.whl -
Subject digest:
8d574030aefca3a138d0918d682760acce8f1b4f75991c9d949df536c8e24b99 - Sigstore transparency entry: 2003032658
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 88.4 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fba6e676f2038ddc6cd306a382030c87f401737be559f804a242cb615b7806cb
|
|
| MD5 |
adec07216d7d5531654c163319cb5b58
|
|
| BLAKE2b-256 |
2d7d4c555892ec0e8aebc7c00c2242bf941d6b524b11d5b4917c9b4ab2338344
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
fba6e676f2038ddc6cd306a382030c87f401737be559f804a242cb615b7806cb - Sigstore transparency entry: 2003033279
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 89.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e41a11a0a125a74e0b9cbd0af0ef754281e43c4e694e727764798fe6d703eaf
|
|
| MD5 |
ba6ec12a2ce9c1a2d3286b93baece4b5
|
|
| BLAKE2b-256 |
f5f9cc8c1056db6792ab3010cc094665687f87d2b6b2b0a919895486d4b334f1
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
2e41a11a0a125a74e0b9cbd0af0ef754281e43c4e694e727764798fe6d703eaf - Sigstore transparency entry: 2003032378
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 76.2 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e4e324888dc415bbcd4366810867de6ba7e6aebfc726941a475e9740dc08b66
|
|
| MD5 |
d0c280526e88aa530160f16894de58c9
|
|
| BLAKE2b-256 |
b2f5a5077c8be4628c5dad478ab897424971d14e7b577f8d92e53b573849809b
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp310-cp310-macosx_11_0_arm64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
7e4e324888dc415bbcd4366810867de6ba7e6aebfc726941a475e9740dc08b66 - Sigstore transparency entry: 2003031832
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 79.3 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c638b4c2259b24df5a1e9c7a4f5df380406ce5f59c27c66e6a9eed3248b03a10
|
|
| MD5 |
fcfba0352f0f90e9a6d8aaf56c15692e
|
|
| BLAKE2b-256 |
f728a237fae467adab555c16184d321b5361e6b79642f9ab58c494dcac2c2bae
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl:
Publisher:
publish.yml on karungop/openexCel
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openexcel_c-0.1.3-cp310-cp310-macosx_10_9_x86_64.whl -
Subject digest:
c638b4c2259b24df5a1e9c7a4f5df380406ce5f59c27c66e6a9eed3248b03a10 - Sigstore transparency entry: 2003031182
- Sigstore integration time:
-
Permalink:
karungop/openexCel@8937cc54d164df901304a80464dc320a91ffb5f1 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8937cc54d164df901304a80464dc320a91ffb5f1 -
Trigger Event:
push
-
Statement type: