Skip to content

uv sync does not install the ecg_byte extension required for preprocessing #9

Description

@Shehz

Description

uv run src/main.py --base ptb_xl fails with ModuleNotFoundError: No module named 'ecg_byte' after following installation instructions

Steps to Reproduce

  1. if git clone and uv installed, just cd into the repo and uv sync.
  2. uv run src/main.py --base ptb_xl or sh scripts/prepare_base.sh

Observed Behavior

ELM-Research/ECG-Preprocess/src/ecg_tokenizer/build_ecg_tokenizer.py", line 12, in <module> import ecg_byte ModuleNotFoundError: No module named 'ecg_byte'

Investigation

While investigating the issue, I found that:

  1. src/ecg_tokenizer/build_ecg_tokenizer.py imports ecg_byte.
  2. ecg_byte is implemented as a PyO3 Rust extension (src/ecg_tokenizer/ecg_byte/Cargo.toml).
  3. pyproject.toml includes maturin as a dependency, but I could not find a documented or automated step that builds/installs the Rust extension during the project setup.

Possible Solutions

  1. Build and install the ecg_byte PyO3 extension as part of the project setup.
  2. If a manual build step is intended, document it in the README before instructing users to run uv run src/main.py.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions