Skip to main content

elixcee

English | 日本語 | 中文

Run, test, and diagnose Excel VBA macros without requiring Microsoft Excel. elixcee is a Rust-powered headless VBA runtime for Linux, macOS, and Windows, with static checks, property-based workbook testing, and structured diagnostics for VBA and workbook-operation failures.

The core engine is written in Rust; Python bindings are provided via pyo3 + maturin.

Name

elixcee = Excel + elixir + C

An elixir that cures your Excel dependency — running at C-level speed via Rust.


Comparison with similar tools

Feature elixcee xlwings LibreOffice UNO openpyxl xlcalculator
Runs VBA macros Yes Yes Yes (subset) No No
Requires Excel No Yes No No No
Requires LibreOffice No No Yes No No
Evaluates formulas Yes Yes Yes No Yes
macOS/Linux/Windows Yes partial Yes Yes Yes
Simple Python API Yes Yes No Yes Yes
Read .xlsx Yes Yes Yes Yes Yes
Read .ods Yes Yes Yes No No
Write .xlsx Yes Yes Yes Yes No
Write .ods Yes Yes Yes No No
Execution speed Rust (native) COM/IPC (slow) IPC (slow) Python

Notes:

  • xlwings requires Excel for Mac on macOS (via AppleScript) and Excel on Windows (via COM). Linux support requires a running Excel instance or a cloud bridge.
  • LibreOffice UNO has a slow startup (≥ 1 s process launch) and a complex API. It runs VBA via LibreOffice's own interpreter, which may not match Excel's behavior exactly.
  • openpyxl reads cached formula values from .xlsx files but does not re-evaluate formulas at runtime.
  • xlcalculator re-evaluates Excel formulas in Python but has no VBA support.
  • elixcee's VBA interpreter covers the subset of VBA used in typical data-processing macros (loops, conditionals, cell read/write, string/math functions, multi-sheet access). Most Excel UI operations such as charting and formatting are unsupported or no-ops. MsgBox is handled specially: depending on the mode, it's printed to stdout, collected in JSON output, or raised as an error.

Installation

pip install elixcee

Development build (from source):

python3 -m venv .venv && source .venv/bin/activate
maturin develop

CLI (Windows / Linux / macOS)

Pre-built binaries are available on the Releases page — no Python required.

Download Platform
elixcee-x86_64-windows.exe Windows x64
elixcee-x86_64-linux Linux x64
elixcee-aarch64-macos macOS Apple Silicon

Usage

elixcee <vba_file>... <MacroName> [OPTIONS]

Arguments:
  <vba_file>...  One or more VBA source files (.vbs / .bas / .txt). With
                 more than one, use Module.Sub to disambiguate same-named
                 Subs/Functions across modules.
  <MacroName>    Name of the Sub to execute (last argument)

Options:
  --file <path>    Load cell data from spreadsheet (.xlsx / .xlsm / .ods)
  --sheet <name>   Active sheet name (default: first sheet in --file)
  --output <path>  Save result cells to spreadsheet (.xlsx / .ods)
  --json           Emit a single JSON object (result or error) instead of plain text

Examples

Run a VBA file and print results to stdout:

elixcee macro.vbs ProcessData

Load data from an Excel file, run a macro, and save the output:

elixcee macro.vbs ProcessData --file input.xlsx --output result.xlsx

Output format — one line per non-empty cell, tab-separated address and value:

A1    Hello
B1    42
A2    3.14

MsgBox calls are printed to stdout.

Multiple files (multi-module projects)

Pass more than one source file to run a project spanning several modules. Sub/Function names are shared project-wide — use Module.Sub to pick a specific one if the bare name exists in more than one module (module names come from Attribute VB_Name if present, else the filename):

elixcee Helpers.bas Main.bas Main.ProcessData

There's no project manifest yet (see docs/agent-contract.md for exactly what is/isn't supported, including how cross-module name collisions are handled).

JSON output (for scripts / AI agents)

Add --json for a single machine-readable JSON object instead of plain text:

elixcee macro.vbs ProcessData --json
{"schema_version":1,"ok":true,"entrypoint":"ProcessData","duration_ms":0.42,"cells":[{"sheet":"sheet1","address":"A1","value":42}],"messages":[]}

Full contract — error codes, exit codes, messages semantics: docs/agent-contract.md.

Static analysis without running the macro

elixcee check inspects one or more .bas files without executing them: parse errors, whether the entrypoint macro exists, undefined Sub/Function calls anywhere in the body, and interactive MsgBox calls. Every positional argument is a file; the entrypoint (if any) is always --entry, never positional — so elixcee check *.bas checks every module in a project without asserting any particular entrypoint.

elixcee check macro.vbs --entry ProcessData --json
{"schema_version":1,"ok":true,"diagnostics":[]}

Workbook snapshot

elixcee snapshot reads a .xlsx/.xlsm/.ods file directly — no VBA execution — and prints every sheet's non-empty cells as Markdown by default, or JSON with --json:

elixcee snapshot Book1.xlsx --json
{"schema_version":1,"ok":true,"file":"Book1.xlsx","sheets":[{"name":"Sheet1","sheet_id":"1","stable_id":"sheet1","cells":[{"address":"A1","value":42}]}]}

stable_id is derived from the file's own sheetId when available (else a positional fallback) — it is not VBA's CodeName property. See docs/agent-contract.md for the full rationale.

Property-based workbook testing

elixcee test-workbook reruns a macro against a starting workbook many times with generated boundary-value inputs (blank, 0, 1, -1, near overflow, empty/short/long strings), checking every run for panics, runtime errors, timeouts, and Excel error values — each case starts from a completely fresh workbook state:

# fixture.toml
name = "order calculation"
workbook = "orders.xlsx"
vba_files = ["Main.bas"]
macro = "Main.Process"
cases = 100
seed = 42

[[inputs]]
range = "Input!B2:B10"
strategy = "boundary_numeric"

[[assertions]]
range = "Result!A1:F100"
rule = "no_excel_errors"
elixcee test-workbook fixture.toml --json

A failing case reports its seed and case index so it can be reproduced exactly: elixcee test-workbook fixture.toml --seed 42 --case 17. Full schema, strategies, and assertion rules: docs/agent-contract.md.

Excel operation diagnostics

elixcee diagnose runs a macro once and explains why Excel would reject it — a missing worksheet, a missing workbook, an out-of-bounds array index, a Copy/Paste shape mismatch, a write to a protected sheet, or a Copy/Paste that conflicts with a merged-cell layout — with evidence, instead of a bare error string:

elixcee diagnose Main.bas --file report.xlsx --json Main.Run
{
  "schema_version": 1,
  "ok": false,
  "message": "Sheet 'Sales2025' not found",
  "location": {"file": "Main.bas", "line": 2, "column": 5},
  "root_causes": [
    {
      "code": "WORKSHEET_NOT_FOUND",
      "certainty": "definite",
      "expression": "Worksheets(\"Sales2025\")",
      "requested": "Sales2025",
      "available": ["input", "sales2026", "summary"],
      "suggested": "sales2026",
      "suggestions": ["did you mean 'sales2026'?"]
    }
  ],
  "messages": []
}

Range("A1:C10").Copy followed by Range("E1:F10").PasteSpecial reports both the shape mismatch and where each statement is:

{
  "code": "PASTE_SHAPE_MISMATCH",
  "source_addr": "A1:C10", "source_rows": 10, "source_cols": 3,
  "dest_addr": "E1:F10", "dest_rows": 10, "dest_cols": 2,
  "copy_location": {"file": "Main.bas", "line": 2, "column": 5},
  "suggestions": [
    "resize the destination to E1:G10",
    "or specify only the top-left cell E1"
  ]
}

Writing to a .Protected sheet reports which sheet and how to fix it:

{
  "code": "SHEET_PROTECTED",
  "sheet": "sheet1",
  "suggestions": ["unprotect the sheet first: Worksheets(\"sheet1\").Unprotect"]
}

Pasting A1:C10 into E1:G10 when the destination's first row is merged (E1:G1) but the source's isn't reports the layout conflict and both locations:

{
  "code": "PASTE_MERGE_LAYOUT_MISMATCH",
  "source_addr": "A1:C10", "dest_addr": "E1:G10",
  "conflicts": ["E1:G1"],
  "copy_location": {"file": "Main.bas", "line": 2, "column": 5},
  "suggestions": [
    "unmerge E1:G1 before pasting",
    "or make the source and destination merge layouts identical"
  ]
}

Full classification rules and JSON schema: docs/agent-contract.md.

Diagnosing across generated inputs

elixcee diagnose-workbook combines the two features above: it reruns a macro across test-workbook's generated cases and classifies whichever failures it finds, instead of only reporting a bare error string. It's most useful for input-dependent failures like array-bounds errors, where only some drawn values trigger the bug — a single diagnose call already finds structural issues (shape mismatches, merged-cell conflicts, sheet protection) in one shot, since those don't depend on the input at all:

elixcee diagnose-workbook fixture.toml --json
{
  "schema_version": 1,
  "ok": false,
  "seed": 42,
  "case_index": 3,
  "inputs": [{"address": "sheet1!B2", "value": 999999999}],
  "failure": {
    "rule": "no_runtime_error",
    "message": "Array 'arr': index 999999999 out of bounds (len=6)"
  },
  "root_causes": [
    {
      "code": "ARRAY_INDEX_OUT_OF_BOUNDS",
      "name": "arr", "index": 999999999, "lower": 0, "upper": 5,
      "suggestions": ["check that 'arr' is large enough for index 999999999 (valid range is 0 To 5)"]
    }
  ]
}

Same fixture format and --seed/--case replay as test-workbook, plus --cases N to override the fixture's own case count for one run. Full schema: docs/agent-contract.md.

Multi-area ranges

Range("A1:A10,C1:C10") — a disjoint, multi-area range — is now recognized by .Copy, but pasting it is diagnose-only: diagnose/ diagnose-workbook classify why, instead of silently doing nothing:

{
  "code": "MULTI_AREA_TO_SINGLE_AREA_PASTE",
  "source_areas": [
    {"address": "A1:A10", "rows": 10, "columns": 1},
    {"address": "C1:C10", "rows": 10, "columns": 1}
  ],
  "destination_areas": [
    {"address": "E1:F10", "rows": 10, "columns": 2}
  ],
  "suggestions": [
    "paste each source area separately",
    "copy a contiguous rectangular range",
    "use destination areas with matching count and shapes"
  ]
}

Union(), Areas, Dim rng As Range/Set object variables, and matching-shape multi-area paste are now implemented — see "VBA object model" below. The 4 classified codes above still apply to every multi-area shape that doesn't match exactly (different area counts or shapes, or either side single-area): full scope in docs/agent-contract.md.

Hidden row/column evidence

diagnose/diagnose-workbook now report when a .Copy'd range overlaps hidden rows/columns (read from real XLSX hidden="1" metadata) — not an error, just a new observations field, present alongside (or instead of) root_causes:

{
  "code": "RANGE_CONTAINS_HIDDEN_CELLS",
  "certainty": "observed",
  "range": {"sheet": "sheet1", "address": "A1:C100", "rows": 100, "columns": 3},
  "visibility": {
    "hidden_rows": ["11:14", "30:39"],
    "hidden_columns": ["B:B"],
    "total_cells": 300,
    "visible_cells": 172
  },
  "message": "The range contains hidden rows or columns. Excel operations using visible cells only may produce a multi-area range."
}

This is what SpecialCells(xlCellTypeVisible) (below) builds on — plain Copy/Paste itself is unaffected (hidden cells still copy/paste exactly as before). XLSX only; ODS is deferred. Full scope: docs/agent-contract.md.

VBA object model

Dim rng As Range
Set rng = Range("A1:B2")
rng.Value = 5                        ' real Set reference semantics — an alias, not a copy

Dim u As Range
Set u = Union(Range("A1"), Range("D1"))
Range("C1").Value = u.Areas.Count    ' 2

Dim ws As Worksheet
Set ws = ActiveSheet
ws.Range("A1").Value = 1

Range("F1").Value = 7 Mod 3          ' 1
Range("F2").Value = 2 ^ 3            ' 8
Range("F3").Value = 7 \ 3            ' 2 (integer division)
If Not (a And b) Then MsgBox "ok"

With Cells(r, c)                     ' any target expression, evaluated once
  .Value = 5
  If .Value > 0 Then .Value = .Value + 1   ' .member works at any nesting depth
End With

Set rng = Range("A1"): Set rng2 = rng: Set rng = Nothing
rng2.Value = 1                       ' aliases survive Set ... = Nothing on the original
rng.Value = 2                        ' raises "Object variable or With block variable not set"

Dim n
n = Null
If IsNull(n + 5) Then MsgBox "Null propagates through +"   ' True

Function DoubleIt(x As Integer) As Integer
  DoubleIt = x * 2
End Function

Set-assigned Range/Worksheet/Workbook object variables with real reference semantics — including a genuine unset/Nothing state (member access through a never-Set or explicitly-Nothing variable raises real VBA's "Object variable or With block variable not set"; Set x = Nothing clears only x, not any alias made from it earlier) — Union/Areas, SpecialCells(xlCellTypeVisible) (built on the hidden row/column evidence above), matching-shape multi-area Copy/Paste, Mod/\/^, infix And/Or/Xor/Not (real bitwise semantics on non-Boolean operands), a runtime With stack (any target expression — including a computed one like With Cells(r, c) — evaluated once, with .member resolving correctly at any nesting depth inside If/For/Do/Select Case), Variant's Null (documented VBA propagation through +/&/comparisons, distinct from Empty), the : multi-statement-per-line separator, typed Function parameters/return types, comma-separated multi-declarator Dim (Dim a As Integer, b As Range), and single-line If cond Then stmt [Else stmt] are all supported.

Known gaps: multi-area Paste only executes when both sides are multi-area with matching Areas.Count and per-area shapes — every other combination stays diagnose-only (see above).

XLSX.read()/write() — @elixcee/xlsx (npm, prepared but not yet published)

A synchronous, WebAssembly-backed XLSX.read(bytes) — no await init() required — is implemented in the @elixcee/xlsx npm package (see docs/xlsx-architecture.md for the compatibility initiative and the sync-bridge design), along with readFile()/readFileSync() (Node-only; the browser entry point throws rather than faking a filesystem). They return sheet names, !ref, !merges, !rows/!cols (hidden rows/columns), and per-cell {t, v, f, w, z} — values, formula text, formatted display strings, and date-typed cells, resolved via real styles.xml/number-format parsing. Differential-tested against the real xlsx@0.18.5 package: 33/33 MATCH, 0 disclosed (the src/reader.rs xml:space="preserve" trimming defect noted in earlier rounds is fixed; see CHANGELOG.md). Works in Node (CJS/ESM) and the browser: a "browser" export condition routes to the inlined-bytes/initSync WASM artifact, verified not just by Node simulating that export condition but by an actual headless Chrome process loading a real bundle and reading XLSX.read()'s result back out of the page's own DOM (no Safari claim). The browser entry point still assumes bundled consumption — its shared code has a CJS require('ssf'), so it's not literal no-build <script type="module"> usage — but a real packed-npm-tarball install (not a relative import into this repo) and CJS/ESM bundling both round-trip cleanly with no manual asset copy step required anymore.

XLSX.write(wb, opts)/writeFile()/writeFileSync() — pure JS/XML/ZIP generation, no Rust writer needed — are implemented too (bookType: "xlsx" only), differential-tested both directions against the real oracle: 36 MATCH + 1 disclosed (bookType: "ods", not implemented). package.json's description was updated to match, but its version (0.0.0-development), private (true), and publishConfig (unset) were deliberately left untouched — no npm publish has actually run, and @elixcee scope ownership on npm is unconfirmed from this environment either way (see ROADMAP.md's "Known gaps").

Build from source

cargo build --release --bin elixcee
# binary: target/release/elixcee  (or elixcee.exe on Windows)

Quick Start

import elixcee

# Run a VBA macro and get all resulting cells
cells = elixcee.run_macro("""
Sub FillSquares()
    For i = 1 To 5
        Cells(i, 1).Value = i * i
    Next i
End Sub
""", "FillSquares")
# cells == {(1,1): 1, (2,1): 4, (3,1): 9, (4,1): 16, (5,1): 25}

# Pre-populate cells from Python, then run a macro
vm = elixcee.Vm()
vm.set_cell(1, 1, 100)
vm.set_cell(2, 1, 200)
vm.run("""
Sub CalcTotal()
    total = Cells(1,1).Value + Cells(2,1).Value
    Cells(3,1).Value = total
End Sub
""", "CalcTotal")
print(vm.get_cell(3, 1))   # 300
print(vm.variables())       # {"total": 300}

# Load cell data from an existing Excel file, then run a macro
vm = elixcee.load_workbook("data.xlsx")
vm.run(vba_code, "ProcessData")
result_cells = vm.cells()   # {(row, col): value, ...}

# Store a worksheet formula on a cell and evaluate it
vm.set_cell_formula(4, 1, "=SUM(A1:A3)")
print(vm.get_cell(4, 1))   # sum of rows 1-3 in column A

# Control MsgBox behavior
vm = elixcee.Vm(on_msgbox="skip")   # silently ignore MsgBox calls (default)
vm = elixcee.Vm(on_msgbox="error")  # raise RuntimeError on MsgBox

Python API

Method Description
Vm(on_msgbox="skip") Create a new VM. on_msgbox="error" raises RuntimeError on MsgBox.
vm.run(vba_code, macro_name) Parse and execute the named Sub.
vm.set_cell(row, col, value) Write a value into a cell (1-based).
vm.get_cell(row, col) Read a cell value. Returns None for empty cells.
vm.cells() All non-empty cells as {(row, col): value}.
vm.variables() All VBA variables as {name: value}.
vm.set_cell_formula(row, col, formula) Store a formula (e.g. "=SUM(A1:A3)") and evaluate it.
vm.set_cell_formula_batch(formulas) Set multiple formulas at once: {(row, col): formula_str}.
vm.recalculate() Re-evaluate all formula cells (useful after manual cell writes).
vm.set_sheet(name) Switch the active sheet (creates it if absent).
vm.active_sheet() Name of the currently active sheet.
vm.sheet_names() List of all sheet names.
vm.get_sheet(name) Cells of a named sheet as {(row, col): value}.
vm.save_workbook(path) Save all sheets to .xlsx or .ods.
vm.cells_df() Return the active sheet as a pandas DataFrame (requires pandas).
elixcee.run_macro(vba, name) One-shot: run a macro and return {(row, col): value}.
elixcee.load_workbook(path) Load an .xlsx or .ods file into a Vm.

Coverage

See FUNCTIONS.md for the complete function and VBA syntax reference, including Excel version for each function.

Highlights:

  • Classic (Excel 2003-): SUM, VLOOKUP, IF, PMT, FV, PV, NPER, RATE, IPMT, PPMT, NPV, IRR, MIRR, XNPV, XIRR, DGET, DSUM, DAVERAGE, DCOUNT, DCOUNTA, DMAX, DMIN, and 100+ core functions
  • 2007–2019: IFERROR, COUNTIFS/SUMIFS, XOR, IFS, SWITCH, TEXTJOIN, MAXIFS/MINIFS
  • 365/2021: XLOOKUP, XMATCH, FILTER, SORT, UNIQUE, SEQUENCE, LET, LAMBDA, MAP, REDUCE
  • 2024/365: TEXTSPLIT, TEXTBEFORE, TEXTAFTER, VSTACK, HSTACK, TAKE, DROP, CHOOSECOLS, CHOOSEROWS
  • VBA: For/If/While/With/On Error/Function/Type...End Type/Named Ranges/Array of UDT

Named Ranges

Register a named range in VBA with Range("A1:B5").Name = "MyData", then use the name anywhere a range address is accepted:

Range("MyData").Value = 0          ' write to all cells in the range
For Each cell In Range("MyData")   ' iterate over cells
    total = total + cell
Next cell

Named ranges are stored on vm.named_ranges (a dict[str, str] mapping lowercase name → address).

Criteria Syntax (COUNTIF / SUMIF / SUMIFS / etc.)

Criteria Example Meaning
Number 10 Exact numeric match
String "apple" Case-insensitive string match
Comparison ">5", "<=10", "<>" Numeric comparison
Wildcard "a*", "?bc" * = any chars, ? = one char

Application Object

Property / Method Description Behavior
Application.Calculation = xlCalculationManual Disable auto-recalculation Active
Application.Calculation = xlCalculationAutomatic Enable auto-recalculation + re-evaluate all formula cells Active
Application.ScreenUpdating = False/True Suppress screen refresh No-op (no screen)
Application.EnableEvents = False/True Disable/enable event triggers No-op (no events)
Application.DisplayAlerts = False/True Suppress dialog boxes No-op (no dialogs)
Application.StatusBar = "..." / False Set/clear status bar text No-op (no UI)
Application.Cursor = xlWait / xlDefault Change cursor shape No-op (no UI)
Application.CutCopyMode = False Cancel clipboard mode Active (clears the modeled clipboard)

No-op properties are parsed and accepted without error, but have no effect. This allows VBA macro performance patterns (e.g., Application.ScreenUpdating = False at the start of a macro) to run unchanged.


Microsoft Excel round-trip validation

elixcee's workbook save path has been validated using five sanitized, Microsoft Excel-authored .xlsm fixtures on Microsoft Excel for Mac.

Validated scope:

  • open an Excel-authored workbook
  • modify cells with elixcee
  • save-as and in-place save
  • reopen in Microsoft Excel without a repair warning
  • preserve formulas, existing cell styles, merged cells, hidden rows/columns, VBA project bytes, unknown ZIP parts, and surviving relationships

Not validated:

  • post-save VBA macro execution
  • tables, data validation, conditional formatting, hyperlinks, comments, defined names, charts, images, and print settings embedded in regenerated worksheet XML

See compat/oracle-excel-com/results/0.9.0-A_summary.md for the full results.


Not Yet Supported

See FUNCTIONS.md — Not Yet Supported for the full list.

Key gaps by category:

  • Statistical: NORM.S.DIST, T.INV, F.DIST, CHISQ.DIST, and more
  • Text: REPT, NUMBERVALUE, PHONETIC
  • Out of scope: IMAGE (URL image fetch), GROUPBY (pivot aggregation), TRIMRANGE

Status Legend

Mark Meaning
Done Implemented and tested
TBD Not yet scheduled

Development Phases

Phase Content Status
Phase 1 Rust project setup + pyo3 Python bindings Done
Phase 2 VBA parser MVP (Sub/End Sub, assignment, Cells) Done
Phase 3 Virtual Excel VM (variables, cell storage, interpreter) Done
Phase 3.5 Excel formula engine (SUM, IF, VLOOKUP, Application.Calculation, etc.) Done
Phase 4 Control flow (For loop, If/Else, arithmetic expressions) Done
Phase 5 Python interface (Vm class, run_macro, load_workbook, MsgBox) Done
Phase 6 Formula function expansion (100+ Excel functions, 118 tests) Done
Phase 7 Advanced VBA constructs (ElseIf, Exit, For Each, On Error, Function, arrays, While-Wend) Done
Phase 8 Range API (ClearContents, Offset, Sheets.Cells, WorksheetFunction, multi-sheet) Done
Phase 9 Multi-sheet support (Sheets HashMap, With Sheets, Python API, load_workbook all sheets) Done
Phase 10 Worksheet function expansion (math, trig, stats, array/spill, lambda functions) Done
Phase 11 User-defined types (Type...End Type), named ranges, RANDARRAY, pandas integration (cells_df), type stubs (.pyi) Done
Phase D1 Remove rust_xlsxwriter, hand-written XLSX via zip (dependencies: 5→4) Done
Phase D2 Remove pest/pest_derive, hand-written recursive descent VBA parser (dependencies: 4→3) Done
Phase D3 Remove calamine from runtime, hand-written XLSX/ODS reader (dependencies: 3→2) Done
Perf R4 SUM/AVERAGE/MIN/MAX fast path (skip Vec<Variant>), RangeWrite dirty-flag batching Done
CLI Standalone elixcee binary; pyo3 made optional; GitHub Actions release workflow Done
Milestone A JSON agent contract (--json), error classification, MsgBox message log Done
Milestone A.1 JSON contract hardening (serde_json-verified tests, message-log lifecycle, error code docs) Done
Milestone A.5 Source location tracking — line/column in parse and runtime errors Done
Milestone B1 check subcommand — parse diagnostics, entrypoint check, MsgBox/interactive-call detection Done
Milestone B1.1 check: undefined Sub/Function call detection, unsupported-construct (no-op) detection Done
Milestone B2 Multi-module projects — multiple .bas files, Module.Sub qualified entrypoints, cross-module collision detection Done
Milestone B3 Deterministic black-box tests (tests/blackbox.rs, declarative .toml fixtures) Done
Milestone B4 snapshot subcommand — read a workbook's cells without executing VBA Done
Milestone B5a test-workbook subcommand — property-based testing with generated boundary-value inputs Done
Milestone B6a diagnose subcommand — missing sheet/workbook, array-out-of-bounds root causes Done
Milestone B6b diagnose: Copy/Paste shape mismatch + clipboard state Done
Milestone B6c diagnose: sheet protection (Protect/Unprotect) Done
Milestone B6c2 diagnose: merged-cell-aware Copy/Paste diagnostics Done
Milestone B6d diagnose-workbook — root-cause diagnosis across generated test cases Done
Milestone B7a Multi-area Range/Union/Areas foundation for Copy/Paste diagnostics Done
Milestone B7b Hidden row/column metadata foundation for Copy/Paste diagnostics Done
Phase 3A-1 compat/vba-semantics/ value-correctness suite: 208 → 301 cases (6 new categories); fixed single-line-If statement dispatch, Boolean arithmetic (True = -1), WorksheetFunction Boolean coercion, Empty equality Done
Phase 3A-2 CI wasm job: fresh wasm-pack build (Node + web targets) plus a Node/browser-condition smoke test, wired into GitHub Actions Done
0.5.0 VBA structural semantics (: statement separator, Variant::Null with documented propagation, real object-Nothing state with alias safety, a runtime With target stack) merged with @elixcee/xlsx real-consumer/real-browser validation (packed-tarball install, headless-Chrome smoke, bundle-safe WASM loading, readFile()); compat/vba-semantics/ 301 → 386 cases; elixcee-types bumped to 0.2.0 for the new public Variant::Null enum variant; published to crates.io, PyPI, and GitHub Releases Done

Download files

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

Source Distribution

elixcee-0.9.0.tar.gz (2.6 MB view details)

Uploaded Source

Built Distributions

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

elixcee-0.9.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

elixcee-0.9.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

elixcee-0.9.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.17+ x86-64

elixcee-0.9.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.15manylinux: glibc 2.17+ x86-64

elixcee-0.9.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

elixcee-0.9.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

elixcee-0.9.0-cp314-cp314-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.14Windows x86-64

elixcee-0.9.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

elixcee-0.9.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

elixcee-0.9.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.1 MB view details)

Uploaded CPython 3.14macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

elixcee-0.9.0-cp313-cp313-win_amd64.whl (999.1 kB view details)

Uploaded CPython 3.13Windows x86-64

elixcee-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

elixcee-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

elixcee-0.9.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.1 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

elixcee-0.9.0-cp312-cp312-win_amd64.whl (999.7 kB view details)

Uploaded CPython 3.12Windows x86-64

elixcee-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

elixcee-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

elixcee-0.9.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.1 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

elixcee-0.9.0-cp311-cp311-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.11Windows x86-64

elixcee-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

elixcee-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

elixcee-0.9.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

elixcee-0.9.0-cp310-cp310-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.10Windows x86-64

elixcee-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

elixcee-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

elixcee-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

elixcee-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file elixcee-0.9.0.tar.gz.

File metadata

  • Download URL: elixcee-0.9.0.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elixcee-0.9.0.tar.gz
Algorithm Hash digest
SHA256 16dd1879626be458016244c6d98fa12999362451d3dcdb9c32a5f9a68764b975
MD5 0c0e3b7bc186b2a4401ee78672c47133
BLAKE2b-256 a06ec04a3c271f9defd7ff4679df83465e6fd0a4928a3772cc10c4e44cf371ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0.tar.gz:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 736e124b149597ed1f0a118cc265c4e3d7f31b24bbd97ab56dc73ed995b95b46
MD5 1223b77014f71b2dc0c88019e1386e40
BLAKE2b-256 e6fc24d834fe52d3dce8e1c8fed0fbf37a3ac4902419ccd1518908a7c45d2232

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2ad84acc700a16d37c3d28f672b454b565353c5d150fd1178de530a0a483035b
MD5 5c60e9c973429359e5a3456f20de967c
BLAKE2b-256 c87cb00a40cd94b0be644a81b654334150fde506945c1422b299324a14a544e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 02ee4b3e485ef686dc30fb9f262bf94ae3389d3a67a5da5c51073fa0a6a0caa8
MD5 4b2ad5e4e60305994035dc8d59b8f00a
BLAKE2b-256 417390efc2ed1aef7fc3e986859062d3e9025bf69d7e3ebdb16a663a233f4b65

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 df57d037cc7fff356e308dd7a800979d4fa32ffa08a71f00adbe410aeedc2362
MD5 21008ebe52cf44ce0f01509ddccd547e
BLAKE2b-256 2148915411b36b00a6320793c6bc79b449b18d965e0789b63c8d7902708b6341

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb53615cfcf5e38926f4513fcad117be42d53164161265f36e41154ccaf79e3c
MD5 feb4ad7fd33780507b829981bfa93822
BLAKE2b-256 0ddb33c567d02805bf0484df805a1aabd64d7f5c2d9e3babdd480ae854a2cc5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8bd12f49020e5e74307424e952716c9bd86f4428c5c0d370f85a68e7ffb33a65
MD5 a005b1adea984a120b1a131dd18e9bf2
BLAKE2b-256 f678e3da03d1927b918d027ef984126970cede9b145680bc91c2982447ec6906

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: elixcee-0.9.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elixcee-0.9.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 caca357b00b23f44e0c16a323d0cf6676eac13126826d107719695e9977f982d
MD5 38613806e03b1a08bba401bac1611e3f
BLAKE2b-256 85ad159ff3cea0de6ea5e3ba683314050ad44b22af478a18a9cc6bd88d6082bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp314-cp314-win_amd64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 981774b9f7a5d4b7a75092c70c8e36ca53f4a42d14b7240b8d0b644bb1aa4e10
MD5 205b204632ac4716d4a9db814c67629e
BLAKE2b-256 3eaa8dd84e587dc384966f044d9df1f57848d6bd869bdc2e1782c0d301f0fcf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7971bd0ade2844fd5124c456983cab2398380fe4fb427d65c239911ba48a425d
MD5 aca4741ead8385745a8c7d99ee6b02c6
BLAKE2b-256 2a50a363d9d89c65ca3a6f3db8ff23bfcaecd4f654f39830a190ff5fe6fc1927

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 f244992c1bc5c93ae444c29964a335e5a7c078a10d3f0eb34a8f3a5dd0167b89
MD5 8646308154a34d7838cfd184286410c1
BLAKE2b-256 6911bb3dc7ff9fd6e6daada001c27c5ae723aca818370a7f04afab3f9488c51c

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: elixcee-0.9.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 999.1 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elixcee-0.9.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5ffd9c62ce6d4c655df25a2f3a6eff99a05ccda406f77318cf78b7c3e73c1bd0
MD5 3473eec4e612672e095e853469f5a6fe
BLAKE2b-256 20f14ccf93611b9df86a5bb470dde4fd9855b43e1ca637c7cc2528810f4ef3ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 06bea71a80b4ac88f1f6989b6e1f9369f78001ee95f5e27616a1489d519ffebe
MD5 63956027b5d523edb2a9f777a7607f1a
BLAKE2b-256 fc76cf048efa47646220118f98e8d2ea9c35646595a39939b7fab09f22d85fd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7237a667aedb7e2e5c0041b85576963a2cdda8a174b51fdf584c2c86d9891fb4
MD5 0f7588052d566aefe63cc9da7893f92c
BLAKE2b-256 229a81f389ff4933facdeb32578a3ac8fd97bca7f763f36e0bc2a80c6bbe2029

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 dee5c4903df9b17b66a2ff871d74c67a48cb7a04cbcc88ea660ffa87fd5b4c26
MD5 6a9d94657fd4cac9ca0a18f5d3604d94
BLAKE2b-256 250323f12cd0c9846543f3a0b56321c66d2c2dac981b2500f42b96275261787e

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: elixcee-0.9.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 999.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elixcee-0.9.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 264e780cc0c24af98d1b6785956b30cabfddc0c00fd2ce46b5f7772cafe0b539
MD5 78e2e4c832d45723ed19023e86221397
BLAKE2b-256 e22e5eadc325e5f4c5b9c9c31e815978ccc21faee2facf96cf17e2a441786ed0

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a4317f6aa7a2cea9fba94c741399017299a7d89138b4ef197cab05f63d6e6e4
MD5 8cc04c882321c32d783f6ea633444416
BLAKE2b-256 135ae0492c908ca51538152ff4199fb66de981eca756f3702fdb4711d3426766

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a19fea98202825716abacd75c2f579c862583087722e779225cc08325a7e19ad
MD5 2128f97a90adb8dce75499f9c6f9bcdf
BLAKE2b-256 6fb92b3974e78589c4317c3b9cc36bf65fd99a8d0fd272fbae6447715ee195bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 0dbe79eb341c205b18eec8a85db95a5aa2ac395f7c0399354f2a658efefefd95
MD5 63ba5e3e7ffd6608e84ae54fe58d110f
BLAKE2b-256 ad6226e749c847c13ecd256ce7b565534cb9f766cae2131bb9042eaae99e5042

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: elixcee-0.9.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elixcee-0.9.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d9624322848d051ac32b86e7d5fce13c47d6887ab74c7ecfa0c868547308f541
MD5 75ac37e5b0d8d22bf57810710e4c3f70
BLAKE2b-256 ac95d4c9e7e9b783ba1811c15d666bb107b12c7dcd0e6e7bea9dbbdc66c00178

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7e87784e82ea434901e8bfe600bed25875ca301530991f6b94dbce6fcaf2145
MD5 15327accfa8264929d98e70e4667918d
BLAKE2b-256 4bb814c5a1e3ba99e16c54321c6ef8abec9ffdfce33819277a247b79a4ddd953

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 914872e70eca4cc61e24e753ec6216713655d6841d6cec674213eeb008423746
MD5 3a67bf3c72eac09b2d7b47f0f647e07d
BLAKE2b-256 43963df1523fe76c0222e92c590b9946d8f4492e2cde8fce85fb254f5e01b45c

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 02fadd7e0aeb18ad8088ff08758326f0f43a62acebba12fd9000026703beafcb
MD5 b2da287292de14b670e4b787d374f49f
BLAKE2b-256 fa8ce63f46c79c12c07b5760dfb317cf0aed93804773b611e9cbc54897199c92

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: elixcee-0.9.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elixcee-0.9.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 cf68b611e31c63b3728a0b14260a79d4fbe4879c3846ef2ae3760bbd9c23dfb6
MD5 9a9f5e332fc8973164f08ce95adef3c2
BLAKE2b-256 b470c968ba04ad889409b0261a1d09d023d9c7e9722f1ca84b0ebd7ae729b473

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4cbe2562289258e7ce2195d3e727821a278c51f1e2271b6ef95076a0e3ba9d24
MD5 ca88ea1e92302e802cb1c66aa744fba0
BLAKE2b-256 18d4a880decfd3def67e007896dd755df34060d1ee939b66bc487b58178516cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a50eac3eacfd81312773d0dacf522364f63f49dd1b9def192958724adb801bec
MD5 6379510b8402c88f13c72afef6f72719
BLAKE2b-256 a89e224b839ccd2e145c3979ef3ea7045d72a251b08eaa3f0cc6625c6ad7d9a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ed96fbafe2db4d73b30bbc566650bf8595a41ead882102170b2b80b8b138746
MD5 70caff57b618864e4149189d23ca6bdf
BLAKE2b-256 98b5b717fda8b7165c83af8a94961843bb96e2712f79f10f4937e90c8ebd80c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elixcee-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for elixcee-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fcde1cb2a5b1434a2ee430c5f36d5a773e2ccf82067d9b5781faafae6abc6d8b
MD5 9e51eeecb29da55f5ece24c9249cd840
BLAKE2b-256 9ccd9a1483271e44d1cc03df8ba7a81799f0cd9b7c3d338147217c8ce98a1a5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for elixcee-0.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on kent-tokyo/elixcee

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

1.0.4

28 files

1.0.3

28 files

1.0.2

28 files

1.0.1

28 files

1.0.0

28 files

0.93.0

28 files

0.34.0

28 files

0.33.0

28 files

0.32.0

28 files

0.31.0

28 files

0.30.0

28 files

0.29.0

28 files

0.28.0

28 files

0.27.0

28 files

0.26.0

28 files

0.25.0

28 files

0.24.0

28 files

0.23.0

28 files

0.22.0

28 files

0.21.1

28 files

0.20.0

28 files

0.19.0

28 files

0.18.0

28 files

0.17.0

28 files

0.16.0

28 files

0.15.0

28 files

0.14.0

28 files

0.13.0

28 files

0.12.0

28 files

0.11.0

28 files

0.10.1

28 files

0.10.0

28 files

This release

0.9.0 This release

28 files

0.8.0

28 files

0.7.0

28 files

0.6.0

28 files

0.5.0

28 files

0.4.0

28 files

0.3.0

28 files

0.2.0

28 files

0.1.2

28 files

0.1.1

28 files

0.1.0

28 files

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