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.
Feature benchmarks
Benchmarked on macOS arm64, Python 3.11. Each result is the median of 3 runs.
| Benchmark | openexcel | openpyxl | Speedup |
|---|---|---|---|
| Cell access (10k reads) | 1.69 ms | 1.82 ms | 1.1× |
| Number format set (1k cells) | 220 µs | 429 µs | 2.0× |
| Number format roundtrip (1k cells) | 2.04 ms | 18.04 ms | 8.8× |
| Formula write (1k cells) | 390 µs | 942 µs | 2.4× |
| Formula roundtrip (1k cells) | 2.88 ms | 23.09 ms | 8.0× |
| Merged cells roundtrip (100 ranges) | 366 µs | 12.90 ms | 35.2× |
| Column/row dimensions roundtrip (50+50) | 329 µs | 4.54 ms | 13.8× |
| Named ranges roundtrip (20) | 321 µs | 3.36 ms | 10.5× |
| Freeze panes roundtrip | 525 µs | 5.56 ms | 10.6× |
| Hyperlinks roundtrip (50 cells) | 662 µs | 5.26 ms | 7.9× |
| Data validation roundtrip (10 rules) | 390 µs | 3.44 ms | 8.8× |
| Page setup roundtrip | 355 µs | 3.11 ms | 8.8× |
| Sheet protection roundtrip | 347 µs | 3.42 ms | 9.9× |
The pattern: in-memory cell manipulation is ~2× faster; any operation involving save+load is 8–35× faster. The C XML serializer and SAX parser are where the largest gains appear.
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"
Fonts, fills, borders, and alignment
from openexcel import Font, PatternFill, Border, Side, Alignment
cell = ws["A1"]
# Font
cell.font = Font(name="Arial", size=14, bold=True, italic=False,
underline="single", color="FFFF0000") # ARGB hex
# Fill
cell.fill = PatternFill(fill_type="solid", fgColor="FFFFFF00") # ARGB hex
# Border
cell.border = Border(
left=Side(style="thin"),
right=Side(style="thin"),
top=Side(style="medium"),
bottom=Side(style="medium"),
)
# Alignment
cell.alignment = Alignment(horizontal="center", vertical="center",
wrap_text=True, indent=0)
# Read back
print(cell.font.bold) # True
print(cell.fill.fill_type) # "solid"
print(cell.border.left.style) # "thin"
print(cell.alignment.horizontal) # "center"
All style objects are immutable value types. Assigning a new style object replaces the cell's style while preserving any other styles already set (e.g., setting .font leaves .fill and .border unchanged). Style deduplication is handled automatically — identical styles share a single XF entry in styles.xml.
Available border styles: "thin", "medium", "thick", "dashed", "dotted", "double", "hair", "mediumDashed", and more (any valid OOXML border style string).
Hyperlinks
cell = ws["A1"]
cell.value = "Visit our site"
cell.hyperlink = "https://example.com"
# Read back after save/load
wb2 = openexcel.load_workbook("output.xlsx")
print(wb2[0]["A1"].hyperlink) # "https://example.com"
print(wb2[0]["A1"].value) # "Visit our site"
# Clear a hyperlink
cell.hyperlink = None
Hyperlinks are stored in the standard OOXML location (xl/worksheets/_rels/sheetN.xml.rels). Both external URLs and internal sheet anchors (e.g. "#Sheet2!A1") are supported. Hyperlinks compose with all other cell properties — a cell can have a hyperlink, a value, a font, and a number format simultaneously.
Data validation
from openexcel import DataValidation
# Drop-down list
dv = DataValidation(
type="list",
formula1='"Yes,No,Maybe"',
sqref="A1:A100",
show_error_message=True,
error_title="Invalid input",
error_message="Please choose Yes, No, or Maybe.",
)
ws.add_data_validation(dv)
# Whole number in range
dv2 = DataValidation(
type="whole",
operator="between",
formula1="1",
formula2="10",
sqref="B1:B50",
allow_blank=True,
)
ws.add_data_validation(dv2)
# Read back after save/load
wb2 = openexcel.load_workbook("output.xlsx")
validations = wb2[0].data_validations # list of DataValidation objects
print(validations[0].type) # "list"
print(validations[0].sqref) # "A1:A100"
DataValidation constructor parameters:
| Parameter | Type | Description |
|---|---|---|
type |
str |
"list", "whole", "decimal", "date", "time", "textLength", "custom" |
operator |
str |
"between", "notBetween", "equal", "notEqual", "greaterThan", "lessThan", "greaterThanOrEqual", "lessThanOrEqual" |
formula1 |
str |
First value/formula |
formula2 |
str |
Second value/formula (for between/notBetween) |
sqref |
str |
Cell range (e.g. "A1:A100") |
allow_blank |
bool |
Allow empty cells (default False) |
show_drop_down |
bool |
Hide the dropdown arrow for list validations (default False) |
show_error_message |
bool |
Show error alert (default False) |
error_title |
str |
Error dialog title |
error_message |
str |
Error dialog message |
error_style |
str |
"stop", "warning", or "information" |
show_input_message |
bool |
Show input prompt (default False) |
prompt_title |
str |
Input prompt title |
prompt_message |
str |
Input prompt message |
Page setup and print options
from openexcel import PageSetup, PageMargins, PrintOptions
# Page setup
ws.page_setup = PageSetup(
orientation="landscape", # "portrait" or "landscape"
paper_size=9, # 9 = A4, 1 = Letter
scale=75, # zoom percentage (10–400)
)
# Fit-to-page mode
ws.page_setup = PageSetup(
fit_to_page=True,
fit_to_width=1,
fit_to_height=0, # 0 = unlimited pages tall
)
# Page margins (in inches)
ws.page_margins = PageMargins(
left=0.5, right=0.5,
top=1.0, bottom=1.0,
header=0.5, footer=0.5,
)
# Print options
ws.print_options = PrintOptions(
grid_lines=True, # print gridlines
headings=True, # print row/column headings
horizontal_centered=True, # center content horizontally on page
vertical_centered=True, # center content vertically on page
)
# Read back
ws2 = openexcel.load_workbook("output.xlsx")[0]
print(ws2.page_setup.orientation) # "landscape"
print(ws2.page_margins.left) # 0.5
print(ws2.print_options.grid_lines) # True
Common paper size codes: 1 = Letter (8.5×11"), 9 = A4, 5 = Legal, 13 = B5.
Sheet protection
from openexcel import SheetProtection
# Lock the sheet (prevent edits)
ws.protection = SheetProtection(
sheet=True, # enable protection
format_cells=False, # deny format-cells (True = allow)
insert_rows=False, # deny inserting rows
delete_rows=False, # deny deleting rows
)
# Password-protect (password hash must be pre-computed)
ws.protection = SheetProtection(
sheet=True,
password_hash="ABCD", # legacy XOR hash
)
# Read back
ws2 = openexcel.load_workbook("output.xlsx")[0]
prot = ws2.protection
if prot is not None:
print(prot.sheet) # True
print(prot.format_cells) # False
# Remove protection
ws.protection = None
SheetProtection constructor parameters — all optional, default False/None:
| Parameter | Type | Description |
|---|---|---|
sheet |
bool |
Enable sheet protection |
objects |
bool |
Protect objects |
scenarios |
bool |
Protect scenarios |
format_cells |
bool |
Allow formatting cells (inverted: True = allowed) |
format_columns |
bool |
Allow formatting columns |
format_rows |
bool |
Allow formatting rows |
insert_columns |
bool |
Allow inserting columns |
insert_rows |
bool |
Allow inserting rows |
insert_hyperlinks |
bool |
Allow inserting hyperlinks |
delete_columns |
bool |
Allow deleting columns |
delete_rows |
bool |
Allow deleting rows |
select_locked |
bool |
Allow selecting locked cells |
sort |
bool |
Allow sorting |
auto_filter |
bool |
Allow using auto-filter |
pivot_tables |
bool |
Allow using pivot tables |
select_unlocked |
bool |
Allow selecting unlocked cells |
password_hash |
str |
Legacy XOR password hash |
algorithm_name |
str |
Hash algorithm (e.g. "SHA-512") |
hash_value |
str |
Base64-encoded hash (modern protection) |
salt_value |
str |
Base64-encoded salt |
spin_count |
int |
Spin count for hash iterations |
Note on
format_cellsand similar flags: In OOXML,formatCells="1"means the action is denied. openexcel inverts this for readability —format_cells=Truemeans the action is allowed.
Images
from openexcel import Image
# Load from file
img = Image("logo.png")
# Or pass raw bytes (useful when the file isn't on disk)
img = Image("logo.png", data=png_bytes)
# Optional: override display size in pixels
img = Image("logo.png", width=200, height=100)
# Anchor to a cell
ws.add_image(img, "B2")
# Read back after save/load
wb2 = openexcel.load_workbook("output.xlsx")
images = wb2[0].images # list of Image objects
print(len(images)) # 1
print(images[0].ext) # "png"
print(images[0].col, images[0].row) # anchor column/row (0-based)
Image constructor parameters:
| Parameter | Type | Description |
|---|---|---|
filename |
str |
Path to image file (PNG, JPEG, GIF) — also used as the extension source when providing data |
data |
bytes |
Raw image bytes (optional; if omitted the file at filename is read) |
col |
int |
Anchor column index (0-based, default 0) |
row |
int |
Anchor row index (0-based, default 0) |
width |
int |
Display width in pixels (optional; auto-detected from PNG header if omitted) |
height |
int |
Display height in pixels (optional; auto-detected from PNG header if omitted) |
col_offset |
int |
Column offset in EMUs (default 0) |
row_offset |
int |
Row offset in EMUs (default 0) |
Supported formats: PNG, JPEG, GIF. Images are embedded in xl/media/ and referenced via a drawing XML part, matching the standard OOXML format that Excel and LibreOffice produce.
Comments (Notes)
from openexcel import Comment
# Add a comment to a cell
ws["A1"].comment = Comment("This needs review", "Alice")
# Read back
c = ws["A1"].comment
print(c.text) # "This needs review"
print(c.author) # "Alice"
# Default author is empty string
ws["B2"].comment = Comment("Reminder")
# Remove a comment
ws["A1"].comment = None
# List all comments on a sheet
for c in ws.comments:
print(c.text, c.author)
# Comments round-trip correctly through save/load
wb2 = openexcel.load_workbook("output.xlsx")
print(wb2[0]["A1"].comment.text) # "This needs review"
Comments are stored in xl/comments/commentsN.xml and xl/drawings/vmlDrawingN.vml — the standard OOXML format. They compose with all other cell properties (value, font, hyperlink, etc.).
Charts
from openexcel import Chart
# Bar chart (default)
chart = Chart(type="bar", title="Monthly Sales",
x_axis_title="Month", y_axis_title="Revenue")
chart.add_series(
values="Sheet1!$B$2:$B$13",
categories="Sheet1!$A$2:$A$13",
title="2024",
)
ws.add_chart(chart, anchor="D2", to_anchor="N18")
# Line chart
line = Chart(type="line", title="Trend")
line.add_series(values="Sheet1!$C$2:$C$13")
ws.add_chart(line, anchor="D20")
# Pie chart
pie = Chart(type="pie", title="Market Share")
pie.add_series(values="Sheet1!$D$2:$D$6", categories="Sheet1!$A$2:$A$6")
ws.add_chart(pie, anchor="A22")
# Scatter chart
scatter = Chart(type="scatter")
scatter.add_series(
values="Sheet1!$E$2:$E$10",
categories="Sheet1!$F$2:$F$10",
)
ws.add_chart(scatter, anchor="A40")
# Read back after save/load
charts = openexcel.load_workbook("output.xlsx")[0].charts
print(charts[0].type) # "bar"
print(charts[0].title) # "Monthly Sales"
print(len(charts[0].series)) # 1
Chart constructor parameters:
| Parameter | Type | Description |
|---|---|---|
type |
str |
"bar", "line", "pie", "scatter" (default "bar") |
title |
str |
Chart title (optional) |
bar_dir |
str |
"col" (vertical bars) or "bar" (horizontal bars) (default "col") |
grouping |
str |
"clustered", "stacked", "percentStacked" (default "clustered") |
show_legend |
int |
Show legend (default 1) |
x_axis_title |
str |
X-axis title (optional) |
y_axis_title |
str |
Y-axis title (optional) |
chart.add_series(values, categories=None, title=None) — add a data series. values and categories are Excel formula references like "Sheet1!$B$2:$B$10".
Conditional formatting
from openexcel import ConditionalFormattingRule
# Highlight cells greater than 90
rule = ConditionalFormattingRule(
type="cellIs",
operator="greaterThan",
formula=["90"],
priority=1,
)
ws.add_conditional_formatting("B2:B100", rule)
# Color scale (red → yellow → green)
rule2 = ConditionalFormattingRule(
type="colorScale",
priority=2,
color_scale={
"min_type": "min", "min_color": "FFF8696B",
"mid_type": "percentile", "mid_value": 50, "mid_color": "FFFFEB84",
"max_type": "max", "max_color": "FF63BE7B",
},
)
ws.add_conditional_formatting("C2:C100", rule2)
# Read back after save/load
rules = openexcel.load_workbook("output.xlsx")[0].conditional_formatting
print(rules[0].type) # "cellIs"
print(rules[0].operator) # "greaterThan"
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 |
.add_data_validation(dv) |
Add a DataValidation rule to the sheet |
.data_validations |
List of DataValidation objects on this sheet |
.page_setup |
Get/set PageSetup object (orientation, paper size, scale) |
.page_margins |
Get/set PageMargins object (left, right, top, bottom, header, footer) |
.print_options |
Get/set PrintOptions object (gridlines, headings, centering) |
.protection |
Get/set SheetProtection object, or None to clear |
.add_image(img, anchor) |
Embed an Image at the given A1 anchor cell |
.images |
List of Image objects on this sheet |
.add_chart(chart, anchor, to_anchor) |
Embed a Chart spanning from anchor to to_anchor |
.charts |
List of Chart objects on this sheet |
.add_conditional_formatting(sqref, rule) |
Add a ConditionalFormattingRule to a cell range |
.conditional_formatting |
List of conditional formatting rules on this sheet |
.comments |
List of all Comment objects on this sheet |
Cell
| Member | Description |
|---|---|
.value |
Get/set cell value |
.number_format |
Get/set format string (e.g. "0.00%") |
.font |
Get/set Font object |
.fill |
Get/set PatternFill object |
.border |
Get/set Border object |
.alignment |
Get/set Alignment object |
.hyperlink |
Get/set hyperlink URL string, or None |
.comment |
Get/set Comment object, or None |
.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 / alignment | Supported (Font, PatternFill, Border, Side, Alignment) |
Full style API |
| Hyperlinks | Supported (cell.hyperlink) |
Supported |
| Data validation | Supported (DataValidation, ws.add_data_validation) |
Supported |
| Page setup / margins | Supported (PageSetup, PageMargins, PrintOptions) |
Supported |
| Sheet protection | Supported (SheetProtection, ws.protection) |
Supported |
| Conditional formatting | Supported (ConditionalFormattingRule, ws.add_conditional_formatting) |
Supported |
| Images | Supported (Image, ws.add_image, ws.images) |
Supported |
| Charts | Supported (Chart, ws.add_chart, ws.charts) |
Supported |
| Comments | Supported (Comment, cell.comment, ws.comments) |
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.9.tar.gz.
File metadata
- Download URL: openexcel_c-0.1.9.tar.gz
- Upload date:
- Size: 215.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35bce9b8cd11289e1c82f8a74b1e6537d0910b37725f47b63730ead0884bba20
|
|
| MD5 |
8d655a597f0db4be7272e950ae3d08f0
|
|
| BLAKE2b-256 |
70a4db31d5d9a882ed0bd4ce9540be3a32ae21f903364c905c2975affc7a4ef4
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9.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.9.tar.gz -
Subject digest:
35bce9b8cd11289e1c82f8a74b1e6537d0910b37725f47b63730ead0884bba20 - Sigstore transparency entry: 2062770651
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 150.0 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 |
700577994e4aa0d5a4dd48eb0a064127a183d5a6d7e2272f5770a1788f3dc887
|
|
| MD5 |
38f63d3b4b5812d795e6f90e838f77f5
|
|
| BLAKE2b-256 |
2e11fe9b9aec356cc105404e8429c96f7bfd852f293d843373c5e1bac226dffd
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
700577994e4aa0d5a4dd48eb0a064127a183d5a6d7e2272f5770a1788f3dc887 - Sigstore transparency entry: 2062774460
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 150.9 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 |
c8bcfa7f11345e7102d32e2bc5e24e2a96317e35204d803ad41d5019fe45cdb1
|
|
| MD5 |
5aff611eedee4cd9c5b69bf0afc80e55
|
|
| BLAKE2b-256 |
4a20f9dad9b26411a101142d91c91800fa0da0cd38a0a71a0cbc661dc61b44f4
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
c8bcfa7f11345e7102d32e2bc5e24e2a96317e35204d803ad41d5019fe45cdb1 - Sigstore transparency entry: 2062771428
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 125.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 |
bb20791d7f5f44e2214df5e50d26459090e7d28b9b08c2f8b434aa177fb464ef
|
|
| MD5 |
2f9389a8e460dc3cf9fe3cc52351e5ce
|
|
| BLAKE2b-256 |
48838fad9cc4f2cb1b51a0196cd8d3cbe8490e25e28b55feaa0e5ff925c3c07e
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
bb20791d7f5f44e2214df5e50d26459090e7d28b9b08c2f8b434aa177fb464ef - Sigstore transparency entry: 2062773425
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp313-cp313-macosx_10_13_x86_64.whl
- Upload date:
- Size: 132.8 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 |
c61b0b4346a7a191f3a0616b6cfb8410e9263f2b290a5e6b1ffd3e6e926357ef
|
|
| MD5 |
58aeac34701907c67a308ba756431a12
|
|
| BLAKE2b-256 |
414c21f435d2216a83d217c7fc0575bf05276a836ec849ed520d6e3d87d10269
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp313-cp313-macosx_10_13_x86_64.whl -
Subject digest:
c61b0b4346a7a191f3a0616b6cfb8410e9263f2b290a5e6b1ffd3e6e926357ef - Sigstore transparency entry: 2062772090
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 150.0 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 |
7bc1b0a16a653993247c20748dca2bd17f4a586560810683958ba639fc6dc1fc
|
|
| MD5 |
512d4d52ad38311e22a5ea1dadbe3e40
|
|
| BLAKE2b-256 |
5db5d795a1f2e161efdf8c7105b17a3cf4fad4df154abd5098740184ecca701f
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
7bc1b0a16a653993247c20748dca2bd17f4a586560810683958ba639fc6dc1fc - Sigstore transparency entry: 2062772929
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 150.9 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 |
ddfd13878ee6819b509976ab32be048f4810beaf8ab75462dd9db10c45fc0895
|
|
| MD5 |
eafab7366aa2179411706cf1b0f51bd7
|
|
| BLAKE2b-256 |
1d38d391dabafe83edd3f2ddd3e51b48f4c9f5f93a4108afaad27b17ea60cf03
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
ddfd13878ee6819b509976ab32be048f4810beaf8ab75462dd9db10c45fc0895 - Sigstore transparency entry: 2062774139
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 125.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 |
65148130b7dec7a35827bc1d963cf5270907c3214d63971f28abc012789a410a
|
|
| MD5 |
c3c67bfcdeaeee5308b664043987a2cc
|
|
| BLAKE2b-256 |
8a3bc9cc92cf977dc7ca6bbe85e47920c08ae4d052a8576f2e5a56eb5bc15038
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
65148130b7dec7a35827bc1d963cf5270907c3214d63971f28abc012789a410a - Sigstore transparency entry: 2062772311
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp312-cp312-macosx_10_13_x86_64.whl
- Upload date:
- Size: 132.8 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 |
c5e2c1b424349e9bfc829ef33a6281cd9bd6b07479fb44aafeb092d00151796b
|
|
| MD5 |
1a6cefc3d7b423b9c72d167296b1d61b
|
|
| BLAKE2b-256 |
fe37f3f7b5ec69742703fe739b79e3fd62f9e19dc9eb9e3ab68c98094d9aa3a7
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp312-cp312-macosx_10_13_x86_64.whl -
Subject digest:
c5e2c1b424349e9bfc829ef33a6281cd9bd6b07479fb44aafeb092d00151796b - Sigstore transparency entry: 2062772489
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 149.5 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 |
998b281d9515f21e37db280ec6a9ff58bca47c03980d8f68ffa791c57ee6528b
|
|
| MD5 |
60be42018785ad861dceaf54239da58d
|
|
| BLAKE2b-256 |
cfb902b95c7776062c09d3c4c8284189cf362a0672c6e3f62368c440222afb7e
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
998b281d9515f21e37db280ec6a9ff58bca47c03980d8f68ffa791c57ee6528b - Sigstore transparency entry: 2062773905
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 150.8 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 |
b3ec1e628ab61464743cae0ab779ac98d1da5e58d87d207cc6819360f301153d
|
|
| MD5 |
1d1730734092b7571ad427c805c4b775
|
|
| BLAKE2b-256 |
bc2219778428b5c2cef13c2d553a3c8514b947e732cbd1ba7322b845b6258208
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
b3ec1e628ab61464743cae0ab779ac98d1da5e58d87d207cc6819360f301153d - Sigstore transparency entry: 2062773124
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 124.8 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 |
1660f7c2f7ec8c98614bb8dd064656218d0106cb786d889b7d5c7e69c23bcbaa
|
|
| MD5 |
cb4f245b089a756e36a885e681087dde
|
|
| BLAKE2b-256 |
b5a1d4a18aaacd278919728f0d2fafc9ae120cb4ac1d805417fbe44d0bf38451
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
1660f7c2f7ec8c98614bb8dd064656218d0106cb786d889b7d5c7e69c23bcbaa - Sigstore transparency entry: 2062771878
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 132.2 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 |
2ad184e0c9ddbbd59f7c6d4e52b3f39ab43acdf4b7d9289d0d13252579513ea5
|
|
| MD5 |
c49cc911f819671dabce0b19e1118b34
|
|
| BLAKE2b-256 |
3250d5c3dd43d332be8c3d00718e3e9f8032d00a823ce2b22ee54db4299d9529
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp311-cp311-macosx_10_9_x86_64.whl -
Subject digest:
2ad184e0c9ddbbd59f7c6d4e52b3f39ab43acdf4b7d9289d0d13252579513ea5 - Sigstore transparency entry: 2062773693
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 149.5 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 |
c526fcc03af795630615e99c61b0bc9edebbe9d781864878b6b12febd6267b26
|
|
| MD5 |
57f20489540181676e116ee26bd878d1
|
|
| BLAKE2b-256 |
443b3bed052f86f01bfcdc5d7cb66d41fa2374019c16c64fe8e0aa060181ea69
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
c526fcc03af795630615e99c61b0bc9edebbe9d781864878b6b12febd6267b26 - Sigstore transparency entry: 2062771090
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 150.8 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 |
78e94befa65ecf9c5ea94383b11353cf90a187f958b3204111ab7b51d64b33fb
|
|
| MD5 |
20cb2580c7fda9f37201ca899b146e82
|
|
| BLAKE2b-256 |
876ecc9a7c5a8938c308dd874484fe821153e49714f29924c1964dba4959f31d
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl -
Subject digest:
78e94befa65ecf9c5ea94383b11353cf90a187f958b3204111ab7b51d64b33fb - Sigstore transparency entry: 2062770865
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 124.8 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 |
8a184555c809ec4b942899adee4be36e524e7b45771b7e4f4cdbdefe0d5415cf
|
|
| MD5 |
95b8ff2b8d55fe784110185af3cb3a8d
|
|
| BLAKE2b-256 |
e41747b7ae2d9a3685a3430c2488aa6bdfc55a32de0c79af096ebee421035362
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp310-cp310-macosx_11_0_arm64.whl -
Subject digest:
8a184555c809ec4b942899adee4be36e524e7b45771b7e4f4cdbdefe0d5415cf - Sigstore transparency entry: 2062772711
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file openexcel_c-0.1.9-cp310-cp310-macosx_10_9_x86_64.whl.
File metadata
- Download URL: openexcel_c-0.1.9-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 132.2 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 |
729956116abd000564438d1cbee793ce150d0d532dfe4bf872ba4e1fa849ff7f
|
|
| MD5 |
95f8f08a0b39143d11449205b6288e09
|
|
| BLAKE2b-256 |
2391db22db94c0dd1db2f7597fe605a93d864786feda6b23ebaf6df7e46f9ff6
|
Provenance
The following attestation bundles were made for openexcel_c-0.1.9-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.9-cp310-cp310-macosx_10_9_x86_64.whl -
Subject digest:
729956116abd000564438d1cbee793ce150d0d532dfe4bf872ba4e1fa849ff7f - Sigstore transparency entry: 2062771643
- Sigstore integration time:
-
Permalink:
karungop/openexCel@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Branch / Tag:
refs/tags/v0.1.9 - Owner: https://github.com/karungop
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@099ac5b8d3d9644d1b9858773cbe4a6789d58cb9 -
Trigger Event:
push
-
Statement type: