---
name: sim-tools
description: >
  Simulation Tools for Education and Practice. Use when writing Python code that uses the sim_tools package.
license: MIT
compatibility: Requires Python >=3.10.
---

# sim_tools

Simulation Tools for Education and Practice

## Installation

```bash
pip install sim-tools
```

## API overview

### Classes

Main classes provided by the package

- `distributions.Bernoulli`
- `distributions.Beta`
- `distributions.CombinationDistribution`
- `distributions.DiscreteEmpirical`
- `distributions.DistributionRegistry`
- `distributions.Erlang`
- `distributions.ErlangK`
- `distributions.Exponential`
- `distributions.FixedDistribution`
- `distributions.Gamma`
- `distributions.GroupedContinuousEmpirical`
- `distributions.Hyperexponential`
- `distributions.Lognormal`
- `distributions.Normal`
- `distributions.PearsonV`
- `distributions.PearsonVI`
- `distributions.Poisson`
- `distributions.RawContinuousEmpirical`
- `distributions.RawDiscreteEmpirical`
- `distributions.Triangular`
- `distributions.TruncatedDistribution`
- `distributions.Uniform`
- `distributions.Weibull`
- `output_analysis.OnlineStatistics`
- `output_analysis.ReplicationTabulizer`
- `output_analysis.ReplicationsAlgorithm`
- `time_dependent.DistributionRegistry`
- `time_dependent.NSPPThinning`

### Abstract Classes

Abstract base classes

- `trace.Traceable`

### Protocols

Protocol / structural-typing interfaces

- `distributions.Distribution`
- `output_analysis.AlgorithmObserver`
- `output_analysis.ReplicationObserver`
- `output_analysis.ReplicationsAlgorithmModelAdapter`

### Functions

Utility functions

- `datasets.load_banks_et_al_nspp`
- `distributions.is_integer`
- `distributions.is_non_negative`
- `distributions.is_numeric`
- `distributions.is_ordered_pair`
- `distributions.is_ordered_triplet`
- `distributions.is_positive`
- `distributions.is_positive_array`
- `distributions.is_probability`
- `distributions.is_probability_vector`
- `distributions.spawn_seeds`
- `distributions.validate`
- `output_analysis.confidence_interval_method`
- `output_analysis.plotly_confidence_interval_method`
- `time_dependent.nspp_plot`
- `time_dependent.nspp_simulation`

### Constants

Module-level constants and data

- `datasets.FILE_NAME_NSPP_1`
- `datasets.PATH_NSPP_1`
- `distributions.T`
- `output_analysis.ALG_INTERFACE_ERROR`
- `output_analysis.OBSERVER_INTERFACE_ERROR`
- `trace.CONFIG_ERROR`
- `trace.DEFAULT_DEBUG`

### Other

Additional exports

- `ovs`

## Resources

- [Full documentation](https://sim-tools.github.io/sim-tools/)
- [llms.txt](llms.txt) — Indexed API reference for LLMs
- [llms-full.txt](llms-full.txt) — Comprehensive documentation for LLMs
