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
45 changes: 45 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,16 @@

# HEDTools - Python

```{index} HEDTools, Python tools, validation, analysis
```

> Python tools for validation, analysis, and transformation of HED (Hierarchical Event Descriptors) tagged datasets.

## Overview

```{index} HED, Hierarchical Event Descriptors, BIDS, NWB
```

HED (Hierarchical Event Descriptors) is a framework for systematically describing both laboratory and real-world events as well as other experimental metadata. HED tags are comma-separated path strings that provide a standardized vocabulary for annotating events and experimental conditions.

**Key Features:**
Expand All @@ -20,8 +26,14 @@ HED (Hierarchical Event Descriptors) is a framework for systematically describin

## Quick start

```{index} quick start, getting started, installation
```

### Online tools (no installation required)

```{index} online tools, web tools, hedtools.org
```

For simple validation or transformation tasks, use the online tools at [https://hedtools.org/hed](https://hedtools.org/hed) - no installation needed!

Browser-based validation (no data upload) is available at [https://www.hedtags.org/hed-javascript](https://www.hedtags.org/hed-javascript)
Expand All @@ -30,6 +42,9 @@ A development version of the online tools is available at: [https://hedtools.org

### Python installation

```{index} installation; Python, pip install, PyPI
```

**Requirements:** Python 3.10 or higher

Install from PyPI:
Expand All @@ -46,6 +61,9 @@ pip install git+https://github.com/hed-standard/hed-python/@main

### Basic usage

```{index} usage examples, HedString, load_schema_version, validation example
```

```python
from hed import HedString, load_schema_version

Expand All @@ -65,6 +83,9 @@ else:

### Command-line tools

```{index} command-line tools, CLI, hedpy, validate-bids, extract-sidecar
```

HEDTools provides a unified command-line interface with git-like subcommands:

```bash
Expand Down Expand Up @@ -97,6 +118,9 @@ For more examples, see the [user guide](https://www.hedtags.org/hed-python/user_

### Jupyter notebook examples

```{index} Jupyter notebooks, examples, interactive workflows
```

**Note:** Example notebooks are available in the [GitHub repository](https://github.com/hed-standard/hed-python/tree/main/examples) only, not in the PyPI package.

The [`examples/`](examples/) directory contains Jupyter notebooks demonstrating common HED workflows with BIDS datasets:
Expand Down Expand Up @@ -127,6 +151,9 @@ See [`examples/README.md`](examples/README.md) for more details.

## Documentation

```{index} documentation, user guide, API reference, Sphinx
```

📖 **Full Documentation:** [https://www.hedtags.org/hed-python](https://www.hedtags.org/hed-python)

- [User guide](https://www.hedtags.org/hed-python/user_guide.html) - Usage instructions
Expand All @@ -135,6 +162,9 @@ See [`examples/README.md`](examples/README.md) for more details.

### Building docs locally

```{index} building documentation, sphinx-build
```

```bash
# Install documentation dependencies
pip install -e .[docs]
Expand All @@ -152,6 +182,9 @@ make html

### Formatting with Black

```{index} Black, code formatting, style guide
```

This project uses [Black](https://black.readthedocs.io/) for consistent code formatting.

```bash
Expand Down Expand Up @@ -184,6 +217,9 @@ black --workers 1 .

## Related repositories

```{index} HED ecosystem, repositories, hed-schemas, hed-specification
```

The HED ecosystem consists of several interconnected repositories:

| Repository | Description |
Expand All @@ -198,6 +234,9 @@ The HED ecosystem consists of several interconnected repositories:

## Contributing

```{index} contributing, development setup, pull requests
```

We welcome contributions! Here's how you can help:

1. **Report issues:** Use [GitHub Issues](https://github.com/hed-standard/hed-python/issues) for bug reports and feature requests
Expand Down Expand Up @@ -234,8 +273,14 @@ For detailed contribution guidelines, please see [CONTRIBUTING.md](CONTRIBUTING.

## Configuration

```{index} configuration, schema caching, cache directory
```

### Schema caching

~~~{index} schema; caching, ~/.hedtools
~~~

By default, HED schemas are cached in `~/.hedtools/` (location varies by OS).

```python
Expand Down
4 changes: 2 additions & 2 deletions docs/api/errors.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Errors
======
Python HEDTools error handling
==============================

Error handling and reporting classes for HED validation and processing.

Expand Down
4 changes: 2 additions & 2 deletions docs/api/index.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Python HEDTools API
===================

This section contains the complete API reference for HED Python tools.
This section contains the complete API reference for Python HEDTools.

.. toctree::
:maxdepth: 2
Expand All @@ -15,7 +15,7 @@ This section contains the complete API reference for HED Python tools.
Core modules overview
---------------------

The HED Python tools package is organized into several key modules:
The Python HEDTools package is organized into several key modules:

* **Models**: Core data structures for HED annotations and tags
* **Schema**: HED schema management and validation
Expand Down
4 changes: 2 additions & 2 deletions docs/api/models.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Models
======
Python HEDTools models
=============================

Core data models for working with HED data structures.

Expand Down
4 changes: 2 additions & 2 deletions docs/api/schema.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Schema
======
Python HEDTools schema
======================

HED schema management and validation tools.

Expand Down
4 changes: 2 additions & 2 deletions docs/api/tools.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Tools
=====
Python HEDTools tools
=============================

Utility functions and data processing tools for HED operations.

Expand Down
4 changes: 2 additions & 2 deletions docs/api/validator.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Validator
=========
Python HEDTools validator
=========================

Validation tools for HED data structures and annotations.

Expand Down
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Python HEDTools API
API <api/index>


Index
=====
Python HEDtools index
----------------------

* :ref:`genindex`
23 changes: 22 additions & 1 deletion docs/overview.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
# Python HEDTools overview

```{index} single: HED; overview
```

## What is HED?

```{index} HED, Hierarchical Event Descriptors, controlled vocabulary, BIDS, NWB
```

HED (Hierarchical Event Descriptors) is a framework for systematically describing events and experimental metadata in machine-actionable form. HED provides:

- **Controlled vocabulary** for annotating experimental data and events
Expand All @@ -10,7 +16,10 @@ HED (Hierarchical Event Descriptors) is a framework for systematically describin

For more information, visit the HED project [homepage](https://www.hedtags.org) and the [resources page](https://www.hedtags.org/hed-resources). The [table-remodeler](https://www.hedtags.org/table-remodeler) tools are now in a separate repository.

## What is HEDTools?
## What are Python HEDTools?

```{index} hedtools, validation, BIDS integration, NWB support
```

The **hedtools** Python package (`hed-python` repository) provides:

Expand All @@ -36,6 +45,9 @@ The **hedtools** Python package (`hed-python` repository) provides:

## Installation

```{index} installation, pip, PyPI
```

### From PyPI (recommended)

Install the latest stable release:
Expand Down Expand Up @@ -112,6 +124,9 @@ pip install -e .

### Basic validation example

```{index} validation; HED string, HedString
```

```python
from hed import HedString, load_schema, get_printable_issue_string

Expand All @@ -130,6 +145,9 @@ else:

### BIDS dataset validation

```{index} BIDS; validation, BidsDataset
```

```python
from hed.tools import BidsDataset

Expand All @@ -145,6 +163,9 @@ else:

### Working with sidecars

```{index} sidecar, JSON sidecar, Sidecar class
```

```python
from hed import Sidecar, load_schema_version

Expand Down
Loading