Metadata-Version: 2.4
Name: decision-security
Version: 0.1.0
Summary: Decision-science utilities for security: Monte Carlo, Bayes, Survival, Value of Information, causal helpers, and viz.
Author: Laura Voicu
License: MIT
Project-URL: Homepage, https://github.com/security-decision-science/decision-security
Project-URL: Repository, https://github.com/security-decision-science/decision-security
Project-URL: Issues, https://github.com/security-decision-science/decision-security/issues
Project-URL: Documentation, https://github.com/security-decision-science/security-decision-science
Project-URL: PyPI, https://pypi.org/project/decision-security/
Keywords: cybersecurity,decision-science,risk quantification,monte carlo,bayesian,survival analysis,causal inference,value of information,python
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Security
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.23
Requires-Dist: scipy>=1.10
Requires-Dist: pandas>=1.5
Requires-Dist: matplotlib>=3.6
Provides-Extra: test
Requires-Dist: pytest>=7; extra == "test"
Requires-Dist: pytest-cov>=4; extra == "test"
Requires-Dist: mypy>=1.8; extra == "test"
Requires-Dist: ruff>=0.4; extra == "test"
Dynamic: license-file

[![PyPI](https://img.shields.io/pypi/v/decision-security?label=PyPI&include_prereleases)](https://pypi.org/project/decision-security/)
[![Python versions](https://img.shields.io/pypi/pyversions/decision-security.svg)](https://pypi.org/project/decision-security/)
[![CI](https://github.com/security-decision-science/decision-security/actions/workflows/ci.yml/badge.svg)](https://github.com/security-decision-science/decision-security/actions/workflows/ci.yml)
[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/security-decision-science/decision-security/badge)](https://scorecard.dev/viewer/?uri=github.com/security-decision-science/decision-security)
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) 
[![Linkedin Badge](https://img.shields.io/badge/-LinkedIn-blue?style=flat-square&logo=Linkedin&logoColor=white&link=https://www.linkedin.com/in/voiculaura/)](https://www.linkedin.com/in/voiculaura/)

# 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.

Part of [Apropos Security](https://apropos-security.com) · [Notebooks](https://security-decision-science.github.io/security-decision-science/) · [Playground](https://github.com/security-decision-science/security-decision-labs) · [Blog](https://medium.com/apropos-security)

## Install

```bash
pip install --pre 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 pre-release (APIs may change).

## Docs & examples

- **Notebooks:** [Security Decision Science](https://security-decision-science.github.io/security-decision-science/) — 19 interactive notebooks using this library
- **Playground:** [Security Decision Labs](https://github.com/security-decision-science/security-decision-labs) — FAIR Simulator app
- **Hub:** [apropos-security.com](https://apropos-security.com)

## Contributing

Issues and PRs welcome. For non-public questions, contact via [LinkedIn](https://www.linkedin.com/in/voiculaura/).
