Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 39 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,13 @@ HED (Hierarchical Event Descriptors) is a framework for systematically describin

- Validate HED annotations against schema specifications
- Analyze and summarize HED-tagged datasets
- Transform and remodel event data
- Full HED support in BIDS (Brain Imaging Data Structure)
- HED support in NWB (Neurodata Without Borders) when used the [ndx-hed](https://github.com/hed-standard/ndx-hed) extension.
- Platform-independent and data-neutral
- Command-line tools and Python API

**Note:** Table remodeling tools have been moved to a separate package. See [table-remodeler](https://pypi.org/project/table-remodeler/) on PyPI or visit [https://www.hedtags.org/table-remodeler](https://www.hedtags.org/table-remodeler) for more information.

## Quick start

```{index} quick start, getting started, installation
Expand Down Expand Up @@ -59,6 +60,38 @@ Or install from GitHub (latest):
pip install git+https://github.com/hed-standard/hed-python/@main
```

### Development installation

```{index} development installation, editable install, optional dependencies
```

For development work or to access optional features, install from the cloned repository:

```bash
# Clone the repository
git clone https://github.com/hed-standard/hed-python.git
cd hed-python

# Install in editable mode with base dependencies
pip install -e .

# Install with optional dependency groups
pip install -e ".[dev]" # Development tools (ruff, black, codespell)
pip install -e ".[docs]" # Documentation tools (sphinx, furo)
pip install -e ".[test]" # Testing tools (coverage)
pip install -e ".[examples]" # Jupyter notebook support

# Install all optional dependencies
pip install -e ".[dev,docs,test,examples]"
```

**Optional dependency groups:**

- `dev` - Code quality tools: ruff (linter), black (formatter), codespell, mdformat
- `docs` - Documentation generation: sphinx, furo theme, myst-parser
- `test` - Code coverage reporting: coverage
- `examples` - Jupyter notebook support: jupyter, notebook, ipykernel

### Basic usage

```{index} usage examples, HedString, load_schema_version, validation example
Expand Down Expand Up @@ -111,9 +144,10 @@ hedpy schema convert /path/to/schema.xml
```bash
validate_bids /path/to/dataset
hed_validate_schemas /path/to/schema.xml
run_remodel /path/to/data /path/to/config.json
```

**Note:** The `run_remodel` command has been removed. Table remodeling functionality is now available in the separate [table-remodeler](https://pypi.org/project/table-remodeler/) package.

For more examples, see the [user guide](https://www.hedtags.org/hed-python/user_guide.html).

### Jupyter notebook examples
Expand Down Expand Up @@ -172,14 +206,10 @@ pip install -e .[docs]
# Build the documentation
cd docs
sphinx-build -b html . _build/html

# Or use the make command (if available)
make html

# View the built documentation
# Open docs/_build/html/index.html in your browser
```

To iew the built documentation open `docs/_build/html/index.html` in your browser

### Formatting with Black

```{index} Black, code formatting, style guide
Expand Down Expand Up @@ -229,6 +259,7 @@ The HED ecosystem consists of several interconnected repositories:
| [hed-resources](https://github.com/hed-standard/hed-resources) | Tutorials and other HED resources |
| [hed-specification](https://github.com/hed-standard/hed-specification) | Official HED specification documents |
| [hed-schemas](https://github.com/hed-standard/hed-schemas) | Official HED schema repository |
| [table-remodeler](https://github.com/hed-standard/table-remodeler) | Table transformation and remodeling tools |
| [ndx-hed](https://github.com/hed-standard/ndx-hed) | HED support for NWB |
| [hed-javascript](https://github.com/hed-standard/hed-javascript) | JavaScript HED validation tools |

Expand Down
4 changes: 4 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
.. meta::
:description: Python tools for HED (Hierarchical Event Descriptors) validation, analysis, and BIDS integration in neuroscience
:keywords: HED, hierarchical event descriptors, Python, validation, BIDS, neuroscience, event annotation, metadata, analysis tools

Python HEDTools
===============

Expand Down
9 changes: 9 additions & 0 deletions docs/overview.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
```{meta}
---
description: Overview of Python HEDTools - validation, analysis, and processing
tools for Hierarchical Event Descriptors (HED) in neuroscience
keywords: HED overview, Python tools, event descriptors, BIDS, NWB,
neuroscience, validation, schema
---
```

# Python HEDTools overview

```{index} single: HED; overview
Expand Down
9 changes: 9 additions & 0 deletions docs/user_guide.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
```{meta}
---
description: Complete user guide for Python HEDTools - validation, BIDS
integration, analysis, and command-line tools for HED annotations
keywords: HED tutorial, Python guide, validation examples, BIDS datasets,
sidecar files, command-line interface, Jupyter notebooks
---
```

# Python HEDTools guide

```{index} user guide, tutorial, getting started
Expand Down
27 changes: 1 addition & 26 deletions hed/tools/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""HED remodeling, analysis and summarization tools."""
"""HED analysis and summarization tools."""

from .analysis.event_manager import EventManager
from .analysis.file_dictionary import FileDictionary
Expand All @@ -19,27 +19,6 @@
from .bids.bids_tabular_file import BidsTabularFile
from .bids.bids_util import parse_bids_filename

from .remodeling.dispatcher import Dispatcher
from .remodeling.backup_manager import BackupManager
from .remodeling.operations.base_summary import BaseSummary
from .remodeling.operations.base_op import BaseOp
from .remodeling.operations.factor_column_op import FactorColumnOp
from .remodeling.operations.factor_hed_tags_op import FactorHedTagsOp
from .remodeling.operations.factor_hed_type_op import FactorHedTypeOp
from .remodeling.operations.merge_consecutive_op import MergeConsecutiveOp
from .remodeling.operations.number_groups_op import NumberGroupsOp
from .remodeling.operations.number_rows_op import NumberRowsOp
from .remodeling.operations import valid_operations
from .remodeling.operations.remap_columns_op import RemapColumnsOp
from .remodeling.operations.remove_columns_op import RemoveColumnsOp
from .remodeling.operations.remove_rows_op import RemoveRowsOp
from .remodeling.operations.rename_columns_op import RenameColumnsOp
from .remodeling.operations.reorder_columns_op import ReorderColumnsOp
from .remodeling.operations.split_rows_op import SplitRowsOp
from .remodeling.operations.summarize_column_names_op import SummarizeColumnNamesOp
from .remodeling.operations.summarize_column_values_op import SummarizeColumnValuesOp
from .remodeling.operations.summarize_hed_type_op import SummarizeHedTypeOp

from .util.data_util import get_new_dataframe, get_value_dict, replace_values, reorder_columns
from .util.io_util import check_filename, clean_filename, extract_suffix_path, get_file_list, make_path
from .util.io_util import get_path_components
Expand All @@ -55,7 +34,3 @@
strs_to_sidecar,
to_strlist,
)

from .remodeling.cli import run_remodel
from .remodeling.cli import run_remodel_backup
from .remodeling.cli import run_remodel_restore
5 changes: 0 additions & 5 deletions hed/tools/remodeling/__init__.py

This file was deleted.

Loading
Loading