Description
uv run src/main.py --base ptb_xl fails with ModuleNotFoundError: No module named 'ecg_byte' after following installation instructions
Steps to Reproduce
- if git clone and uv installed, just cd into the repo and uv sync.
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:
src/ecg_tokenizer/build_ecg_tokenizer.py imports ecg_byte.
ecg_byte is implemented as a PyO3 Rust extension (src/ecg_tokenizer/ecg_byte/Cargo.toml).
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
- Build and install the
ecg_byte PyO3 extension as part of the project setup.
- If a manual build step is intended, document it in the README before instructing users to run
uv run src/main.py.
Description
uv run src/main.py --base ptb_xlfails withModuleNotFoundError: No module named 'ecg_byte'after following installation instructionsSteps to Reproduce
uv run src/main.py --base ptb_xlorsh scripts/prepare_base.shObserved 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:
src/ecg_tokenizer/build_ecg_tokenizer.pyimportsecg_byte.ecg_byteis implemented as a PyO3 Rust extension (src/ecg_tokenizer/ecg_byte/Cargo.toml).pyproject.tomlincludesmaturinas a dependency, but I could not find a documented or automated step that builds/installs the Rust extension during the project setup.Possible Solutions
ecg_bytePyO3 extension as part of the project setup.uv run src/main.py.