Release 1.1.0: compiled kernels (P9) and packaging (P10)
ci / test (3.12) (push) Failing after 9s
ci / test (3.13) (push) Failing after 12s

This commit is contained in:
kemal committed 2026-09-28 23:56:39 +01:00
1 parent 0b05b0d346
commit d235dc5419
7 files changed
+13 -13

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
# Changelog # Changelog
## Unreleased (P9, P10) ## 1.1.0 — 2026-09-28 (P9, P10)
**Packaging (P10).** `scripts/build_dist.sh` (sdist, pure wheel, manylinux_2_28 kernel wheels for x86_64 and **Packaging (P10).** `scripts/build_dist.sh` (sdist, pure wheel, manylinux_2_28 kernel wheels for x86_64 and
aarch64), `Dockerfile`, conda recipes (`packaging/conda/`). Verified on fresh x86_64 and aarch64 VMs: pip, Docker aarch64), `Dockerfile`, conda recipes (`packaging/conda/`). Verified on fresh x86_64 and aarch64 VMs: pip, Docker
+2 -2
View File
@@ -1,6 +1,6 @@
# SimurgArray container: the `simurg` CLI with the compiled kernels. # SimurgArray container: the `simurg` CLI with the compiled kernels.
# docker build -t simurg:1.0.0 . # docker build -t simurg:1.1.0 .
# docker run --rm -v "$PWD":/work simurg:1.0.0 genotype --bpm M.bpm --egt C.egt --idats idats --out run/gtc # docker run --rm -v "$PWD":/work simurg:1.1.0 genotype --bpm M.bpm --egt C.egt --idats idats --out run/gtc
# Inputs and outputs live in the mounted /work folder; the image holds no data. # Inputs and outputs live in the mounted /work folder; the image holds no data.
ARG PYTHON=3.12 ARG PYTHON=3.12
+1 -1
View File
@@ -9,7 +9,7 @@ Personal research toolkit for Illumina Infinium genotyping BeadChip data
## Status ## Status
**v1.0.0** (2026-09-28) — see `CHANGELOG.md`. IDAT → normalization → GenCall-equivalent genotype calling → GTC v5 → **v1.1.0** (2026-09-28) — see `CHANGELOG.md`. IDAT → normalization → GenCall-equivalent genotype calling → GTC v5 →
sample/control QC with an HTML report → plus-strand VCF/BCF → PLINK 1/2, bedGraph, final report; plus a sample/control QC with an HTML report → plus-strand VCF/BCF → PLINK 1/2, bedGraph, final report; plus a
differential-testing harness. Validation (`docs/validation/`): differential-testing harness. Validation (`docs/validation/`):
+6 -6
View File
@@ -1,4 +1,4 @@
# SimurgArray user guide (v1.0) # SimurgArray user guide (v1.1)
SimurgArray turns Illumina Infinium genotyping BeadChip scans (IDAT files) into genotype calls, QC tables and SimurgArray turns Illumina Infinium genotyping BeadChip scans (IDAT files) into genotype calls, QC tables and
reports, VCF/BCF and PLINK files. It is a personal, non-commercial **research** tool — not for clinical or reports, VCF/BCF and PLINK files. It is a personal, non-commercial **research** tool — not for clinical or
@@ -24,7 +24,7 @@ uv venv && uv pip install -e . # add ".[dev]" for tests and linters
```bash ```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal # Rust (needs a C linker, e.g. gcc) curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal # Rust (needs a C linker, e.g. gcc)
uv pip install ./rust/simurg-core uv pip install ./rust/simurg-core
.venv/bin/python -c "from simurg._core import backend; print(backend())" # rust 1.0.0 .venv/bin/python -c "from simurg._core import backend; print(backend())" # rust 1.1.0
``` ```
Without them the same code runs in pure Python/NumPy; `SIMURG_PURE_PYTHON=1` forces that path. Without them the same code runs in pure Python/NumPy; `SIMURG_PURE_PYTHON=1` forces that path.
@@ -33,15 +33,15 @@ Without them the same code runs in pure Python/NumPy; `SIMURG_PURE_PYTHON=1` for
`manylinux_2_28` kernel wheels for x86_64 and aarch64, glibc ≥ 2.28): `manylinux_2_28` kernel wheels for x86_64 and aarch64, glibc ≥ 2.28):
```bash ```bash
python3 -m venv simurg-env && simurg-env/bin/pip install simurg-1.0.0-py3-none-any.whl \ python3 -m venv simurg-env && simurg-env/bin/pip install simurg-1.1.0-py3-none-any.whl \
simurg_core-1.0.0-cp312-abi3-manylinux_2_28_$(uname -m).whl # the second wheel is optional simurg_core-1.1.0-cp312-abi3-manylinux_2_28_$(uname -m).whl # the second wheel is optional
``` ```
**Docker** (image ≈ 550 MB, kernels included, runs as a non-root user; data stay in the mounted folder): **Docker** (image ≈ 550 MB, kernels included, runs as a non-root user; data stay in the mounted folder):
```bash ```bash
docker build -t simurg:1.0.0 . docker build -t simurg:1.1.0 .
docker run --rm --user "$(id -u):$(id -g)" -v "$PWD":/work simurg:1.0.0 \ docker run --rm --user "$(id -u):$(id -g)" -v "$PWD":/work simurg:1.1.0 \
genotype --bpm M.bpm --egt C.egt --idats idats --out run/gtc genotype --bpm M.bpm --egt C.egt --idats idats --out run/gtc
``` ```
+1 -1
View File
@@ -198,7 +198,7 @@ checksum = "6b1e7f9a428571be2dc5bc0505c13fb6bf936822b894ec87abf8a08a4e51742d"
[[package]] [[package]]
name = "simurg-core" name = "simurg-core"
version = "1.0.0" version = "1.1.0"
dependencies = [ dependencies = [
"numpy", "numpy",
"pyo3", "pyo3",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "simurg-core" name = "simurg-core"
version = "1.0.0" version = "1.1.0"
edition = "2021" edition = "2021"
license = "MIT" license = "MIT"
description = "Compiled kernels for SimurgArray (plan §18 P9)" description = "Compiled kernels for SimurgArray (plan §18 P9)"
+1 -1
View File
@@ -4,5 +4,5 @@ Specification: SIMURGARRAY_MASTER_PLAN.md (algorithms, roadmap) and
SIMURGARRAY_FUNCTIONAL_SPEC.md (externally visible behaviour, item IDs such as CLI-021). SIMURGARRAY_FUNCTIONAL_SPEC.md (externally visible behaviour, item IDs such as CLI-021).
""" """
__version__ = "1.0.0" __version__ = "1.1.0"
PRODUCT_NAME = "SimurgArray" PRODUCT_NAME = "SimurgArray"