Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

pyAgrum

pyAgrum is a scientific C++ and Python library dedicated to Bayesian Networks and other Probabilistic Graphical Models. It provides a high-level interface to the part of aGrUM allowing to create, model, learn, use, calculate with and embed Bayesian Networks and other graphical models. Some specific (python and C++) codes are added in order to simplify and extend the aGrUM API.

Important

Since pyAgrum 2.0.0, the package name follows PEP8 rules and is now pyagrum (lowercase). Please use import pyagrum instead of import pyAgrum in your code.

See the CHANGELOG for more details.

Example

import pyagrum as gum

# Creating BayesNet with 4 variables
bn=gum.BayesNet('WaterSprinkler')
print(bn)

# Adding nodes the long way
c=bn.add(gum.LabelizedVariable('c','cloudy ?',["Yes","No"]))
print(c)

# Adding nodes the short way
s, r, w = [ bn.add(name, 2) for name in "srw" ]
print (s,r,w)
print (bn)

# Addings arcs c -> s, c -> r, s -> w, r -> w
bn.addArc(c,s)
for link in [(c,r),(s,w),(r,w)]:
bn.addArc(*link)
print(bn)

# or, equivalenlty, creating the BN with 4 variables, and the arcs in one line
bn=gum.fastBN("w<-r<-c{Yes|No}->s->w")

# Filling CPTs
bn.cpt("c").fillWith([0.5,0.5])
bn.cpt("s")[0,:]=0.5 # equivalent to [0.5,0.5]
bn.cpt("s")[{"c":1}]=[0.9,0.1]
bn.cpt("w")[0,0,:] = [1, 0] # r=0,s=0
bn.cpt("w")[0,1,:] = [0.1, 0.9] # r=0,s=1
bn.cpt("w")[{"r":1,"s":0}] = [0.1, 0.9] # r=1,s=0
bn.cpt("w")[1,1,:] = [0.01, 0.99] # r=1,s=1
bn.cpt("r")[{"c":0}]=[0.8,0.2]
bn.cpt("r")[{"c":1}]=[0.2,0.8]

# Saving BN as a BIF file
gum.saveBN(bn,"WaterSprinkler.bif")

# Loading BN from a BIF file
bn2=gum.loadBN("WaterSprinkler.bif")

# Inference
ie=gum.LazyPropagation(bn)
ie.makeInference()
print (ie.posterior("w"))

# Adding hard evidence
ie.setEvidence({"s": 1, "c": 0})
ie.makeInference()
print(ie.posterior("w"))

# Adding soft and hard evidence
ie.setEvidence({"s": [0.5, 1], "c": 0})
ie.makeInference()
print(ie.posterior("w"))

LICENSE

Copyright (C) 2005-2024 by Pierre-Henri WUILLEMIN et Christophe GONZALES {prenom.nom}_at_lip6.fr

The aGrUM/pyAgrum library and all its derivatives are distributed under the dual LGPLv3+MIT license, see LICENSE.LGPL and LICENSE.MIT.

You can therefore integrate this library into your software solution but it will remain covered by either the LGPL v.3 license or the MIT license or, as aGrUM itself, by the dual LGPLv3+MIT license at your convenience. If you wish to integrate the aGrUM library into your product without being affected by this license, please contact us (info@agrum.org).

This library depends on different third-party codes. See src/aGrUM/tools/externals for specific COPYING and explicit permission of the authors, if needed.

If you use aGrUM/pyAgrum as a dependency of your own project, you are not contaminated by the GPL license of some of these third-party codes as long as you use only their aGrUM/pyAgrum interfaces and not their native interfaces.

Authors

  • Pierre-Henri Wuillemin

  • Christophe Gonzales

Maintainers

  • Lionel Torti

  • Gaspard Ducamp

Release files for pyAgrum-nightly 3.2.1.dev202610171791529687

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pyAgrum-nightly 3.2.1.dev202610171791529687
File
pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-macosx_10_15_x86_64.whl CPython 3.10 abi3 macOS 10.15+ x86-64 Details

Total release size: 32.6 MB

Release files / pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-win_amd64.whl

Download URL pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-win_amd64.whl
Size 6.6 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6f067170a98426fe65d7914716a7fbd5d7cd3650c3af0d527bc9d610290eede4
BLAKE2b-256 checksum
How to use checksums
9a8020f0ad83481fef0d23335e1bf1dfcdf3f1b771652127a6da970b1d41bcda
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-manylinux2014_x86_64.whl

Download URL pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-manylinux2014_x86_64.whl
Size 7.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
69ea151dc7fd18b84b501041e59d371e32b3e5203176e394a8a5563dfa0cdaf7
BLAKE2b-256 checksum
How to use checksums
1753689506cf0ad71c07c97d427b08c2c64d1bb3bfd8af850c481c6418f8712d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-manylinux2014_aarch64.whl

Download URL pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-manylinux2014_aarch64.whl
Size 7.1 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
61a061894e655fefde84815b236c0484988ca505e32f6b53ec3208f40b1545a4
BLAKE2b-256 checksum
How to use checksums
754807a6485a862550615cfdd2fd3c79166a3efd72e8aa9d841ee73f4cd0fdd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-macosx_11_0_arm64.whl

Download URL pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-macosx_11_0_arm64.whl
Size 5.2 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b287a2253a390f37732dfc4fe0f94111f186c8b1b657e2e7c4f6f6bc4d6eb40d
BLAKE2b-256 checksum
How to use checksums
7e64199083c5c704209c3f70c46808aa9d536400592db9c223dc796cd75c4fcf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-macosx_10_15_x86_64.whl

Download URL pyagrum_nightly-3.2.1.dev202610171791529687-cp310-abi3-macosx_10_15_x86_64.whl
Size 5.9 MB
Tags CPython 3.10 abi3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
d49084c51e38058b3e06e8710d20844e80e7c0a2df89878d26f7b0cad5142ffd
BLAKE2b-256 checksum
How to use checksums
1e8b9894bd383228eed8cf81252c2dcf6371e212a10491606df7cd0fc1186ad1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page