Skip to main content

Reusable xlwings and pandas helpers for Excel automation workflows.

Project description

mgtx-xlwings-utils

Package-first xlwings and pandas helpers for Excel automation workflows at MeiraGTx.


What's new

0.2.1 — The post-save prompt is now a public function, offer_file_actions, with a new Copy file path button and an actions= argument to choose which of Open file / Open folder / Copy file path appear (save_dataframe(..., actions=...) forwards the same choice). Copying the path leaves the dialog open so you can still open the file or its folder; those close it. The copy now writes through the OS clipboard so it persists after the window closes.

0.2.0 — A formatting + dropdowns release. apply_table_features / apply_benchling_table_features apply column colours, prefill rows, and in-cell dropdowns in one call (Benchling enum columns become dropdowns automatically); paste_df_to_named_range is now format-preserving (borders="mesh"); paste_plate_data refreshes a plate without redrawing. Includes breaking renames/removals — see the changelog.

Full history: CHANGELOG.md.


Install

pip install mgtx-xlwings-utils

# With Benchling integration:
pip install "mgtx-xlwings-utils[benchling]"

For local development (editable install with test + build tooling):

pip install -e ".[dev]"

Python requirement: >=3.10.11,<4.0


Documentation

🌐 Live docs site: https://mgtx-data-science.github.io/xlwings_package/  ·  source: docs/index.md  ·  also mirrored on the GitHub Wiki.

Every guide is full-lifecycle — initialise → paste data in → read it back out → update → format → save — with inline Excel-grid diagrams showing exactly what to highlight and what each step does to the sheet.

Scenario guides

Understand the engine

  • Stacked tables & Benchling reinitialise — how managed tables stack (disjoint rows, danger zone, auto-heal), and how reinitialising with more columns auto-widens a table while protecting the neighbour below.

Reference & operational

  • Full tools reference — every public function + exception, with verbatim signatures and examples.
  • Credentials — constructing the Benchling ctx.
  • Common patterns — config cells, dropdowns, sheet management, plotting, file IO.

Quickstart

import xlwings as xw
from xlwings_package import initialize_workbook, initialise_table_benchling

wb = xw.Book.caller()
initialize_workbook(wb)

# Pull a Benchling schema and lay it out on a sheet.
results = initialise_table_benchling(
    wb,
    {"Assay Results": ["assaysch_abc123"]},
    ctx=my_benchling_context,    # see the Credentials guide
)

See the single-Benchling guide for the full seven-step pattern (init → headers → read → transform → write → colour → save).


Testing

# Unit tests (no Excel required) — pure-Python fake workbook harness.
pytest tests/unit/ -q

# Integration tests (require a live Excel installation on Windows).
pytest tests/integration/ -q

Integration tests write inspectable artifacts to tests/integration/excel_table_tests/ — open any .xlsx to see what each test produced.


Debugging

Best-effort operations (cell merges, sheet moves, bookmark auto-heal) swallow Excel COM errors so they don't interrupt your workflow. To surface those errors during debugging:

import logging
logging.basicConfig(level=logging.DEBUG)

Production code paths that detect data-corruption risks (occupancy conflicts, column overflow, missing schema metadata) always raise — debug logs are only relevant for cosmetic / non-load-bearing failures.

Project details


Download files

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

Source Distribution

mgtx_xlwings_utils-0.2.1.tar.gz (92.8 kB view details)

Uploaded Source

Built Distribution

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

mgtx_xlwings_utils-0.2.1-py3-none-any.whl (98.5 kB view details)

Uploaded Python 3

File details

Details for the file mgtx_xlwings_utils-0.2.1.tar.gz.

File metadata

  • Download URL: mgtx_xlwings_utils-0.2.1.tar.gz
  • Upload date:
  • Size: 92.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mgtx_xlwings_utils-0.2.1.tar.gz
Algorithm Hash digest
SHA256 030278eb724fa1383a7c6a3f83e4072623be1d81676e4277d4935c402c294866
MD5 a93acfc724a89668856512c90b2086a6
BLAKE2b-256 5cc4e7dbb1fa4d767dca3e284a0c288f607d2eddd85a7ee9f5ad1d09d538f70b

See more details on using hashes here.

Provenance

The following attestation bundles were made for mgtx_xlwings_utils-0.2.1.tar.gz:

Publisher: ci.yml on MGTX-Data-Science/xlwings_package

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

File details

Details for the file mgtx_xlwings_utils-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mgtx_xlwings_utils-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 76a1b0790bc33896bd498ebbd7ca9f7a9cfb900d84c46ffa3dcd480266aa8eaf
MD5 d631df24423b59567439015ce4edab86
BLAKE2b-256 d6256f722335b1e4c2de833c95d74e65dabfe4e6990b8df3b31da91f38dc03b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mgtx_xlwings_utils-0.2.1-py3-none-any.whl:

Publisher: ci.yml on MGTX-Data-Science/xlwings_package

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

Supported by

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