Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,7 @@ dist/
# Temporary
*.log
*.tmp


tasks.py
TODO.md
44 changes: 30 additions & 14 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,25 @@ This document outlines future enhancements, features, and ideas for improving th

## 📦 1. Interface and UX

- [ ] Create a `generate(..., return_type="df" | "dict")` interface
- [] Create a `generate(..., return_type="df" | "dict")` interface
- [ ] Add `__version__` using `importlib.metadata` or `poetry-dynamic-versioning`
- [ ] Build a CLI with `typer` or `click`
- [ ] Add example notebooks for each model (`notebooks/` folder)
- [] Add example notebooks or scripts for each model (`examples/` folder)

---

## 📚 2. Documentation

- [ ] Add a "Model Comparison Guide" section
- [ ] Add "How It Works" sections for each model
- [ ] Include usage tutorials in Jupyter format on RTD
- [] Add a "Model Comparison Guide" section (`index.md` + `theory.md`)
- [] Add "How It Works" sections for each model (`theory.md`)
- [] Include usage examples in index with real calls
- [ ] Optional: add multilingual docs using `sphinx-intl`

---

## 🧪 3. Testing and Quality

- [] Add tests for each model (e.g., `test_tdcm.py`, `test_thmm.py`, `test_aft.py`)
- [ ] Add property-based tests with `hypothesis`
- [ ] Cover edge cases (e.g., invalid parameters, n=0, negative censoring)
- [ ] Run tests on multiple Python versions (CI matrix)
Expand All @@ -34,7 +35,8 @@ This document outlines future enhancements, features, and ideas for improving th

- [ ] Add Piecewise Exponential Model support
- [ ] Add competing risks / multi-event simulation
- [ ] Implement parametric AFT models (log-normal, log-logistic)
- [] Implement parametric AFT models (log-normal)
- [ ] Implement parametric AFT models (log-logistic, weibull)
- [ ] Simulate time-varying hazards
- [ ] Add informative or covariate-dependent censoring

Expand All @@ -59,18 +61,32 @@ This document outlines future enhancements, features, and ideas for improving th
## 🔁 7. Other Ideas

- [ ] Add performance benchmarks for each model
- [ ] Improve PyPI discoverability (add keywords)
- [] Improve PyPI discoverability (added tags, keywords, docs)
- [ ] Create a Streamlit or Gradio live demo

---

## 🧠 8. New Survival Models to Implement

- [ ] Accelerated Failure Time (AFT) models:
- [X] Log-Normal AFT
- [ ] Log-Logistic AFT
- [ ] Weibull AFT formulation
- [ ] Piecewise Exponential Model
- [ ] Competing Risks simulation
- [ ] Recurrent Events simulation
- [] Log-Normal AFT
- [ ] Log-Logistic AFT
- [ ] Weibull AFT
- [ ] Piecewise Exponential
- [ ] Competing Risks
- [ ] Recurrent Events
- [ ] Mixture Cure Model

---

## 🧬 9. Advanced Data Simulation Features

- [ ] Recurrent events (multiple events per individual)
- [ ] Frailty models (random effects)
- [ ] Time-varying hazard functions
- [ ] Multi-line start-stop formatted data
- [ ] Competing risks with cause-specific hazards
- [ ] Simulate violations of PH assumption
- [ ] Grouped / clustered data generation
- [ ] Mixed covariates: categorical, continuous, binary
- [ ] Joint models (longitudinal + survival outcome)
- [ ] Controlled scenarios for robustness tests
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "gen_surv"
version = "0.7.1"
description = "A Python package for simulating survival data, inspired by the R package genSurv"
authors = ["Diogo Ribeiro <diogo_dj@hotmail.com>"]
authors = ["Diogo Ribeiro <diogo.debastos.ribeiro@gmail.com>"]
license = "MIT"
readme = "README.md"
packages = [{ include = "gen_surv" }]
Expand Down
1 change: 0 additions & 1 deletion stubs/gen_surv/__init__.pyi

This file was deleted.

3 changes: 0 additions & 3 deletions stubs/gen_surv/aft.pyi

This file was deleted.

1 change: 0 additions & 1 deletion stubs/gen_surv/bivariate.pyi

This file was deleted.

4 changes: 0 additions & 4 deletions stubs/gen_surv/censoring.pyi

This file was deleted.

5 changes: 0 additions & 5 deletions stubs/gen_surv/cmm.pyi

This file was deleted.

6 changes: 0 additions & 6 deletions stubs/gen_surv/cphm.pyi

This file was deleted.

7 changes: 0 additions & 7 deletions stubs/gen_surv/interface.pyi

This file was deleted.

6 changes: 0 additions & 6 deletions stubs/gen_surv/tdcm.pyi

This file was deleted.

5 changes: 0 additions & 5 deletions stubs/gen_surv/thmm.pyi

This file was deleted.

6 changes: 0 additions & 6 deletions stubs/gen_surv/validate.pyi

This file was deleted.