ECG k-Fold utilities
Project description
ECG-k-Fold
Utilities for creating reproducible k-fold splits for open-access ECG datasets (FAIR compliant), packaged as a Python library with a CLI and CI/CD. Includes an option to push datasets to the Hugging Face Hub.
Install
pip install ecg-k-fold
For development:
git clone <this-repo>
cd ECG-k-Fold
make init
Or manually:
git clone <this-repo>
cd ECG-k-Fold
# Install uv if not already installed: curl -LsSf https://astral.sh/uv/install.sh | sh
uv pip install -e .[dev]
uv run pre-commit install
CLI
Push a local dataset directory to the Hugging Face Hub. Requires an access token with write permissions.
export HF_TOKEN=hf_************************
ecg-k-fold push-dataset ./path/to/dataset \
--repo-id org_or_user/dataset-name \
--private \
--commit-message "Add v1"
Flags:
--repo-id: target dataset repo, e.g.your-org/ecg-dataset--private/--public: repository visibility (default private)--commit-message: commit title for the upload--token: overrideHF_TOKENenv var
Dataset contents are uploaded as-is; common temp files are ignored.
Python API
from pathlib import Path
from ecg_k_fold.datasets.push_hf import push_local_dataset_to_hub
push_local_dataset_to_hub(
local_dir=Path("./path/to/dataset"),
repo_id="your-org/ecg-dataset",
private=True,
commit_message="Initial upload",
hf_token="hf_...",
)
CI/CD
- Lint, type-check, and tests run on PRs and pushes to
developandmain(.github/workflows/ci.yml). - Publishing to PyPI happens on pushing a tag like
vX.Y.Z(.github/workflows/publish.yml). Uses PyPI Trusted Publishers, no PyPI token needed. See https://docs.pypi.org/trusted-publishers/ - A manual workflow can push datasets to Hugging Face (
.github/workflows/hf-dataset-push.yml). SetHF_TOKENin repo secrets.
Gitflow
- Default branches:
main(stable),develop(integration). - Create feature branches off
develop(feature/<name>), open PRs intodevelop. - Release by creating a tag
vX.Y.Zonmainto trigger PyPI publish.
See CONTRIBUTING.md for details.
License
Apache-2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ecg_k_fold-0.1.3.tar.gz.
File metadata
- Download URL: ecg_k_fold-0.1.3.tar.gz
- Upload date:
- Size: 3.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91a0715086a5568c64e854bd98944adebfd57dc291ae7639bc6e5e68cb4f2b74
|
|
| MD5 |
f28c6a5d1ce5159092353763c931790b
|
|
| BLAKE2b-256 |
eb1bf284f402e02ec84267d052e858b85e519b68d94f9fc910fa0f79ad87e474
|
File details
Details for the file ecg_k_fold-0.1.3-py3-none-any.whl.
File metadata
- Download URL: ecg_k_fold-0.1.3-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1d2f7eb96d9df2fafb76f7107623d0d86a50b4ac7c919997d798bcb55d71620
|
|
| MD5 |
9bb9a067181603d840a886c4e2d7b948
|
|
| BLAKE2b-256 |
5e4f18f88d0d0fbef1257d28e4691dd41669eb2bfe1661df0707f691bb14c5ee
|