Skip to main content

A fast, memory-efficient spreadsheet I/O library for Python, powered by Rust

Project description

OpenSheet Core — Fast, memory-efficient spreadsheet I/O for Python, powered by Rust

CI PyPI License: MIT Python 3.9–3.13 Coverage

Features  •  Benchmarks  •  Installation  •  Quick Start  •  API  •  Roadmap  •  Contributing


Why OpenSheet Core?

Existing Python spreadsheet libraries force you to choose between performance, memory efficiency, broad format support, and easy installation. OpenSheet Core eliminates that tradeoff with a native Rust core exposed through a clean Python API — installable with a single pip install.

Features

  • Streaming XLSX reader — row-by-row iteration without loading the entire file into memory
  • Streaming XLSX writer — write millions of rows with constant memory usage
  • Formula support — read and write formulas with optional cached values
  • Date/time support — read and write datetime.date and datetime.datetime cells with automatic Excel serial number conversion
  • Merged cells — read and write merged cell ranges
  • Typed cell extraction — strings, numbers, booleans, dates, datetimes, formulas, and empty cells are returned as native Python types
  • Context manager support — Pythonic with statement for safe resource management
  • Cross-platform — tested on Linux, macOS, and Windows across Python 3.9–3.13
  • Zero Python dependencies — single native extension, no dependency tree to manage

Benchmarks

Benchmarked against openpyxl 3.1.5 on a 100,000-row x 10-column dataset (1M cells):

Operation OpenSheet Core openpyxl Speedup Memory
Write 2.3s 20.8s 9x faster ~300x less
Read 0.46s 14.3s 31x faster

Run it yourself: python benchmarks/benchmark.py

Installation

pip install opensheet-core

From source (requires Rust toolchain)

pip install maturin
git clone https://github.com/0xNadr/opensheet-core
cd opensheet-core
maturin develop --release

Quick Start

Reading an XLSX file

from opensheet_core import read_xlsx, read_sheet

# Read all sheets
sheets = read_xlsx("report.xlsx")
for sheet in sheets:
    print(f"Sheet: {sheet['name']}")
    for row in sheet["rows"]:
        print(row)  # List of typed Python values

# Read a specific sheet
rows = read_sheet("report.xlsx", sheet_name="Data")

Writing an XLSX file

from opensheet_core import XlsxWriter

with XlsxWriter("output.xlsx") as writer:
    writer.add_sheet("Data")
    writer.write_row(["Name", "Age", "Active"])
    writer.write_row(["Alice", 30, True])
    writer.write_row(["Bob", 25, False])

Writing dates

import datetime
from opensheet_core import XlsxWriter

with XlsxWriter("output.xlsx") as writer:
    writer.add_sheet("Events")
    writer.write_row(["Event", "Date", "Timestamp"])
    writer.write_row(["Launch", datetime.date(2025, 3, 15), datetime.datetime(2025, 3, 15, 14, 30)])

Merging cells

from opensheet_core import XlsxWriter

with XlsxWriter("output.xlsx") as writer:
    writer.add_sheet("Report")
    writer.write_row(["Title spanning three columns", "", ""])
    writer.write_row(["A", "B", "C"])
    writer.merge_cells("A1:C1")

Writing formulas

from opensheet_core import XlsxWriter, Formula

with XlsxWriter("output.xlsx") as writer:
    writer.add_sheet("Budget")
    writer.write_row(["Item", "Cost"])
    writer.write_row(["Rent", 1200])
    writer.write_row(["Food", 400])
    writer.write_row(["Total", Formula("SUM(B2:B3)", cached_value=1600)])

API Reference

read_xlsx(path: str) -> list[dict]

Reads an XLSX file and returns a list of dicts with "name" (str), "rows" (list of lists), and "merges" (list of range strings like "A1:C1"). Each cell is a typed Python value (str, int, float, bool, datetime.date, datetime.datetime, Formula, or None).

read_sheet(path, sheet_name=None, sheet_index=None) -> list[list]

Reads a single sheet by name or index. Returns the first sheet by default.

sheet_names(path: str) -> list[str]

Returns the list of sheet names in a workbook.

XlsxWriter(path: str)

Streaming XLSX writer. Use as a context manager.

Method Description
add_sheet(name: str) Create a new worksheet
write_row(values: list) Write a row of values to the current sheet
merge_cells(range: str) Merge a range of cells (e.g. "A1:C1")
close() Finalize and close the file

Formula(formula: str, cached_value=None)

Represents a spreadsheet formula. Pass as a cell value when writing, and received when reading cells that contain formulas.

Architecture

┌──────────────────────────┐
│      Python API          │  ← opensheet_core (PyO3 bindings)
├──────────────────────────┤
│      Rust Core           │  ← Streaming parser & writer
│  ┌────────┐ ┌──────────┐ │
│  │ Reader │ │  Writer  │ │
│  │ (SAX)  │ │ (Stream) │ │
│  └────────┘ └──────────┘ │
├──────────────────────────┤
│  quick-xml  │    zip     │  ← Dependencies
└──────────────────────────┘

Feature Comparison vs openpyxl

OpenSheet Core is designed to be a faster, memory-efficient alternative to openpyxl for the most common spreadsheet workflows. Here's where we stand:

What we already do better

OpenSheet Core openpyxl
Write 1M cells ~0.7s ~1.8s
Read 1M cells ~0.9s ~2.4s
Memory usage Constant (streaming) ~50x file size
Python dependencies Zero Several
Architecture Rust streaming core Pure Python DOM

Feature coverage

Category Feature openpyxl OpenSheet Core
Formats .xlsx read/write Yes Yes
.xlsm (macro-enabled) Yes Planned
.xltx/.xltm (templates) Yes
Cell Types Strings, numbers, booleans Yes Yes
Dates and datetimes Yes Yes
Formulas with cached values Yes Yes
Rich text Yes Planned
Error values Yes Planned
Styling Fonts (name, size, bold, italic, color) Yes Planned
Fill (solid, pattern, gradient) Yes Planned
Borders (14 styles) Yes Planned
Alignment (horizontal, vertical, wrap, rotation) Yes Planned
Number formats (30+ builtins + custom) Yes Date/datetime only
Named styles Yes Planned
Conditional formatting (6 rule types) Yes Planned
Worksheet Merged cells Yes Yes
Freeze panes Yes Planned
Auto-filter Yes Planned
Column widths / row heights Yes Planned
Data validation (7 types) Yes Planned
Sheet protection Yes Planned
Row/column insert/delete Yes
Print settings Yes Planned
Row/column grouping Yes
Workbook Named ranges / defined names Yes Planned
Document properties Yes Planned
Workbook protection Yes
Multiple sheet states (hidden, veryHidden) Yes Planned
Charts 12+ chart types (bar, line, pie, scatter, etc.) Yes Planned
3D variants and combined charts Yes
Images Embed PNG/JPEG Yes Planned
Tables Structured tables with styles Yes Planned
Pivot Tables Read/preserve existing Yes
VBA/Macros Preserve on load (.xlsm) Yes Planned
Integration Pandas DataFrame I/O Yes Planned
NumPy type support Yes Planned
Performance Streaming read (constant memory) Yes (read_only mode) Yes (default)
Streaming write (constant memory) Yes (write_only mode) Yes (default)

Legend: Yes = implemented, Planned = on the roadmap, — = not planned for now

Our approach

We are not trying to clone openpyxl. We are building a fast, safe, memory-efficient core for the most common Excel workflows. The goal is to cover the ~80% of features that people use day-to-day, while being 2–3x faster and using orders of magnitude less memory. Streaming is the default, not an opt-in mode.

Roadmap

Done

  • XLSX reading with typed cell extraction
  • Streaming XLSX writing with low memory usage
  • Formula read/write support with cached values
  • Date/time cell support with automatic serial number conversion
  • Merged cell metadata (read and write)
  • Python bindings via PyO3
  • Type stubs (.pyi) and py.typed marker for IDE autocomplete
  • CI across Linux, macOS, Windows (Python 3.9–3.13)
  • Prebuilt wheels on PyPI
  • Benchmarks vs openpyxl
  • Runnable benchmark script (python benchmarks/benchmark.py)
  • Zero Python dependencies

Phase 1 — Core usability (next)

  • Basic cell styling (fonts, fills, borders, alignment)
  • Number formats (currency, percentage, custom format strings)
  • Column widths and row heights
  • Freeze panes
  • Auto-filter
  • Pandas integration (read_xlsx_df / to_xlsx)

Phase 2 — Broader compatibility

  • Named ranges / defined names
  • Data validation
  • Comments and hyperlinks
  • .xlsm read support (preserve macros)
  • Sheet protection
  • Structured tables with styles
  • Multiple sheet states (hidden, veryHidden)

Phase 3 — Rich content and ecosystem

  • Charts (bar, line, pie, scatter — most common types)
  • Image embedding (PNG, JPEG)
  • Conditional formatting
  • Document and custom properties
  • NumPy type support
  • Broader test corpus and fuzzing
  • Security hardening (XML attack prevention)

Project Status

v0.1.0 — functional streaming reader and writer with formula, date/time, and merged cell support, 37 passing tests, and prebuilt wheels on PyPI. The API may change before 1.0.

Contributing

Contributions are welcome! Here are some great ways to get involved:

  • Report bugs or real-world spreadsheet edge cases
  • Submit representative sample files for testing
  • Suggest benchmark scenarios
  • Improve documentation
  • Open PRs for roadmap items

License

MIT


Built with Rust and PyO3  |  Open digital infrastructure for the Python ecosystem

Project details


Download files

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

Source Distribution

opensheet_core-0.1.1.tar.gz (45.5 kB view details)

Uploaded Source

Built Distributions

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

opensheet_core-0.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (584.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

opensheet_core-0.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (575.8 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

opensheet_core-0.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (572.0 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

opensheet_core-0.1.1-cp314-cp314-win_amd64.whl (412.8 kB view details)

Uploaded CPython 3.14Windows x86-64

opensheet_core-0.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (580.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

opensheet_core-0.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (573.4 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

opensheet_core-0.1.1-cp314-cp314-macosx_11_0_arm64.whl (523.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

opensheet_core-0.1.1-cp314-cp314-macosx_10_12_x86_64.whl (533.6 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

opensheet_core-0.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (572.2 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

opensheet_core-0.1.1-cp313-cp313-win_amd64.whl (412.5 kB view details)

Uploaded CPython 3.13Windows x86-64

opensheet_core-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (580.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

opensheet_core-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (573.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

opensheet_core-0.1.1-cp313-cp313-macosx_11_0_arm64.whl (523.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

opensheet_core-0.1.1-cp313-cp313-macosx_10_12_x86_64.whl (534.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

opensheet_core-0.1.1-cp312-cp312-win_amd64.whl (412.7 kB view details)

Uploaded CPython 3.12Windows x86-64

opensheet_core-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (580.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

opensheet_core-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (573.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

opensheet_core-0.1.1-cp312-cp312-macosx_11_0_arm64.whl (523.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

opensheet_core-0.1.1-cp312-cp312-macosx_10_12_x86_64.whl (534.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

opensheet_core-0.1.1-cp311-cp311-win_amd64.whl (414.6 kB view details)

Uploaded CPython 3.11Windows x86-64

opensheet_core-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (583.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

opensheet_core-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (575.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

opensheet_core-0.1.1-cp311-cp311-macosx_11_0_arm64.whl (524.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

opensheet_core-0.1.1-cp311-cp311-macosx_10_12_x86_64.whl (535.7 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

opensheet_core-0.1.1-cp310-cp310-win_amd64.whl (414.7 kB view details)

Uploaded CPython 3.10Windows x86-64

opensheet_core-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (583.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

opensheet_core-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (575.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

opensheet_core-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (586.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

opensheet_core-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (578.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file opensheet_core-0.1.1.tar.gz.

File metadata

  • Download URL: opensheet_core-0.1.1.tar.gz
  • Upload date:
  • Size: 45.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for opensheet_core-0.1.1.tar.gz
Algorithm Hash digest
SHA256 73fa90bab43c17816aa855bb62f3690e2cd2cfd59a4121ed06f18be5888b80c5
MD5 ac67fda7734f870a0b2986d5c028f4bd
BLAKE2b-256 37159baf859e532d204cc0e7377271a1d2f6f06b7185ea6ed4790f1213091889

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf95b60da54e5feb7375a8ae7e5c0544335d0a2aeda2eed54afb9f4c9576bc61
MD5 fe1838f9ed427f70960d56e5cb075442
BLAKE2b-256 cb609a64907ae9f6a845167bec686a3127862197af9ff92c87b717c2075c0674

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e680475e5cbf0a0d1eb530bfc77dabf33548c4b020678f0f95cc2909803359cb
MD5 4c6cc937c30d8bc0ae5d2041e47639c4
BLAKE2b-256 77a6cacb1e21a0d41f446a8d82e999646e81f8d84d133ed9562b344d675bcef1

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cf251724bb5b773f7ffaecab88daf56fad483ef179c889a7106d8570c5d350d7
MD5 1ecaf85c2209ed2ad6a858217d955a10
BLAKE2b-256 9ec4ffabc8ac2efe27509d2f6499cbe0fd4d06c3b142e3ced1ca0cc218225a5f

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e5ec842d442cb7ff895d1aba3c4fefa1b9758a351095c6b3d8ce880d0a74b514
MD5 7d9bd3bbbedbcdbfe46d78e64d91e527
BLAKE2b-256 4b340d8a0ec0ecc121f986b74a0546d4af20ead9e5dc4c7654e60185f6dadfd0

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2398adfe78b8ce3e062eae9cf9cf89be217e3e580e19ff2a9a21e3c1ce4804e
MD5 d16e6b3152c9c6487612fd635d80890b
BLAKE2b-256 a7a7e53153dcb16999c3ecf651b0c1769a54783880a826a927fc5844cfa0c48e

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 41a58e10e6912a62e3e993f9dd2d16d84de08384ae78a864b51c17c934ab1aa6
MD5 61fa38adb691ec136372e090472d1ba4
BLAKE2b-256 b773c6522b8bd896512bcfe6e3a5fc1e869e4f1c135367003170a90267ff5932

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d6098b5dad96b44a4df6d2faec054a9bef636625924b359b1e6e313eaa9edc15
MD5 99a090c34c8bc8af12fc7030540ae8a4
BLAKE2b-256 fda2e47412f0147fa6695ff555d91ddd06666c7a53d088f40b68b001ed5cb567

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f0d920402bbb1248e02301b50c6f63db06347af2110225eec7e25581c37a4cfa
MD5 da15197848cd98cff57ec6b146d07d0f
BLAKE2b-256 3d5cc2aea9aa55eb4bfac759bec9942816eab4615b787c8ab4381026afa522da

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9d94d4da46e7a9a01455fbbaa58eece62f53e7834ce4cdbbb277ae4eaa18724b
MD5 d3833664939f978a9515f0c2523bb702
BLAKE2b-256 f81bbf4eff84e62fb0c0811f33e13a051606cf5d12d5c590574e3422b37392ca

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5fdf09c8d97db65a67d81e11cfdf9cfc09b7fa60ed92ba71408ca0ff88734dc0
MD5 ace59fdf535f2f6cdc1008b475b30290
BLAKE2b-256 005097523d1301cc8373e00ca54756db9f9e33b2d35a2f5732012709794624ac

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a93e382cd8278c03a67c0f615efcd594dd0577dceebb87edbf079ae881f2ce91
MD5 46083b3da6bdc7be126c9abe3168f48b
BLAKE2b-256 23aede541d9943c1e7900c85645c61b7acf28ce5f8a7247cf419c84c1d4c93cb

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9a26737467ef639c08a6792a66cf3b682710d72756bd5b95244f39159cd1ed83
MD5 6c3b204bcb02fdab5367772f4a3d0340
BLAKE2b-256 198dc4b6ed17c06865dee69e635c08ed67185b4a1214c66c1c4da48ed3fa3741

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 834b75ade202f0d24f04729db2735cb8b044a4074994dd1f147ce06e1ae1236e
MD5 959be3825f145888b057461abf728433
BLAKE2b-256 27049492534729bf281064cccf63b704a00cf19b2af571c2ba234910c5c78d37

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d569db403d1a2bec963e5dcd798c60d2e10aa83846e3d75b9aa0a7fae92a95c1
MD5 c507d9f3f2412ea751dc227a4949d133
BLAKE2b-256 5944a42f72e114edc3a5e019c9b807906b61b919e010e0b46f9bf5f147b4c74d

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e42d20b7515d86214a184e6e5091bc027e5db0790addd8ae4435746d6041e634
MD5 f2f56be6c4b005fa640eb38380ebbeb0
BLAKE2b-256 d7fc51e7c9d4d582c5df55d9b278888c633da4716647faba23a29ec25e674eea

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cde0329cebc69c9ad5b3a7e043b70abf7771cfa8239ec782228d17668b73d10f
MD5 3e90feab0ac9d255ce9cb29812e96272
BLAKE2b-256 a96dabc928adda755f6b3e7f4d1c29d079ca2706b5efa91b60df658f889476df

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9157509e50b88a29bfba10402be1d01a809ea46ec1701d16d1096c3824836b52
MD5 d7b9e21a776f9fd903bb7c8fcb675761
BLAKE2b-256 c6ef58f6b5230d96270b17b4efa6418e66020a2af19325509ebb1483b5dbcf71

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d106a753b889734f242c715bb5a331c23bdd7d01bcd66cc65574060c98c00bca
MD5 4a17b22150dd044ab2d8354791382f90
BLAKE2b-256 848bcc3567d1df147b5a77bc37ad93cbb875bc8015fe3e8d60578a2802bcb4e3

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c7b3275319563f68dbca1ea21709f0c9bef5cb820bc8bf02c0033a18a9006761
MD5 7ad789722fe9173532726eb4e5d79a36
BLAKE2b-256 d18aa25417640c3f042743d739e37fccfaf82182ed2ee5541627dad28b85d891

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b5d39c33308a609007adf88acbd21d76dde5d4d0132533a4774cb56c9016b053
MD5 23aade5efe74d0ffcfe1c0a5e97f9647
BLAKE2b-256 315c31e3123c47021f457d810192026502487dcd491a80eb8b3b7ea88524c7d5

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab8cc305bc47510690431d8c552dcb72de5947be8c4fca7b83879188c5888b27
MD5 89fe7f8f1cd619d6af63f8737ab5af1e
BLAKE2b-256 6c27bff9c39ade60ed5d697c6ee787616432945e523bade90d33e26303b73368

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 605adce94f8d13b3b37cc1ff1fc513133491a5cf4f6e74941e4272a0e44321bc
MD5 b59b695b3066bdbc097a7a5c246084fe
BLAKE2b-256 0120989395cf14a3ff6eda01ca9f8200a9e426eae33c749aacbc18ada119bd6b

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a087c7c5d8997bc9b3ec61729d14821da43c89a2d2baf04236ebbde3fb850fe2
MD5 7f95eebfa2a615208288a1f5a2c904fe
BLAKE2b-256 0129854d2ecbcbe25dca8596c444fa1c4e3773d6238fa5da515907bf72af0e91

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a8048b1b546c1122f81c732fa06234fb2341274edef0483f6ee9b411f1f38180
MD5 8f3068edbb4f498d656c2686c3c97a58
BLAKE2b-256 ad0bc8c7ce22473d49074c6aabd6e2529c76fd0d8aae3d360694da1e37442d20

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 eacd86dd845b8c152ede24b1b376edab6c089f72046585a010645a4de02ab5e1
MD5 c42c64c80d195ca4e1d4ee5b091a8de7
BLAKE2b-256 c27d05aca835414349786e2cca7031cbea31d4bc79e1bda98b933c683249c0bc

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d66cbc3e976ac36619891d41b6e0888bc5ce3d4ba4dc09a89cd6f29be59696b
MD5 3132c8983178ad4f3fc227d8778b7c06
BLAKE2b-256 92cec9f0036f6b5574119e7be6b7f9a56cadd5d5bfa916b91586f64d5e2bb31e

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c904093754d13e8a9d572e1064f73e82de051d22773e8efda184ab5cf3eb9a61
MD5 99737a2fa47cf05a968527b0c678b215
BLAKE2b-256 832df84fcd153e116c27d918186759d49fb45fbf9bb67df83c464153c8d7f294

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b76325853f594fd31c64e43b49a7d4d4ae3309e76bf97297a50d5f189ef6f2f4
MD5 d15531c3ed98d5be37f4019b308a07d5
BLAKE2b-256 55a10f2839d3026267eee9690ea20786335f4669b4ff2b2a1c38b49d02636bf4

See more details on using hashes here.

File details

Details for the file opensheet_core-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for opensheet_core-0.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2f9a3a94d7650db30006dc077b89b8d71d9f4027f67f433e93a3911253b41d1b
MD5 cb8c250ed9f78cc1bb2e4ea2bb721e27
BLAKE2b-256 deb4f93b325b5843e172efce16621d976badc136d35c2dc93a8da5f26ccd399e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page