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.2 — Pins xlwings to ==0.32.1 (was >=0.30) so a fresh install matches the validated release environment instead of pulling the latest xlwings (0.35.0). No API changes.

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.2.tar.gz (92.9 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.2-py3-none-any.whl (98.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mgtx_xlwings_utils-0.2.2.tar.gz
  • Upload date:
  • Size: 92.9 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.2.tar.gz
Algorithm Hash digest
SHA256 52a830902af4c9ce2965225435c43c97bc08cc78ceb5788f41248b6cdbc1eb21
MD5 9a294f0f6522d3f47ae659bdbb8cd6ac
BLAKE2b-256 1a36a45f2d5012e3ea0f063dc93e856f8831094fcbe3c7fd5a310edfdcac161f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mgtx_xlwings_utils-0.2.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for mgtx_xlwings_utils-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 47b03d86a54ec47594bc0ae2dc979e7cfc5a68946544532ef3816aede755d737
MD5 020f8ef64894e394ba31ed4e9c3b8d04
BLAKE2b-256 a74bac6f77b58b1607b1681aeef8c8c2026e7dd74c3e88d4ef55ea9a4cae3547

See more details on using hashes here.

Provenance

The following attestation bundles were made for mgtx_xlwings_utils-0.2.2-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