Skip to main content

CellRune

CellRune is a headless Rust backend for bounded XLSX/XLSM reading and deterministic formula calculation. It keeps the workbook read from disk immutable, returns recalculated values in a separate snapshot, and can retain an exact package backing for explicit round-trip writing. Its MCP integration is a local stdio workflow server, not a browser, UI, hosted service, or remote transport.

Rust installation

The CellRune Rust crate 0.1.25 requires Rust 1.88 or newer.

cargo add cellrune@0.1.25

Or add the dependency directly:

[dependencies]
cellrune = "0.1.25"

Features

  • reads .xlsx files from paths, byte slices, or Read + Seek streams;
  • opens package-backed .xlsx and .xlsm documents with exact SHA-256 identity, borrowed access to the retained input bytes, and bounded round-trip preservation, including from an owned byte vector that it keeps without copying and can hand back;
  • preserves sheet order, sparse cells, formulas, saved results, defined names, and relevant number-format metadata;
  • exposes merged ranges, worksheet-level autoFilter ranges, and validated worksheet-owned Excel tables, including stable table and column IDs, complete filter/sort/formula/style metadata, and case-insensitive lookup indexes;
  • resolves typed multi-area, 3-D, structured table, current-row, and spill references under cumulative reference and dependency budgets;
  • inspects workbook and sheet-local defined names without running a calculation session, preserving rectangular, 3-D, ordered multi-area, empty, dynamic, external, invalid, and unsupported results;
  • expands shared formulas while preserving absolute and relative references;
  • returns typed formula values and stable per-cell calculation issues in one result snapshot;
  • reports normalized per-workbook function demand and exposes the implemented function catalog;
  • calculates average-tie ranks, linear forecasts, matrix determinants, dated cash-flow present values, declining-balance depreciation, normal/lognormal inverses, and deterministic text-to-number conversions;
  • evaluates first-class and defined-name LAMBDA callables, including immediate invocation, ISOMITTED, MAP, BYROW, BYCOL, REDUCE, SCAN, and MAKEARRAY, under explicit recursion and iteration limits;
  • evaluates audited 3-D aggregate references across workbook tab order, including hidden sheets and reverse-written endpoints, without expanding the sheet span into dependency edges;
  • applies configurable limits to ZIP, XML, workbook, formula, dependency, text, and array work;
  • never executes macros, never follows external links, and never reads the host clock for TODAY() or NOW();
  • returns stable error and issue codes for programmatic handling; in Rust, read, formula, and targeted-calculation limit failures also name the exceeded limit or report the observed value;
  • materializes recalculated typed results into existing .xlsx/.xlsm packages with strict or explicit cache-invalidation policies and reports a verified output SHA-256 identity;
  • writes WorkbookDraft edits into an existing package without calculating, clearing only the saved results the edits can affect and asking the host to recalculate on open only when needed;
  • creates canonical .xlsx workbooks and applies typed cell, formula, sheet, name, table rename, table-column rename, table-row resize, table and autoFilter column widening, number-format, date-system, and calculation-property edits through WorkbookDraft;
  • reads, queries, preserves, and explicitly authors SpreadsheetML phonetic annotations and default frozen panes without mixing presentation state into formula calculation;
  • exposes the versioned read/edit/calculate/write contract through typed Python and Node.js/TypeScript native packages, including saves of edits without calculating, adjustable read and calculation limits, and capability scans; the table under Language bindings lists what each surface offers;
  • supports atomic typed edit batches, persistent parsed/dependency state, safe incremental recalculation, bounded result deltas, cooperative cancellation, stale-result rejection, and retained immutable change previews;
  • provides a local stdio MCP server with high-level open, inspect, edit, preview, recalculate, range-read, delta, and verified Save As tools over the same interop session; and
  • raw-copies unchanged package entries without exposing ZIP or XML implementation types.

Usage

use cellrune::{
    CalculationCellResult, CalculationOptions, ReadOptions, calculate_workbook, read_xlsx_path,
};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let workbook = read_xlsx_path("input.xlsx", ReadOptions::default())?;
    let calculation = calculate_workbook(&workbook, CalculationOptions::default());

    for (cell, result) in calculation.cells() {
        match result {
            CalculationCellResult::Value(value) => println!("{cell:?}: {value:?}"),
            CalculationCellResult::Unavailable(issue) => {
                eprintln!("{cell:?}: {}", issue.code().as_str());
            }
        }
    }

    Ok(())
}

Reading and calculation are separate operations. calculate_workbook does not modify the source WorkbookSnapshot or its saved XLSX results. It attempts every formula in the workbook: successfully calculated cells contain a typed Value, while a cell that cannot be calculated contains a structured Unavailable(CalculationIssue). One unavailable formula does not suppress independent results; dependent formulas report BlockedByUpstream when applicable. Volatile functions require deterministic inputs through CalculationOptions: with_today_serial for TODAY() and with_now_serial for NOW(). Use with_arithmetic_semantics and with_financial_solver_semantics to opt into the raw IEEE-754 and extended-search behavior shipped through 0.1.2; the defaults select Excel-compatible cancellation and Microsoft's function-specific solver budgets. Use supported_function_catalog for the build's exact function surface and scan_function_usage to summarize the functions used by a workbook. scan_formula_capabilities remains available as an optional static inventory for migration planning and user-interface reporting; calculation does not require it.

CellRune 0.1.14 adds exactly 19 official Excel-facing engineering names: CONVERT, BESSELI, BESSELJ, BESSELK, BESSELY, COMPLEX, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMREAL, IMDIV, IMPOWER, IMPRODUCT, IMSUB, IMSUM, IMEXP, IMLN, and IMSQRT. CONVERT uses a typed, case-sensitive unit registry; the complex family shares one finite parser and canonical formatter; and the four Bessel functions use budgeted first-party kernels.

The fixed-income wave on top of 0.1.14 adds exactly 26 official names: ACCRINT, ACCRINTM, COUPDAYBS, COUPDAYS, COUPDAYSNC, COUPNCD, COUPNUM, COUPPCD, DISC, DURATION, INTRATE, MDURATION, ODDFPRICE, ODDFYIELD, ODDLPRICE, ODDLYIELD, PRICE, PRICEDISC, PRICEMAT, RECEIVED, TBILLEQ, TBILLPRICE, TBILLYIELD, YIELD, YIELDDISC, and YIELDMAT. They share a typed day-count and coupon-schedule model and a safeguarded yield root solver that charges the calculation budget and observes cancellation.

CellRune 0.1.22 adds 22 official statistical, distribution, and complex-logarithm names, including exclusive percentiles, TRIMMEAN, the A variances, STEYX, PROB, chi-square, Weibull, and confidence-interval functions, and IMLOG10/IMLOG2; the exact list is in llms.txt.

CellRune 0.1.16 added XLOOKUP, DATEVALUE, TIMEVALUE, NETWORKDAYS.INTL, and WORKDAY.INTL. Their fixed grammar, lookup modes, calendar rules, wildcard behavior, and array-result boundaries are documented alongside the current function catalog in llms.txt.

The regex functions target PCRE2 semantics with bounded compile, matching, capture, and output work. CellRune's prebuilt Python, Node.js, and MCP artifacts pin the bundled PCRE2 10.46 engine; Rust consumers use pcre2-sys linkage policy and can set PCRE2_SYS_STATIC=1 to select its bundled source build.

INDEX follows Excel's zero-index reference behavior: a zero row or column selects the complete corresponding column or row, and zero for both selects the complete input range. Scalar formulas apply legacy implicit intersection, while array formulas can materialize the selected rectangle. Unary and binary array operators that combine whole-column references use one common extent: the greatest populated row among the columns those operands reference, with a one-row minimum for an otherwise empty sheet. Cells in other columns of the same sheet do not widen it, so the value depends only on the cells the expression's own dependency rectangles cover and a full and an incremental recalculation agree. Missing cells within that extent are blanks, and directly resolved source arrays plus operator outputs are charged to its cumulative array-cell budget. Function calls keep function-defined argument boundaries: each array argument is evaluated under its own bounded context, and a function's return does not establish a whole-column operator extent by itself. When another direct whole-column operand has established such an enclosing context, the returned array is charged to that context before the operator consumes it.

Direct 3-D references are accepted by SUM, AVERAGE, AVERAGEA, COUNT, COUNTA, MAX, MAXA, MIN, MINA, PRODUCT, STDEV.P, STDEV.S, VAR.P, and VAR.S (including the catalogued legacy aliases). The span follows workbook tab order, so hidden sheets participate and reversed endpoint spelling produces the same set. Excel-defined direct 3-D error contexts remain values: INDEX and VLOOKUP return #VALUE!, while OFFSET returns #REF!. Other direct 3-D consumers remain an explicit UnsupportedSheetRange capability issue. A bare 3-D reference or one composed through an array operator returns #VALUE!; it does not silently inherit an enclosing aggregate's collection policy. The static capability scan and evaluator share this policy.

For repeated programmatic edits, use WorkbookCalculationSession instead of rebuilding stateless calculation state after every cell:

use cellrune::{
    CalculationOptions, CancellationToken, CellAddress, CellValue, EditBatch, FiniteNumber,
    RecalculationMode, SheetId, WorkbookCalculationSession, WorkbookChange,
};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut session = WorkbookCalculationSession::create();
    let sheet = SheetId::new(1)?;
    let receipt = session.apply_changes(
        0,
        EditBatch::new([WorkbookChange::set_cell_value(
            sheet,
            CellAddress::from_a1("A1")?,
            CellValue::Number(FiniteNumber::new(42.0)?),
        )]),
    )?;
    let delta = session.recalculate(
        RecalculationMode::Auto,
        CalculationOptions::default(),
        CancellationToken::new(),
    )?;
    assert_eq!(delta.result_revision(), receipt.result_revision());

    Ok(())
}

Auto evaluates a proven dirty subset and falls back to the same full-workbook calculation semantics when formula, name, sheet, option, dynamic-reference, or spill topology is uncertain. Forced incremental mode fails closed instead of guessing. Sessions use optimistic semantic revisions for atomic edits, retain bounded result-delta history, and reject stale calculations. A batch whose accepted operations make no semantic change keeps the current revision, topology, and installed calculation instead of forcing a redundant recalculation. Long-running work can be prepared outside the session lock with prepare_recalculation, cancelled through a request-owned CancellationToken, and installed only if its source revision is still current.

Use targeted calculation when a headless service needs only a few outputs. Rust exposes calculate_targets and WorkbookCalculationSession::calculate_targets; Python and Node expose the same operation without requiring a prior full calculation:

result = workbook.calculate_targets([
    {"sheet": "Sheet1", "start": "B1"},
    {"sheet": "Sheet1", "start": "D1", "end": "D10"},
])
const result = await workbook.calculateTargets([
  { sheet: "Sheet1", start: "B1" },
  { sheet: "Sheet1", start: "D1", end: "D10" },
]);

The separate partial result contains only requested cells, deduplicated in sheet-ID and row-major order, with typed values/issues, revision, fingerprint, provenance, options, and work counts. Only target formulas and required precedents are parsed/evaluated; layout metadata is inspected across the source workbook. A current complete cache with matching options can supply results. Partial requests preserve dirty state, full results, delta history, previews, and save requirements. Defaults bound input targets to 1,024, returned cells to 10,000, and evaluator invocations to 100,000; dynamic retries count toward the work budget. Request limits can be set with limits. Known array followers calculate their entire anchor. For an undeclared spill whose owner has never been calculated, include its anchor in the request; an unknown follower alone cannot locate an arbitrary formula elsewhere in the workbook. Saved formula results are never used as current calculation values. See llms.txt for the complete Rust types and transport contract.

Undeclared spills outside the dependency scope are not discovered. Use declared spill ranges or full calculation when independently anchored spills may overlap. A reproducible comparison of small and complete scopes is recorded in the targeted calculation benchmark.

The 0.1.16 change-preview workflow captures an immutable base/candidate transaction without mutating the live workbook. Retention belongs to cellrune-interop::WorkbookSession, which allows one active preview calculation and one published preview. Publication is two phase: a failed, cancelled, stale, or oversized replacement leaves the previous published preview available. A successful semantic mutation, commit, discard, or session close drops the published preview. Preview details use core-owned opaque cursors; a cancelled or resource-limited pre-commit remains retryable, while a stale or successful commit consumes its preview. The complete Rust and binding call shapes are documented in llms.txt.

Table authoring uses stable identities rather than positional names. Construct WorkbookChange::rename_table, rename_table_column, or resize_table_rows and include it in the same atomic EditBatch as other workbook changes. Renames update cell formulas, defined names, calculated-column formulas, and totals-row formulas through one typed source-span rewrite path. Resize preserves table identity and filter/sort orientation, materializes calculated and totals cells, and supports expanding a header-only empty table. Through WorkbookCalculationSession, formula rewriting and table materialization are bounded by SessionLimits. A successful EditReceipt lists the affected stable table IDs; any invalid target, collision, rewrite error, resource limit, or cancellation rolls the whole batch back.

Use analyze_defined_name, analyze_defined_name_with_options, or analyze_defined_name_cancellable to inspect a defined name against an immutable WorkbookSnapshot. The typed result distinguishes a single rectangle, a 3-D span, ordered multi-area geometry, a valid empty reference, dynamic formulas, constants, external targets, invalid definitions, unsupported expressions, and missing names.

open_xlsx_document_* retains the exact input package for writing. open_xlsx_document_vec keeps an owned Vec<u8> as that package without copying it, and XlsxDocument::into_input_bytes hands the bytes back, copying them only while a draft or clone still shares them. write_recalculated_xlsx_bytes, write_recalculated_xlsx, and write_recalculated_xlsx_path bind a calculation to that exact input, update typed formula caches, remove stale calculation chains, preserve unrelated package content, and reopen the output before reporting success. Their WriteReport::output_hash() returns an OutputHash: the SHA-256 of the exact verified output archive bytes, deliberately distinct from the input identity. Strict mode rejects incomplete calculations without producing an artifact; cache invalidation is an explicit opt-in policy. write_preserved_xlsx_bytes remains available for an unchanged preservation copy.

WorkbookDraft::new creates a canonical workbook, while WorkbookDraft::from_document retains the source package for preservation-aware edits. Calculate the draft's current workbook() and pass both objects to write_xlsx_draft_bytes, write_xlsx_draft, or write_xlsx_draft_path. A mutation that changes workbook semantics advances the semantic revision, so a calculation made before the latest effective edit is rejected. An accepted no-op keeps the revision unchanged. Path writes are Save As operations and never replace an existing destination unless replacement is explicitly enabled. Canonical drafts can author dynamic-array formulas with WorkbookDraft::set_cell_dynamic_formula; calculation resolves their spill region, detects occupied targets, and materializes followers for writing. Existing document-backed dynamic formulas can be recalculated without changing their metadata, while adding or replacing one is rejected until source metadata-index merging is implemented.

write_xlsx_draft_edits_bytes, write_xlsx_draft_edits, and write_xlsx_draft_edits_path write the edits of a document draft without a calculation. They remove the saved results of the formulas the edits can affect, listed by EditWriteReport::affected_formulas(), and only then set fullCalcOnLoad so the host recalculates on open. Every other saved result, calcChain.xml while the formula layout is unchanged, calcPr, and untouched parts keep their source bytes, and an uncalculable formula elsewhere does not block the write. Formulas whose references are known only after evaluation, such as INDIRECT or OFFSET, always count as affected when anything changed. Cells the draft creates take the style of their row or column, as in Excel.

Package-backed documents expose phonetic annotations and frozen panes through XlsxDocument::presentation(). WorkbookDraft provides atomic set_annotated_text, set_phonetics, clear_phonetics, set_frozen_pane, and clear_frozen_pane mutations. Phonetic base ranges are zero-based half-open UTF-16 code-unit ranges. Presentation-only changes have a separate revision and reuse an otherwise current calculation. Source rich-text phonetic editing, RTL pane authoring, and PHONETIC() calculation remain explicit unsupported boundaries.

Runnable examples are shipped in the crate package under examples/ and live at crates/cellrune/examples/ in this repository. From the repository root, run one with cargo run -p cellrune --example <name> -- [arguments]; from an extracted crate package, omit -p cellrune. See the public llms.txt reference for the complete example inventory and a condensed public API reference.

Language bindings

Python uses the mainstream PyO3 + maturin native-extension path. Node.js and TypeScript use napi-rs over stable Node-API with Promise-backed native work and exact-version platform packages. Neither binding requires a consumer Rust toolchain when installed from a wheel or prebuilt npm artifact.

The 0.1.25 release line targets Python 3.10 through 3.14 and Node.js 22 or newer. Install the bindings with:

python -m pip install "cellrune==0.1.25"
npm install "@cellrune/node@0.1.25"

The bindings and the MCP server share one versioned interop contract, but not every Rust capability reaches every surface:

Capability Rust Python Node.js MCP
Open, summary, range read, v1/v2 edits, calculate, recalculate, targeted calculation, previews, function usage, capability scan yes yes yes yes
Save calculated results yes yes yes yes
Save edits without calculating yes yes yes yes
Cell number formats, sheet autoFilter ranges, fullCalcOnLoad yes yes yes yes
Adjustable read and calculation limits yes yes yes defaults only
Defined-name inspection yes yes yes no
Sheet autoFilter and table column widening edits yes no no no
Phonetic annotations and frozen panes yes no no no
Typed limit diagnostics (observed, limit kinds, evaluation counts) yes no no no

Native package availability remains platform-specific; package managers must select a wheel or exact-version npm platform package compatible with the current runtime. Python inspect_defined_name and Node.js inspectDefinedName expose the typed defined-name query. The existing apply_changes/applyChanges v1 shapes are unchanged; the separate apply_changes_v2/applyChangesV2 methods add stable-ID table rename, table-column rename, and table-row resize plus changed_table_ids/changedTableIds receipts.

In the current bindings, Python exposes synchronous preview_changes, preview_changes_page, commit_preview, and discard_preview; the long native preview operation releases the GIL. Node.js exposes Promise-backed previewChanges, then synchronous previewChangesPage, commitPreview, and discardPreview. Python DTO fields use snake case and integer IDs; Node DTO fields use camel case and bigint IDs. A successful Python write report has output_sha256; the Node WriteReport has outputSha256. llms.txt defines the shared lifecycle and pagination semantics.

Python workbooks are context managers:

from cellrune import Workbook

with Workbook.create() as workbook:
    workbook.set_number("Sheet1", "A1", 41.0)
    workbook.set_formula("Sheet1", "B1", "=A1+1")
    workbook.calculate()
    # 0.1.2-compatible calculation remains available when required:
    workbook.calculate(
        arithmetic_semantics="ieee_754",
        financial_solver_semantics="extended_search",
    )
    workbook.save("output.xlsx", replace_existing=True)

In a Node.js ES module, close the workbook in finally:

import { Workbook } from "@cellrune/node";

const workbook = Workbook.create();
try {
  workbook.setNumber("Sheet1", "A1", 41);
  workbook.setFormula("Sheet1", "B1", "=A1+1");
  await workbook.calculate();
  await workbook.calculate({
    arithmeticSemantics: "ieee_754",
    financialSolverSemantics: "extended_search",
  });
  await workbook.save("output.xlsx", { replaceExisting: true });
} finally {
  workbook.close();
}

save/toBytes write CellRune's calculated results and, unless invalidate_unavailable is set, fail with xlsx.write.incomplete_calculation when any result is unavailable; the error's details.cells names the first 64 such formulas. To change an existing file without calculating, save only the edits instead. Formulas the edits can affect lose their saved results and the file asks the spreadsheet app to recalculate them on open; every other saved result and untouched part keeps its source bytes, and formulas CellRune cannot calculate do not block the save:

from cellrune import Workbook

with Workbook.open_path("input.xlsx") as workbook:
    workbook.set_number("Sheet1", "A1", 42.0)
    report = workbook.save_edits("edited.xlsx", replace_existing=True)
    print(report["affected_formulas"], report["requests_host_recalculation"])
import { Workbook } from "@cellrune/node";

const workbook = await Workbook.openPath("input.xlsx");
try {
  workbook.setNumber("Sheet1", "A1", 42);
  const report = await workbook.saveEdits("edited.xlsx", { replaceExisting: true });
  console.log(report.affectedFormulas, report.requestsHostRecalculation);
} finally {
  workbook.close();
}

edits_to_bytes/editsToBytes return the same package in memory. A workbook created rather than opened has no package to edit and fails with xlsx.write.invalid_package_plan.

Opening takes read_limits/readLimits and calculating takes calculation_limits/calculationLimits to change individual default limits, for example Workbook.open_path(path, read_limits={"max_entry_uncompressed_bytes": 256 << 20}). Omitted limits keep their defaults; a zero fails with interop.limit.invalid and an unknown name or a value that is not a positive integer with interop.limit.payload_invalid. scan_capabilities/ scanCapabilities page through the static per-formula support report. Range cells carry a number_format with its ID, code, and kind, and the summary reports each sheet's auto_filter range and the package's full_calculation_on_load declaration: xlsxwriter and similar producers set it and may store placeholder results, so read such saved results only after calculating.

Python and Node.js close() calls are idempotent. Once close() returns, the binding-owned native session has been released. An active calculation is cooperatively cancelled and a published preview is discarded; subsequent operations fail with the stable interop.session.closed code.

Local MCP

cellrune-mcp is a local stdio-only MCP 2025-11-25 server for AI hosts. It exposes a finite set of high-level workbook workflow tools; spreadsheet functions remain formulas inside the workbook and are not registered one by one as MCP tools. Start it with one or more explicit filesystem roots:

cargo run --locked -p cellrune-mcp -- \
  --root /absolute/path/to/approved/workbooks

Its 18 tools are workbook_create, workbook_open, workbook_close, workbook_summary, workbook_read_range, workbook_function_usage, workbook_scan_capabilities, workbook_apply_changes, workbook_apply_changes_v2, workbook_recalculate, workbook_calculate_targets, workbook_changes_since, workbook_save_as, workbook_save_edits_as, workbook_preview_changes, workbook_preview_changes_page, workbook_commit_preview, and workbook_discard_preview. The v2 edit tool adds stable-ID table rename, table-column rename, and table-row resize while retaining the v1 edit shapes. The four preview tools are the retained immutable transaction workflow: preview returns a summary and ID, page returns a byte-bounded core-cursor page, and commit or discard consumes the interop-owned preview. workbook_save_as returns the shared write report, including its lowercase output_sha256 output identity. workbook_save_edits_as writes a session's edits into the file it was opened from without calculating, under the same root and overwrite rules, and returns the edit report. MCP clients always use the default read and calculation limits; raising them is left to the operator.

workbook_calculate_targets accepts session_id, targets, optional options, and optional limits. Its limits are capped at the defaults above. The entire partial response must fit --max-response-bytes; an oversized response fails without installing state, so callers can retry with fewer targets. It uses the existing request cancellation and session lifetime controls.

workbook_recalculate always installs a completed calculation. When its delta exceeds --max-response-bytes, it reports mcp.recalculation.response_byte_limit_exceeded with the installed result_revision and delta_cursor; range reads and Save As use the installed results.

The server also publishes read-only JSON resources at cellrune://support/functions and the cellrune://sessions/{session_id}/summary resource template. Operators can set --max-sessions, --session-ttl-seconds, --max-response-bytes, --max-workbook-bytes, and --log-level; run cellrune-mcp --help for their defaults. Values outside the server's compiled policy limits are rejected at startup.

cellrune-mcp is not published to a package registry. Prebuilt bundles for Linux, macOS, and Windows are attached to each GitHub release, alongside their license materials and build provenance.

An MCP client can launch a release binary with configuration equivalent to:

{
  "mcpServers": {
    "cellrune": {
      "command": "/absolute/path/to/cellrune-mcp",
      "args": ["--root", "/absolute/path/to/approved/workbooks"]
    }
  }
}

The server canonicalizes configured roots at startup. Every workbook path supplied to a tool must be absolute and resolve inside one of those roots; a path outside every root, including a UNC share or device path, is rejected before any filesystem access. The server bounds workbook/session/response resources, writes protocol traffic only to stdout, writes diagnostics only to stderr, and never provides a remote transport. Inputs are opened through an approved-root capability and read from the same file handle under the configured archive-byte ceiling. Existing destinations are protected unless the server starts with --allow-overwrite and a request also sets replace_existing. Save As retains an open destination-directory capability from validation through atomic installation, so renaming or replacing the ambient parent path cannot redirect a write outside the approved root. Resource lists use byte-bounded cursor pagination. Preview pages likewise return the longest complete interop prefix that fits the response limit and use opaque cursors bound to the preview and detail section. At session capacity, create/open may evict the least-recently-used idle session; active sessions are never evicted. TTL expiry and LRU eviction drop the interop session, which discards its retained preview rather than maintaining a separate MCP preview cache. Give the server the narrowest practical root; another process with write access inside that root can still change workbook inputs and contents.

Tool results carry untrusted content. Cell text, sheet names, and defined names come from the workbook and are returned verbatim, so a crafted workbook can place text that reads as an instruction into a tool result. That is the same trust boundary as any other document a model reads: the server does not rewrite workbook content, and the consuming application is responsible for treating tool output as data rather than as instructions.

To inspect the local server before client integration:

npx --yes @modelcontextprotocol/inspector@1.0.0 \
  cargo run --locked -p cellrune-mcp -- \
  --root /absolute/path/to/approved/workbooks

Scope

CellRune supports ordinary Transitional SpreadsheetML workbooks and a scoped set of Excel formula syntax and functions. Unsupported formulas are returned as explicit per-cell calculation issues; other formulas continue to calculate.

The following are outside the current scope:

  • browser, frontend/UI, WebAssembly, hosted-service, and remote-MCP transports;
  • .xls, .xlsb, .ods, and CSV;
  • macro, add-in, external-workbook, query, or data-connection execution;
  • 3-D references outside the audited direct-consumer policy above;
  • data-table calculation; and
  • iterative calculation and automatic host-time inputs.

docs/NUMERICS.md records where calculated values differ from Excel and why, and documents the two calculation options added in 0.1.3: ArithmeticSemantics and FinancialSolverSemantics, which default to Excel's behavior and can be set to Ieee754 and ExtendedSearch for what 0.1.2 did.

Verification

Run the standard Rust test suite from the repository root:

cargo test --workspace --all-features --locked

Formula compatibility is regression-tested against committed Excel-saved and Apache POI workbooks. See the conformance/README.md reference for the fixture layout, classifications, focused audit command, and maintenance policy.

License

CellRune is dual-licensed under either the MIT License or the Apache License, Version 2.0, at your option. You need to comply with only one of them, not both. Apache-2.0 includes an explicit patent grant; MIT does not. Both license texts are included in the source distribution.

Versions 0.1.0 through 0.1.2 were published under the MIT License alone and remain available under those terms. The dual license applies from version 0.1.3 onward. Dependency license information is provided in THIRD_PARTY_LICENSES.md.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Metadata

Release files for cellrune 0.1.25

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cellrune 0.1.25
File Size Uploaded Provenance
cellrune-0.1.25.tar.gz 1.0 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for cellrune 0.1.25
File
cellrune-0.1.25-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
cellrune-0.1.25-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
cellrune-0.1.25-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
cellrune-0.1.25-cp314-cp314-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ ARM64 Details
cellrune-0.1.25-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
cellrune-0.1.25-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
cellrune-0.1.25-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
cellrune-0.1.25-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
cellrune-0.1.25-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
cellrune-0.1.25-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
cellrune-0.1.25-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
cellrune-0.1.25-cp313-cp313-musllinux_1_2_aarch64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ ARM64 Details
cellrune-0.1.25-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
cellrune-0.1.25-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
cellrune-0.1.25-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
cellrune-0.1.25-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
cellrune-0.1.25-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
cellrune-0.1.25-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
cellrune-0.1.25-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
cellrune-0.1.25-cp312-cp312-musllinux_1_2_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ ARM64 Details
cellrune-0.1.25-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
cellrune-0.1.25-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
cellrune-0.1.25-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
cellrune-0.1.25-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
cellrune-0.1.25-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
cellrune-0.1.25-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
cellrune-0.1.25-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
cellrune-0.1.25-cp311-cp311-musllinux_1_2_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ ARM64 Details
cellrune-0.1.25-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
cellrune-0.1.25-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
cellrune-0.1.25-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
cellrune-0.1.25-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
cellrune-0.1.25-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
cellrune-0.1.25-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
cellrune-0.1.25-cp310-cp310-musllinux_1_2_aarch64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ ARM64 Details
cellrune-0.1.25-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
cellrune-0.1.25-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details
cellrune-0.1.25-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
cellrune-0.1.25-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details

Total release size: 120.9 MB

Release files / cellrune-0.1.25.tar.gz

Download URL cellrune-0.1.25.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
85ba0e1464ce3cc3f9a0b5750a98c3c4b2c33d9813e21fe53867ec7c43912c31
BLAKE2b-256 checksum
How to use checksums
d4769cece924c5a33192edb969f292dc3bc538d2adbac8d71478a9bedb501b0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp314-cp314-win_arm64.whl

Download URL cellrune-0.1.25-cp314-cp314-win_arm64.whl
Size 3.0 MB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
8aef52c04402be4774df0e65f51a382600889c5a4bf848651e15f71178d1d03f
BLAKE2b-256 checksum
How to use checksums
7e2aedb99bb0ddb8e444f2a67b6ddb8d4f5021beb43100648bca4ec4ab0f0795
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp314-cp314-win_amd64.whl

Download URL cellrune-0.1.25-cp314-cp314-win_amd64.whl
Size 3.2 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
c7065110daa81e066a156771f3c65bc99f47a15d185d8db2fb296dbe6e4f3e4c
BLAKE2b-256 checksum
How to use checksums
bba8ea27f4eeca0eda30e4e3e149099d23df25486fcd1eb3c3679f42262fcb15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL cellrune-0.1.25-cp314-cp314-musllinux_1_2_x86_64.whl
Size 3.2 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
00a6b9f42f4297571fbd3b4b0df4a1f59ee554cd68f7ce4128930e5d000630f4
BLAKE2b-256 checksum
How to use checksums
a9208ce84e9378dc7444a812e5b247274e2f3deac5819ea74f2ff747c41b654f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp314-cp314-musllinux_1_2_aarch64.whl

Download URL cellrune-0.1.25-cp314-cp314-musllinux_1_2_aarch64.whl
Size 2.9 MB
Tags CPython 3.14 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
b2819b9b970f76a30d64535797061bee2926067950ddb83d2d8f966655d88950
BLAKE2b-256 checksum
How to use checksums
4f55eb75b2ead3ed742df2bfb52a3601bb1a683a334e8d4535dba5ad13ffebac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL cellrune-0.1.25-cp314-cp314-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2710d3d89db3b7451df15c6fa82494d0e4fda86dca20993e73810601c53c3485
BLAKE2b-256 checksum
How to use checksums
235dade0247502f24fcb46c4e8ee2a684ab795453601db4d002f8fbea349efee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL cellrune-0.1.25-cp314-cp314-manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
02e266e14e5a4578acfa2b7edbc540e16dab876380c3b9b1be3d595a2ed77c98
BLAKE2b-256 checksum
How to use checksums
eea0891c4eb1834986b75abf76f30bb57117062f43dd339f312b465d0cba829b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp314-cp314-macosx_11_0_arm64.whl

Download URL cellrune-0.1.25-cp314-cp314-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
035625b8dc42206c6050e6225a31106c10905db853363e81d88c97260fb7bfd6
BLAKE2b-256 checksum
How to use checksums
04489bb4883a022f8e973e28a0d7d5e8adc1e36612eee671e50ac62de120193d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp314-cp314-macosx_10_12_x86_64.whl

Download URL cellrune-0.1.25-cp314-cp314-macosx_10_12_x86_64.whl
Size 3.1 MB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
872e88719111879fae920a14b55c0f241e24535742f82318ec9666780539e3f7
BLAKE2b-256 checksum
How to use checksums
d16e8d37a5d4c6f4362ed0d49e8b44bb5a70d035783de6e1a514ea9519d85e39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp313-cp313-win_arm64.whl

Download URL cellrune-0.1.25-cp313-cp313-win_arm64.whl
Size 3.0 MB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
4782c57c8790b17c02ab6af5a673ce60c6e8b659a43ca4c4cbada210691d0bda
BLAKE2b-256 checksum
How to use checksums
e71ff67b3d2447b71dc81c42eb41cd5324390dea2bcc7c3de6f64a212f5d68d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp313-cp313-win_amd64.whl

Download URL cellrune-0.1.25-cp313-cp313-win_amd64.whl
Size 3.2 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
29ef363e8b466a1b4454a0f23007990dd85f8b69c8ee4e03a0af6c1b0363c3c4
BLAKE2b-256 checksum
How to use checksums
c240058bce02575a6cdf5612c8cccac994e4e9725f953f70d94b335ab4df7ab4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL cellrune-0.1.25-cp313-cp313-musllinux_1_2_x86_64.whl
Size 3.2 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6eec53ccfd7e2634d39b1149bf7be626fd12f1a5e1e9cd4cdb8108de1f700ff5
BLAKE2b-256 checksum
How to use checksums
083cbd865e792ff92fa8b32fd0424a8b7c1b9ca0d7a7a38a849d7609f085b16e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp313-cp313-musllinux_1_2_aarch64.whl

Download URL cellrune-0.1.25-cp313-cp313-musllinux_1_2_aarch64.whl
Size 2.9 MB
Tags CPython 3.13 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
4b2604fe818775a6027e9477735fd8e2a55426162fecde54ee5a37877f10248f
BLAKE2b-256 checksum
How to use checksums
43fe2c35de252c2fa94df16c29259773a9b43f75454ac0f6bca182595909bc45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL cellrune-0.1.25-cp313-cp313-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
38a7a05747cd72bfb9a37e3d2670f61aa3ffbd03138d7963847dd4f01877c8bc
BLAKE2b-256 checksum
How to use checksums
348f6da0b0af50e2af6470e8459ab0f80aea466f16ff1ec964de245779e8eb13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL cellrune-0.1.25-cp313-cp313-manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
2c076af7f7c61902f3d7b91723bee1caf44d805fac814ff0cb5eed5c000ac8d3
BLAKE2b-256 checksum
How to use checksums
918c592d134544286094c8bb511ec4a5697937864a013fb35ce06e22b6023982
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp313-cp313-macosx_11_0_arm64.whl

Download URL cellrune-0.1.25-cp313-cp313-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d03fb30b76546c008e4c7a258cc1bc6ca8e92b17edb1d6b56aa53ffebb696427
BLAKE2b-256 checksum
How to use checksums
08255917349fb578634085638254986569fa9c1e186a8b0fec94860d6cb4a36a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp313-cp313-macosx_10_12_x86_64.whl

Download URL cellrune-0.1.25-cp313-cp313-macosx_10_12_x86_64.whl
Size 3.1 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
db62f545f58f4725cb6d6d1a5d2f2b688602858a4a790f9ba924a9123ded9e8c
BLAKE2b-256 checksum
How to use checksums
a10744b5e78b9e57e093d9de91d852269f823c54ffe17365f370bc6cdc395d99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp312-cp312-win_arm64.whl

Download URL cellrune-0.1.25-cp312-cp312-win_arm64.whl
Size 3.0 MB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
4ede609fd8c4c97496bf13a184ea1e3877a762e939e07a0bc60e85c4755df127
BLAKE2b-256 checksum
How to use checksums
c63531db4f1fb89a67d6952a1e9c1df1ab292b082b1ba0e07881629855ac5823
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp312-cp312-win_amd64.whl

Download URL cellrune-0.1.25-cp312-cp312-win_amd64.whl
Size 3.2 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
4c0da225f1678f0d5ade971c4728bd36f09edcd04dd7e89a75daa308371750f2
BLAKE2b-256 checksum
How to use checksums
da5f03c92018e45d7fc44f688d3d5200c74f13c43777d79821b2d445ca1270f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL cellrune-0.1.25-cp312-cp312-musllinux_1_2_x86_64.whl
Size 3.2 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
dff07b01362ed57de44f548cf8b9787b962a9f30866cd94ecaadd6a78c45700c
BLAKE2b-256 checksum
How to use checksums
1e858c9c3aaf77a5c1994b38d6929966eb4f1702c453e80d53260bf51decf3f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp312-cp312-musllinux_1_2_aarch64.whl

Download URL cellrune-0.1.25-cp312-cp312-musllinux_1_2_aarch64.whl
Size 2.9 MB
Tags CPython 3.12 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
0d130ab5d57c5fb52f7ec5ea7f025eca6858d0b153afe35eee3724e28dc1f745
BLAKE2b-256 checksum
How to use checksums
c5f133cac62d90c1e0f4d156a5c2cfcd0e3e6b9baeb994858ee1d57c225addc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL cellrune-0.1.25-cp312-cp312-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f861a3848b66f09ce96ee84994656d7b92637a4ba99f99672d10f17dc2f859e9
BLAKE2b-256 checksum
How to use checksums
90ef79fa8398356efcbf372dc39007ff35134c294f7aee9846eaa8a3789862ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL cellrune-0.1.25-cp312-cp312-manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e22df7d5b5431de2e7fd46905f4e344622b3b160c2ad48abaa3addf24e43b566
BLAKE2b-256 checksum
How to use checksums
d1f267d42fc370ced75c211501c0ee45d8e025d3029bed06a98bb7c04705f146
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp312-cp312-macosx_11_0_arm64.whl

Download URL cellrune-0.1.25-cp312-cp312-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d89a8cd264d395474211b4a629fb7fdca7a3f50f0619dca81abb855edd3ed1fc
BLAKE2b-256 checksum
How to use checksums
9eed44ee11febc3e346c0421323844dca8c231d2394ad923afb7de75e527f1f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp312-cp312-macosx_10_12_x86_64.whl

Download URL cellrune-0.1.25-cp312-cp312-macosx_10_12_x86_64.whl
Size 3.1 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
1bbf59c44b3ab43047d94d294bcf47c102c7cbb658d3a22818dff4b3d4a4aed1
BLAKE2b-256 checksum
How to use checksums
297b76e6f96fb9f1ec5745910808e56e159d53acc78a58977081534ec1d1c8d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp311-cp311-win_arm64.whl

Download URL cellrune-0.1.25-cp311-cp311-win_arm64.whl
Size 3.0 MB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
6539b162e62b3727b3832ea3e63a085502538070423a40dedf8e8201b2d2e70e
BLAKE2b-256 checksum
How to use checksums
12b945982abee2423fe578eb1e671eb03b4973083b7949b3c706be55a18485bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp311-cp311-win_amd64.whl

Download URL cellrune-0.1.25-cp311-cp311-win_amd64.whl
Size 3.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
528f19f6bf8fa4861ecc16af075ca3f885cb41b21a0f68d4088fd4d6cc3c40c1
BLAKE2b-256 checksum
How to use checksums
0a9d6190e9960bcb49b4d94d7f95d5a56647a0c19885969522f939dea145c21c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL cellrune-0.1.25-cp311-cp311-musllinux_1_2_x86_64.whl
Size 3.2 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6a5d39d522de261aa0c916d907ae35c5a08b9cea1922e355abae2f858c5e6a4d
BLAKE2b-256 checksum
How to use checksums
39de8d87134c7bba8fd4dac6c29b34023d163840134002470304896e085d7048
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp311-cp311-musllinux_1_2_aarch64.whl

Download URL cellrune-0.1.25-cp311-cp311-musllinux_1_2_aarch64.whl
Size 2.9 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
5def9ce5b997878693b88023c5010962f2a4d2f295187953b0c98fb2d943ea46
BLAKE2b-256 checksum
How to use checksums
e043fc48de16c57105ee8b60c8b095c00dab938f36626b7a1f63b546024484d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL cellrune-0.1.25-cp311-cp311-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9a75b30e872a340582c7fe8a71d890f08ffc0652ed960a38112a025fc42608ff
BLAKE2b-256 checksum
How to use checksums
f38b9c36184ec9404d2d312282ae81de8b96a68f04945f45db822d482676b79a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL cellrune-0.1.25-cp311-cp311-manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
05a584e2c2ac4a7c3e34ee20da0baa65446557119064eb4a3fbbee9d6d0deadf
BLAKE2b-256 checksum
How to use checksums
a7ef885f9bd1bbae822eea7937e8d91f59c3e78402c46c3fc42197f4cee88aaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp311-cp311-macosx_11_0_arm64.whl

Download URL cellrune-0.1.25-cp311-cp311-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c3fa1998965a5fab3207b1e9e7500852d7592aff51b717c33eb5f5e5acee5fa1
BLAKE2b-256 checksum
How to use checksums
e213fea13f797f376781880354f134f9d6cc4e1d595f5ff0bb6a546a0cd71366
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp311-cp311-macosx_10_12_x86_64.whl

Download URL cellrune-0.1.25-cp311-cp311-macosx_10_12_x86_64.whl
Size 3.1 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
746f4c7b10d7cb82bd516ad6480bb9adc355c471d08e66103e4b38a4bbb0543b
BLAKE2b-256 checksum
How to use checksums
abf6c7823375439a812f941e3cd2843c7fd0dffc5eb9f3d5889df3909a033d52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp310-cp310-win_amd64.whl

Download URL cellrune-0.1.25-cp310-cp310-win_amd64.whl
Size 3.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
cfa9475f3bba7e715b9a399d26220da242024679779207420a2a5216928dad10
BLAKE2b-256 checksum
How to use checksums
9da5afb58dab924bc2be3cde8cbbcce9a538b616d5bec563a503344e564bd3ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL cellrune-0.1.25-cp310-cp310-musllinux_1_2_x86_64.whl
Size 3.2 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
33109ddb40847f112afd1180812cb9fa42ce0616b44b0e61f46f54a0f03bea6a
BLAKE2b-256 checksum
How to use checksums
214dd924b0b696981431f2b457e91ad5dd9b513f61ffb123b5f95964573ea140
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp310-cp310-musllinux_1_2_aarch64.whl

Download URL cellrune-0.1.25-cp310-cp310-musllinux_1_2_aarch64.whl
Size 2.9 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
b12e234eecc2508ca04e3e38822092bc4357b3d3d9929d78f8061fd90136bfe5
BLAKE2b-256 checksum
How to use checksums
e3cacedb73c983b855059ca2c38021a57e0c554fcd2776e57c27723adaba6098
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL cellrune-0.1.25-cp310-cp310-manylinux_2_28_x86_64.whl
Size 3.2 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
79e3ef6a5136eef45321098636bd9aa53b07c996430bf6abf95cd4e6abaa1d60
BLAKE2b-256 checksum
How to use checksums
0ad4d71988712e9089ad11e9d9401f4dcc1532458307b19ba77ad73b873899a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL cellrune-0.1.25-cp310-cp310-manylinux_2_28_aarch64.whl
Size 3.0 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
7083a53c7b74be16383212382a3ec389bcc8c721c8cfc2505de06f6e4d57a866
BLAKE2b-256 checksum
How to use checksums
fc14e24cd00fed3ccf448f4762a810ae4103a4449f23592a82dca62d16d5ab29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp310-cp310-macosx_11_0_arm64.whl

Download URL cellrune-0.1.25-cp310-cp310-macosx_11_0_arm64.whl
Size 2.9 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
01149dd6ef499d2b39e3ccbde4e44eb2c16fb1d03803e40f6aa77649983dd208
BLAKE2b-256 checksum
How to use checksums
f16a7ff29eee200df607b526f328ac615c8e2e64cfd12168bc7851718b4378b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / cellrune-0.1.25-cp310-cp310-macosx_10_12_x86_64.whl

Download URL cellrune-0.1.25-cp310-cp310-macosx_10_12_x86_64.whl
Size 3.1 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
85e1e943ec908a48e943d9ceda84a8f9572d656096c48f4f711dc271cdb7fe6e
BLAKE2b-256 checksum
How to use checksums
9f85ec90c383c5cb554cccf53fddc72dddf45aa41b00f46d4e0c17c7384d34a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Security for cellrune 0.1.25

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 40 files in this release have been uploaded with provenance metadata.

Select from 40 files

Attestation for cellrune-0.1.25.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page