Skip to content

A Julia package for probability distributions and associated functions.

License

Notifications You must be signed in to change notification settings

rory-humphries/Distributions.jl

 
 

Repository files navigation

Distributions.jl

Build Status Coverage Status

A Julia package for probability distributions and associated functions. Particularly, Distributions implements:

  • Moments (e.g mean, variance, skewness, and kurtosis), entropy, and other properties
  • Probability density/mass functions (pdf) and their logarithm (logpdf)
  • Moment generating functions and characteristic functions
  • Sampling from population or from a distribution
  • Maximum likelihood estimation

Note: The functionalities related to conjugate priors have been moved to the ConjugatePriors package.

Resources

Contributing

Reporting issues

If you have a bug linked with Distributions, check that it has not been reported yet on the issues of the repository. If not, you can file a new issue, add your version of the package which you can get with this command in the Julia REPL:

julia> ]status Distributions

Be exhaustive in your report, give the summary of the bug, a Minimal Working Example (MWE), what happens and what you expected to happen.

Workflow with Git and GitHub

To contribute to the package, fork the repository on GitHub, clone it and make modifications on a new branch, do not commit modifications on master. Once your changes are made, push them on your fork and create the Pull Request on the main repository.

Requirements

Distributions is a central package which many rely on, the following are required for contributions to be accepted:

  1. Docstrings must be added to all interface and non-trivial functions.

  2. Tests validating the modified behavior in the test folder. If new test files are added, do not forget to add them in test/runtests.jl. Cover possible edge cases. Run the tests locally before submitting the PR.

  3. At the end of the tests, Test.detect_ambiguities(Distributions) is run to check method ambiguities. Verify that your modified code did not yield method ambiguities.

  4. Make according modifications to the docs folder, build the documentation locally and verify that your modifications display correctly and did not yield warnings. To build the documentation locally, you first need to instantiate the docs/ project:

    julia --project=docs/
    pkg> instantiate
    pkg> dev .
    

    Then use julia --project=docs/ docs/make.jl to build the documentation.

Citing

See CITATION.bib, or use the DOI badge above.

About

A Julia package for probability distributions and associated functions.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Julia 100.0%