funcsim
Lightweight, functional stochastic simulation
Documentation: https://funcsim.readthedocs.io/
Features:
- static (cross-sectional) and recursive-dynamic simulations from a single user-written function
- pseudo-random numbers with an explicit seed (so that results are reproducible and comparable across runs or scenarios)
- stratified/Latin hypercube sampling
- painless multi-core simulations
- fitting and comparison of univariate distributions, kernel density estimates, and goodness-of-fit tests
- multivariate normal (fitted to data or specified by a mean vector and covariance matrix) and multivariate KDE distributions; Gaussian, Student's t, Clayton, Gumbel, and Frank copulas, fitted to pseudo-observations or specified by their parameters (implemented natively, no additional packages required); information-criterion comparison of copula families; Iman-Conover; covariance shrinkage
- expected utility and cumulative prospect theory calculations
- plotly-based fan charts and diagnostic plots
- highly flexible, and as simple as possible (but no more)
- functional paradigm
Requirements:
- python >= 3.11
- numpy >= 2.2.0
- scipy >= 1.16.0
- pandas >= 2.2.0 (pandas 2.2+ and 3.x are both supported)
- xarray >= 2025.4.0
For optional functionality, additional packages are needed:
- plotting: plotly (
pip install "funcsim[plotting]"); kaleido for static image export
Additionally, to run the tests and build the docs:
- pytest
- sphinx, sphinx-autodoc-typehints (
pip install "funcsim[docs]")
installation
pip install funcsim
building html docs
From the top-level funcsim directory...
sphinx-build -W -b html docs/source/ docs/build/
running tests
From the top-level funcsim directory...
python3 -m pytest
Release files for funcsim 0.2.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| funcsim-0.2.6.tar.gz | 66.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| funcsim-0.2.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 140.3 kB
Release files / funcsim-0.2.6.tar.gz
| Download URL | funcsim-0.2.6.tar.gz |
|---|---|
| Size | 66.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
786e5e246c4a98cc338cefc2e1b0cfe40f7a7622688426f9f32074874db17734
|
|
BLAKE2b-256 checksum How to use checksums |
9aaafcbd696fe35100b1667949a81c249c3af4ebad1e0b11037770cf81b2419e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|
Release files / funcsim-0.2.6-py3-none-any.whl
| Download URL | funcsim-0.2.6-py3-none-any.whl |
|---|---|
| Size | 73.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d472d88ec200045e8c04c8de98e2fcc5d3db892a85d634eb524ccf0e1cee838
|
|
BLAKE2b-256 checksum How to use checksums |
5b829e875d48bf95e165689c874c55eb799240138c4318fe1fcbb31e439edabc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.3
|