Skip to main content

Probabilistic Programming Language for Bayesian Inference

Project description

Bean Machine

Lint Tests PyPI

Overview

Bean Machine is a probabilistic programming language for inference over statistical models written in the Python language using a declarative syntax. Bean Machine is built on top of PyTorch and Bean Machine Graph, a custom C++ backend. Check out our tutorials and Quick Start to get started!

Installation

Bean Machine supports Python 3.7-3.10 and PyTorch 1.12.

Install the Latest Release with Pip

python -m pip install beanmachine

Install from Source

To download the latest Bean Machine source code from GitHub:

git clone https://github.com/facebookresearch/beanmachine.git
cd beanmachine

Then, you can choose from any of the following installation options.

Anaconda

We recommend using conda to manage the virtual environment and install the necessary build dependencies.

conda create -n {env name} python=3.8; conda activate {env name}
conda install -c conda-forge boost-cpp eigen=3.4.0
python -m pip install .

Docker

docker build -t beanmachine .
docker run -it beanmachine:latest bash

Validate Installation

If you would like to run the builtin unit tests:

python -m pip install "beanmachine[test]"
pytest src

License

Bean Machine is MIT licensed, as found in the LICENSE file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

beanmachine-0.2.0.tar.gz (450.3 kB view hashes)

Uploaded Source

Built Distributions

beanmachine-0.2.0-cp310-cp310-win_amd64.whl (881.1 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

beanmachine-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

beanmachine-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (963.2 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

beanmachine-0.2.0-cp310-cp310-macosx_10_13_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 macOS 10.13+ x86-64

beanmachine-0.2.0-cp310-cp310-macosx_10_13_universal2.whl (1.6 MB view hashes)

Uploaded CPython 3.10 macOS 10.13+ universal2 (ARM64, x86-64)

beanmachine-0.2.0-cp39-cp39-win_amd64.whl (877.1 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

beanmachine-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

beanmachine-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (963.3 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

beanmachine-0.2.0-cp39-cp39-macosx_10_13_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 macOS 10.13+ x86-64

beanmachine-0.2.0-cp39-cp39-macosx_10_13_universal2.whl (1.6 MB view hashes)

Uploaded CPython 3.9 macOS 10.13+ universal2 (ARM64, x86-64)

beanmachine-0.2.0-cp38-cp38-win_amd64.whl (881.5 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

beanmachine-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

beanmachine-0.2.0-cp38-cp38-macosx_11_0_arm64.whl (963.2 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

beanmachine-0.2.0-cp38-cp38-macosx_10_13_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 macOS 10.13+ x86-64

beanmachine-0.2.0-cp38-cp38-macosx_10_13_universal2.whl (1.6 MB view hashes)

Uploaded CPython 3.8 macOS 10.13+ universal2 (ARM64, x86-64)

beanmachine-0.2.0-cp37-cp37m-win_amd64.whl (880.5 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

beanmachine-0.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

beanmachine-0.2.0-cp37-cp37m-macosx_10_13_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.7m macOS 10.13+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page