Skip to content

boisgera/pioupiou

Repository files navigation

Pioupiou 🐤

build coverage doc MIT License stage

Introduction

Pioupiou is a nano probabilistic programming language, embedded into Python.

Use it to define probabilistic models :

>>> import pioupiou as pp
>>> a, b = 0.5, 1.0
>>> X = pp.Uniform(0.0, 1.0)
>>> E = pp.Normal(0.0, 0.01)
>>> Y = a * X + b + E

and to simulate them :

>>> n = 1000 # number of samples
>>> omega = pp.Omega(n)
>>> x, y = X(omega), Y(omega)
>>> x # doctest: +ELLIPSIS
array([6.36961687e-01, 2.69786714e-01, 4.09735239e-02, ..., 3.80007897e-01])
>>> y # doctest: +ELLIPSIS
array([1.09588258, 1.22942954, 1.01954509, 0.99213115, ..., 1.14366864])

That's about it! Use this data as you see fit.

data

Getting started

Install the latest version of pioupiou with

$ pip install --upgrade git+https://github.com/boisgera/pioupiou.git

then have a look at the documentation : https://boisgera.github.io/pioupiou/ 🐤.