A comprehensive Julia package for probability distributions, providing properties, PDFs, sampling, and maximum likelihood estimation.
Distributions.jl is a Julia package that implements a comprehensive suite of tools for probability distributions and associated functions. It provides functionalities for computing properties, density functions, sampling, and parameter estimation, serving as a core library for statistical computing in Julia. The package solves the need for a unified, high-performance interface to work with statistical distributions within the Julia ecosystem.
Data scientists, statisticians, and researchers using Julia for statistical modeling, simulation, or probabilistic programming who require reliable distribution operations.
Developers choose Distributions.jl for its extensive coverage of distributions, rigorous implementation, and seamless integration with the Julia ecosystem. Its focus on performance, clarity, and maintainability makes it a trusted foundation for statistical packages.
A Julia package for probability distributions and associated functions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements a wide range of probability distributions with properties like mean, variance, and entropy, as detailed in the key features list for comprehensive statistical analysis.
Supports sampling and maximum likelihood estimation, enabling simulations and model fitting, which are core functionalities highlighted in the documentation.
Emphasizes reliability with CI badges, coverage status, and stable documentation links, ensuring well-tested and accessible resources for users.
Serves as a foundational package for the Julia ecosystem, facilitating use in downstream packages and statistical computing, as noted in its philosophy.
The README explicitly states that conjugate priors functionality has been moved to ConjugatePriors.jl, which may inconvenience users expecting a single package for all distribution-related tasks.
Contributing requires detailed steps like building documentation locally and avoiding method ambiguities, as outlined in the contributing guidelines, which could deter new developers.
Being a Julia-specific package, it is not usable outside the Julia environment, limiting its applicability for projects in other programming languages like Python or R.