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

AI Usage & Position Statement

  • AI tools are used at all levels of this project: requirement analysis, solution design, coding.
  • Human oversight, testing, and review remain essential. AI augments reasoning and speed but does not replace engineering judgment.
  • Quality and maintainability are goals treated with priority; AI contributes to these.

Industry trends support this approach: according to the JetBrains Developer Ecosystem 2025 survey published by Golem.de, AI adoption is already pervasive and considered a core competency.

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.0b5.tar.gz (308.1 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.0b5-py3-none-any.whl (83.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for spreadsheet_handling-0.1.0b5.tar.gz
Algorithm Hash digest
SHA256 54e4358574fe64b73c7d883eb712f57a6c5e63dc3732045f798899eeb2ca11fb
MD5 02ca5782f7dba47f9249b84d1350da8a
BLAKE2b-256 3b941c352c44ca197a4ed247cf84941d0e305f707c7b7b6168ffca5e8fbc378b

See more details on using hashes here.

Provenance

The following attestation bundles were made for spreadsheet_handling-0.1.0b5.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.0b5-py3-none-any.whl.

File metadata

File hashes

Hashes for spreadsheet_handling-0.1.0b5-py3-none-any.whl
Algorithm Hash digest
SHA256 29d1fb4fb247854c8bca810522c568ecddad3bf3b0e4359663cd792d397d88ac
MD5 71fbf4c1262e32738ef19fed93410bbd
BLAKE2b-256 a40a877cf6ad8723b3556f08044f4673295429901c9d4926100d72157d845e76

See more details on using hashes here.

Provenance

The following attestation bundles were made for spreadsheet_handling-0.1.0b5-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