# Decision Security
Reusable **decision-science utilities for security** — Monte Carlo risk bands, Bayesian updates & calibration, survival helpers, Value of Information, light causal helpers, and visualization.
```bash
pip install decision-security
```
## Quickstart
```python
import numpy as np
from decision_security.montecarlo import risk_bands, var_es, make_lognormal_severity, simulate_aggregate_losses
sev = make_lognormal_severity(meanlog=8.0, sdlog=1.2)
losses = simulate_aggregate_losses(n_periods=10000, lam=0.6, severity_sampler=sev)
print(risk_bands(losses)) # {'p50': ..., 'p90': ..., 'p95': ...}
print(var_es(losses)) # (VaR95, ES95)
```
## Modules
• synth: synthetic data (heavy-tail losses, counts, mixtures, survival with censoring, categorical/Dirichlet).
• montecarlo: Poisson frequency + severity, risk bands, VaR/ES.
• bayes: Beta-Binomial & Normal(known σ) updates, calibration helpers.
• survival: simple Kaplan–Meier & Nelson–Aalen estimates.
• voi: Expected Value of Perfect Information (EVPI) and simple ROI selection.
• causal: tiny DAG utilities (parents, descendants, naive backdoor set).
• viz: small matplotlib helpers (loss distribution, risk bands, KM curves).
Status: 0.x (APIs may change). MIT License.
See docs & examples: Security Decision Science Book and the Security Decision Labs playground.
Raw data
{
"_id": null,
"home_page": null,
"name": "decision-security",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "bayesian, causal, cybersecurity, monte carlo, risk, survival, value of information",
"author": "Laura Voicu",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/41/8c/075baf5bbcc91a5073a5db8865098e3d198ab90bfdef1acd8c3b965f98ee/decision_security-0.1.0a2.tar.gz",
"platform": null,
"description": "# Decision Security\n\nReusable **decision-science utilities for security** \u2014 Monte Carlo risk bands, Bayesian updates & calibration, survival helpers, Value of Information, light causal helpers, and visualization.\n\n```bash\npip install decision-security \n```\n\n## Quickstart\n\n```python\nimport numpy as np\nfrom decision_security.montecarlo import risk_bands, var_es, make_lognormal_severity, simulate_aggregate_losses\n\nsev = make_lognormal_severity(meanlog=8.0, sdlog=1.2)\nlosses = simulate_aggregate_losses(n_periods=10000, lam=0.6, severity_sampler=sev)\nprint(risk_bands(losses)) # {'p50': ..., 'p90': ..., 'p95': ...}\nprint(var_es(losses)) # (VaR95, ES95)\n```\n\n## Modules\n\t\u2022\tsynth: synthetic data (heavy-tail losses, counts, mixtures, survival with censoring, categorical/Dirichlet).\n\t\u2022\tmontecarlo: Poisson frequency + severity, risk bands, VaR/ES.\n\t\u2022\tbayes: Beta-Binomial & Normal(known \u03c3) updates, calibration helpers.\n\t\u2022\tsurvival: simple Kaplan\u2013Meier & Nelson\u2013Aalen estimates.\n\t\u2022\tvoi: Expected Value of Perfect Information (EVPI) and simple ROI selection.\n\t\u2022\tcausal: tiny DAG utilities (parents, descendants, naive backdoor set).\n\t\u2022\tviz: small matplotlib helpers (loss distribution, risk bands, KM curves).\n\nStatus: 0.x (APIs may change). MIT License.\n\nSee docs & examples: Security Decision Science Book and the Security Decision Labs playground.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Reusable decision-science utilities for security: Monte Carlo, Bayes, Survival, VoI, causal helpers, and viz.",
"version": "0.1.0a2",
"project_urls": {
"Documentation": "https://github.com/security-decision-science/security-decision-science-book",
"Homepage": "https://github.com/security-decision-science/decision-security",
"Issues": "https://github.com/security-decision-science/decision-security/issues",
"Repository": "https://github.com/security-decision-science/decision-security"
},
"split_keywords": [
"bayesian",
" causal",
" cybersecurity",
" monte carlo",
" risk",
" survival",
" value of information"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "09125aefd5aa53ee8f595f6081cdce3fa2c5bfcdbfb7fd45b199c3a6061c6505",
"md5": "3dcd1c58bc79b748e7ed0494048c5c3f",
"sha256": "ea5c850c63efac88d15207bbf15c205e78207f770ac195880284b71a36a40e12"
},
"downloads": -1,
"filename": "decision_security-0.1.0a2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3dcd1c58bc79b748e7ed0494048c5c3f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 2855,
"upload_time": "2025-10-09T15:42:31",
"upload_time_iso_8601": "2025-10-09T15:42:31.409723Z",
"url": "https://files.pythonhosted.org/packages/09/12/5aefd5aa53ee8f595f6081cdce3fa2c5bfcdbfb7fd45b199c3a6061c6505/decision_security-0.1.0a2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "418c075baf5bbcc91a5073a5db8865098e3d198ab90bfdef1acd8c3b965f98ee",
"md5": "dc816730cb09a68b2dce6c819a82182d",
"sha256": "441298ed89a20f12c8be448b521d9da1507d2054e81be3f93744d403891cc8c4"
},
"downloads": -1,
"filename": "decision_security-0.1.0a2.tar.gz",
"has_sig": false,
"md5_digest": "dc816730cb09a68b2dce6c819a82182d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 10385,
"upload_time": "2025-10-09T15:42:33",
"upload_time_iso_8601": "2025-10-09T15:42:33.503080Z",
"url": "https://files.pythonhosted.org/packages/41/8c/075baf5bbcc91a5073a5db8865098e3d198ab90bfdef1acd8c3b965f98ee/decision_security-0.1.0a2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-09 15:42:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "security-decision-science",
"github_project": "security-decision-science-book",
"github_not_found": true,
"lcname": "decision-security"
}