Skip to content

Commit 2f47196

Browse files
chore: sync version and tidy changelog (#84)
1 parent 892ca6b commit 2f47196

33 files changed

+1087
-459
lines changed

.flake8

Lines changed: 0 additions & 3 deletions
This file was deleted.

.github/workflows/bump-version.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# .github/workflows/bump-version.yml
2-
name: Tag Version on Merge to Main
2+
name: Sync Version on Merge to Main
33

44
on:
55
push:
@@ -21,6 +21,6 @@ jobs:
2121
with:
2222
python-version: "3.11"
2323

24-
- name: Tag repository from pyproject
25-
run: python scripts/check_version_match.py --fix
24+
- name: Synchronize tag and pyproject version
25+
run: python scripts/check_version_match.py --fix --write
2626

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
echo "$HOME/.local/bin" >> $GITHUB_PATH
4040
4141
- name: Install dependencies
42-
run: poetry install --with dev --no-interaction --no-root
42+
run: poetry install --with dev --no-interaction
4343

4444
- name: Check runtime dependencies
4545
run: |
@@ -90,7 +90,7 @@ jobs:
9090
echo "$HOME/.local/bin" >> $GITHUB_PATH
9191
9292
- name: Install dependencies
93-
run: poetry install --with dev --no-interaction --no-root
93+
run: poetry install --with dev --no-interaction
9494

9595
- name: Run pre-commit checks
9696
run: poetry run pre-commit run --all-files

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ repos:
1111
rev: 6.1.0
1212
hooks:
1313
- id: flake8
14+
additional_dependencies: [flake8-pyproject]
1415
- repo: https://github.com/pre-commit/mirrors-mypy
1516
rev: v1.15.0
1617
hooks:

CHANGELOG.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -221,9 +221,6 @@
221221
- Update pyproject
222222
([`a4b25e4`](https://github.com/DiogoRibeiro7/genSurvPy/commit/a4b25e470954091254b1384a44a991a47341bf80))
223223

224-
- Work
225-
([`5ac5130`](https://github.com/DiogoRibeiro7/genSurvPy/commit/5ac513098238a8298430d1a95c6fbeed99db4cad))
226-
227224
### Continuous Integration
228225

229226
- Add GitHub Actions workflow for test automation
@@ -253,6 +250,3 @@
253250

254251
- Implement THMM data generator and finalize full model suite
255252
([`1e667ba`](https://github.com/DiogoRibeiro7/genSurvPy/commit/1e667babf28892c3a85c43477562f2de85f07f3c))
256-
257-
- Work
258-
([`45de359`](https://github.com/DiogoRibeiro7/genSurvPy/commit/45de359bbb0d7fbc671e41fa07d3a37b09e68e18))

benchmarks/README.md

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,26 @@
11
# Benchmarks
22

3-
This directory contains performance benchmarks run with `pytest-benchmark`.
4-
Run them with:
3+
Performance benchmarks for **genSurvPy** powered by the [`pytest-benchmark`](https://pytest-benchmark.readthedocs.io/en/latest/) plugin.
4+
5+
## Running
6+
7+
Install the optional `pytest-benchmark` dependency and execute:
8+
9+
```bash
10+
poetry run pytest benchmarks -q --benchmark-only
11+
```
12+
13+
To run an individual benchmark module:
514

615
```bash
7-
pytest benchmarks -q --benchmark-only
16+
poetry run pytest benchmarks/test_cmm_benchmark.py --benchmark-only
817
```
918

1019
## Available benchmarks
1120

12-
- validation helpers
13-
- TDCM generation
21+
- Validation helpers (`test_validation_benchmark.py`)
22+
- Time-dependent Cox model generation (`test_tdcm_benchmark.py`)
23+
- Continuous-time Markov model generation (`test_cmm_benchmark.py`)
24+
- Piecewise exponential generation (`test_piecewise_benchmark.py`)
25+
- Cox proportional hazards model generation (`test_cphm_benchmark.py`)
26+
- Mixture cure model generation (`test_mixture_benchmark.py`)

benchmarks/test_cmm_benchmark.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import pytest
2+
3+
pytest.importorskip("pytest_benchmark")
4+
5+
from gen_surv.cmm import gen_cmm
6+
7+
8+
def test_cmm_generation_benchmark(benchmark):
9+
benchmark(
10+
gen_cmm,
11+
n=1000,
12+
model_cens="uniform",
13+
cens_par=1.0,
14+
beta=[0.1, 0.2, 0.3],
15+
covariate_range=2.0,
16+
rate=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
17+
seed=42,
18+
)

benchmarks/test_cphm_benchmark.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import pytest
2+
3+
pytest.importorskip("pytest_benchmark")
4+
5+
from gen_surv.cphm import gen_cphm
6+
7+
8+
def test_cphm_generation_benchmark(benchmark):
9+
benchmark(
10+
gen_cphm,
11+
n=1000,
12+
model_cens="uniform",
13+
cens_par=1.0,
14+
beta=0.5,
15+
covariate_range=2.0,
16+
seed=42,
17+
)
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import pytest
2+
3+
pytest.importorskip("pytest_benchmark")
4+
5+
from gen_surv.mixture import gen_mixture_cure
6+
7+
8+
def test_mixture_generation_benchmark(benchmark):
9+
benchmark(
10+
gen_mixture_cure,
11+
n=1000,
12+
cure_fraction=0.3,
13+
seed=42,
14+
)
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import pytest
2+
3+
pytest.importorskip("pytest_benchmark")
4+
5+
from gen_surv.piecewise import gen_piecewise_exponential
6+
7+
8+
def test_piecewise_generation_benchmark(benchmark):
9+
benchmark(
10+
gen_piecewise_exponential,
11+
n=1000,
12+
breakpoints=[1.0, 2.0],
13+
hazard_rates=[0.5, 0.3, 0.1],
14+
n_covariates=3,
15+
seed=42,
16+
)

0 commit comments

Comments
 (0)