Skip to main content

Composable pipelines for spreadsheets (JSON/YAML/CSV/XLSX) with FK helpers, validation, and IO routing.

Project description

Spreadsheet Handling

Spreadsheet Handling is a Python toolkit for packing/unpacking and orchestrating tabular data.
It converts between JSON, CSV, and Excel (XLSX/ODS) while preserving relationships such as foreign keys, indexes, and hierarchies.
The goal is to make complex spreadsheet models easier to validate, transform, and round-trip into structured formats.


Features

  • Convert JSON ↔ CSV/Excel with round-tripping support
  • Detect and enforce foreign key relationships
  • Validate spreadsheet structures (naming rules, uniqueness, etc.)
  • Orchestrate multi-sheet pipelines via YAML configs
  • Extensible: plug in new backends and transformation steps

Installation

# clone repo
git clone https://github.com/StefanSchade/spreadsheet-handling.git
cd spreadsheet-handling

# set up environment
make setup

Usage

Pack JSON into Excel:

sheets-pack examples/roundtrip_start.json -o demo.xlsx --levels 3

Unpack Excel back into JSON:

sheets-unpack demo.xlsx -o demo_out --levels 3

Run full test suite:

make test

License

This project is licensed under the terms of the MIT License. See LICENCE for details.

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

spreadsheet_handling-0.1.0b2.tar.gz (59.0 kB view details)

Uploaded Source

Built Distribution

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

spreadsheet_handling-0.1.0b2-py3-none-any.whl (36.2 kB view details)

Uploaded Python 3

File details

Details for the file spreadsheet_handling-0.1.0b2.tar.gz.

File metadata

  • Download URL: spreadsheet_handling-0.1.0b2.tar.gz
  • Upload date:
  • Size: 59.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for spreadsheet_handling-0.1.0b2.tar.gz
Algorithm Hash digest
SHA256 4d49c458a6f4dcf54fbb8730b78cb81fe4d1b064777040093f785ade39eb6242
MD5 cb0517b40da10aabbe0ac416d4198a2a
BLAKE2b-256 b5c124b744b6af203a218665c4f356c992ce620b3a727d9c8b6705d975cacbe2

See more details on using hashes here.

Provenance

The following attestation bundles were made for spreadsheet_handling-0.1.0b2.tar.gz:

Publisher: release.yml on StefanSchade/spreadsheet-handling

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

File details

Details for the file spreadsheet_handling-0.1.0b2-py3-none-any.whl.

File metadata

File hashes

Hashes for spreadsheet_handling-0.1.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 cb5844b13c32a888b48d0b5035bb23406efba2920199986f0f0943be5161c6a4
MD5 6673c5d859a960c3a90656a677a70bb7
BLAKE2b-256 4fb3f47454520d563ff7e09605583ffa324014d67ea9c3987cf30248a2492f8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for spreadsheet_handling-0.1.0b2-py3-none-any.whl:

Publisher: release.yml on StefanSchade/spreadsheet-handling

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