Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

* First steps toward factoring out TransformVariables

* factor out exponential-families and tweedie

* AffinePushfwd <: AbstractPushforward

* don't export `mydot`

* moving things around

* drop TV functionality

* bugfix

* bugfix

* format

* factor out Chain (let's move it to a new package)

* fix type instability

* update Bernoulli

* import massof

* bugfix

* add some methods

* Revert "First steps toward factoring out TransformVariables"

This reverts commit c78c166.

* smfinv => invsmf

* update MeasureBase version

* add some smfs

* edits

* fix typo

* fix laplace

* fix bernoulli

* fix beta

* fix StudentT

* Fix Uniform

* fix Gumbel

* fix Dirichlet

* minor Dirichlet update

* more Dirichlet

* drop as(m::DistributionMeasures.DistributionMeasure) (for now)

* drop tests for Chain

* drop DistributionMeasures dependency (for now)

* fix cauchy

* fixing Binomial

* small updates

* update

* updates

* drop brokwn measures

* fix normal

* asparams methods

* update tests

* smfAD macro

* update tests

* smf(::Normal)

* move import

* add ForwardDiff

* dep constraint

* fix tests

* smf for affine pushfwd

* update tests

* update test name

* tests

* tests

* update StudentT

* tests

* Some `For` updates

* optimize `Normal`

* update insupport for Normal

* update basemeasure for For measures

* some affine updates

* some fixes

* bump version

* formatting

* oops didn't mean to add that

* format

* MeasureBase 0.14 + other updates

* compatibility fixes

* updates

* more fixes

* fixes

* more fixes

* tests passing

* bump version

* drop breakage CI for now

* update Julia versions for CI

* Drop commented-out code
84440f8 2

Git stats


Failed to load latest commit information.
Latest commit message
Commit time
August 22, 2023 09:01
June 23, 2023 05:43
May 9, 2022 14:08
August 22, 2023 09:01
August 22, 2023 09:01
May 24, 2022 09:46
May 24, 2022 09:46
October 2, 2020 17:36
April 16, 2022 07:34
August 22, 2023 09:01
March 16, 2022 16:23


Stable Dev Build Status Coverage DOI

MeasureTheory.jl is a package for building and reasoning about measures.


Probabilistic programming and statistical computing are vibrant areas in the development of the Julia programming language, but the underlying infrastructure dramatically predates recent developments. The goal of MeasureTheory.jl is to provide Julia with the right vocabulary and tools for these tasks. In this package we introduce a well-chosen foundational primitives centered around the notion of measure, density and conditional probability with powerful combinators and transforms intended to power and unify work on probabilistic programming and statistical computing within Julia. Check out our JuliaCon 2021 article detailing our ideas for and with this package.

Getting started

To install MeasureTheory.jl, open the Julia Pkg REPL (by typing ] in the standard REPL) and run

pkg> add MeasureTheory

To get an idea of the possibilities offered by this package, go to the documentation.

Coordination and support

For interaction and shorter usage questions, there is the dedicated channel #measuretheory on Julia's Zulip chat and the #measuretheory channel on the Julia language Slack chat and for broader discussions Julia's discourse forum.

Development takes place on Github with Github's issue ticker for bug reports and coordination.

We adhere to the community standards set forward by the Julia community.


Stargazers over time

Stargazers over time