Skip to main content

PyPI - Status Python3 Maintainability Code Coverage Docs

Table remodeler

The table remodeler provides a flexible, operation-based framework for transforming tabular data files through JSON-configurable pipelines. Originally extracted from the hed-python remodeling tools, this package operates as a standalone tool while maintaining compatibility with HED (Hierarchical Event Descriptors) annotations via the hedtools dependency.

Key features:

  • Operation-based architecture for reproducible data transformations
  • JSON-configurable pipelines for batch processing
  • Support for HED-annotated event files (via hedtools package)
  • Built-in backup and restore functionality
  • Both programmatic API and command-line interface
  • Extensible: create custom operations by extending BaseOp

Installation

pip install table-remodeler

For development with all extras:

git clone https://github.com/hed-standard/table-remodeler.git
cd table-remodeler
pip install -e ".[dev,test,docs,examples]"

Or install specific optional dependencies:

  • Development tools: pip install -e ".[dev]"
  • Testing: pip install -e ".[test]"
  • Documentation: pip install -e ".[docs]"
  • Jupyter examples: pip install -e ".[examples]"

Quick start

Python API

from remodeler import Dispatcher

# Define operations
operations = [
    {
        "operation": "remove_columns",
        "parameters": {"column_names": ["unnecessary_col"]}
    },
    {
        "operation": "rename_columns",
        "parameters": {"column_mapping": {"old_name": "new_name"}}
    }
]

# Execute operations
dispatcher = Dispatcher(operations, data_root="/path/to/dataset")
dispatcher.run_operations()

Command line

# Run remodeling operations
run_remodel /path/to/data /path/to/operations.json

# Create backup before modifications
run_remodel_backup /path/to/data --backup-name my_backup

# Restore from backup
run_remodel_restore /path/to/data --backup-name my_backup

Available operations

Data Transformation

  • factor_column - Create factor columns from value mappings
  • merge_consecutive - Merge consecutive rows with same values
  • remap_columns - Remap column values using lookup tables
  • remove_columns - Remove specified columns
  • remove_rows - Remove rows based on criteria
  • rename_columns - Rename columns
  • reorder_columns - Reorder columns
  • split_rows - Split rows based on criteria

HED-specific operations

  • factor_hed_tags - Factor HED tags into separate columns
  • factor_hed_type - Factor by HED tag types
  • summarize_hed_tags - Summarize HED tag usage
  • summarize_hed_type - Summarize HED types
  • summarize_hed_validation - Validate HED annotations
  • summarize_definitions - Extract HED definitions
  • summarize_sidecar_from_events - Generate sidecar from events

Analysis operations

  • summarize_column_names - List column names across files
  • summarize_column_values - Summarize unique values per column

Documentation

Full API and developer documentation is available at https://www.hedtags.org/table-remodeler.

Users of the table-remodeler should look at the HED remodeling quickstart and HED remodeling tools.

Building Documentation

To build the documentation locally:

  1. Install documentation dependencies:

    pip install -e .[docs]
    
  2. Build the HTML documentation:

    sphinx-build -b html docs docs/_build/html
    
  3. View the documentation by opening docs/_build/html/index.html in your web browser.

Requirements

  • Python 3.10+
  • pandas
  • numpy
  • hedtools (for HED-specific operations)

License

MIT License - see LICENSE file for details

Contributing

Contributions are welcome! Please see the development setup in the documentation.

Related Projects

Download files

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

Source Distribution

table_remodeler-0.3.0.tar.gz (52.4 kB view details)

Uploaded Source

Built Distribution

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

table_remodeler-0.3.0-py3-none-any.whl (69.1 kB view details)

Uploaded Python 3

File details

Details for the file table_remodeler-0.3.0.tar.gz.

File metadata

  • Download URL: table_remodeler-0.3.0.tar.gz
  • Upload date:
  • Size: 52.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for table_remodeler-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d65c1f7ba4f0c6a614fc096a8faf285ad6a1f8d511e20edf889668f11054d34e
MD5 47c229e2dc15db399b6eed0f2797d149
BLAKE2b-256 5b8e5ade2cf8648713d95ab56925cd435c1fe3b3215011d23945578bf312c3fe

See more details on using hashes here.

File details

Details for the file table_remodeler-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for table_remodeler-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa90c845b051a501291b540142310a762f0a7f97cad71888f9d88937fe04679e
MD5 e64ca1f96a527ec69fa2b2103e776c99
BLAKE2b-256 755ca6daa516d5d041cb30c71c7183722bc238ddfbb8dbd2d91e5aea4cf21aba

See more details on using hashes here.

Supported by

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