simplified and condensed distributions
pip install distl
IMPORTANT: distl is currently still under development, is not yet well-tested, and is subject to significant API changes. Please keep posted until an official release is ready.
Read the latest documentation on readthedocs or browse the current documentation.
distl provides a python object-interface on top of several distribution (random variable) functions in scipy.stats and allows for:
- serialization of distributions (so they can be saved to disk or pickled and sent to processors within MPI)
- support for units and wrapping
- conversion between different types of distributions
- math between distributions, handling covariances from multivariate distributions wherever possible
- plotting convenience functions
distl requires the following dependencies:
- python 2.7+ or 3.6+
- scipy 1.0+
- numpy 1.10+
and the following optional dependencies:
- matplotlib 2.2+ (required for plotting distributions)
- corner (required for plotting multivariate distributions and distribution collections)
- astropy 1.0+ (required for units support)
- dill (required for saving/loading Function distributions)
You can see the Travis testing matrix for details on what exact versions have been tested and ensured to work. If you run into any issues with dependencies, please submit an issue.
To install the latest release via pip:
pip install distl
To install from source locally for a single user:
python setup.py build
python setup.py install --user
Or to install globally:
python setup.py build
sudo python setup.py install
Now from within python we can import the distl
package:
import distl
and then create, sample from, and plot our first distribution:
g = distl.gaussian(10, 1)
print(g.sample())
print(g.sample(10))
g.plot(show=True)
Read the latest documentation on readthedocs or browse the current documentation.
Contributions are welcome! Feel free to file an issue or fork and create a pull-request.