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 2.3.2.9.dev202606121779285115

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 2.3.2.9.dev202606121779285115
File
pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-macosx_10_15_x86_64.whl CPython 3.10 abi3 macOS 10.15+ x86-64 Details

Total release size: 20.6 MB

Release files / pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-win_amd64.whl

Download URL pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-win_amd64.whl
Size 3.4 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
f0cbc21203837d940ff2fefbf786a8ce16ac581bab712c960d67b4ec183eba03
BLAKE2b-256 checksum
How to use checksums
b3d2b14593abdffb653fdbc34a59007830599fbb649fc1b2b9d17d16717594ef
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-2.3.2.9.dev202606121779285115-cp310-abi3-manylinux2014_x86_64.whl

Download URL pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-manylinux2014_x86_64.whl
Size 5.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
a84af156c65b6b6d8949eac2e6d49c9b1ccf369298d4a5afca9fb4b7cbb19669
BLAKE2b-256 checksum
How to use checksums
072caadee81ef2f0a0b8f4577c4d7157effddb5b81e1d1d03e375b0d1bbb7dbc
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-2.3.2.9.dev202606121779285115-cp310-abi3-manylinux2014_aarch64.whl

Download URL pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-manylinux2014_aarch64.whl
Size 4.6 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
c3a9e0e7129c47b2419fc3020caa4bfaa884fe9d9d27f317e15f6c4b1154c37f
BLAKE2b-256 checksum
How to use checksums
1eddf30d4655f2c1fb87bf7f23dad9ada0069c215eb1e5eeefe71f365590b847
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-2.3.2.9.dev202606121779285115-cp310-abi3-macosx_11_0_arm64.whl

Download URL pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-macosx_11_0_arm64.whl
Size 3.4 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1ea71973ec22db53f804fe8ad82138252b65fe46abf54f7ee444e7da1adaf7a2
BLAKE2b-256 checksum
How to use checksums
f4b2b940e768f91003b0083fd8aee9362fe2d2fdf10e25f103ff8a52516c8843
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-2.3.2.9.dev202606121779285115-cp310-abi3-macosx_10_15_x86_64.whl

Download URL pyagrum_nightly-2.3.2.9.dev202606121779285115-cp310-abi3-macosx_10_15_x86_64.whl
Size 3.9 MB
Tags CPython 3.10 abi3 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
12b57ea8f37603973fa3679bde32cc76c66535c0fda92798d4bc5c6d1d58bf10
BLAKE2b-256 checksum
How to use checksums
bd6c29db1556e1d73bcb3240653792425c69e1bb1674bb8add9a1a64fb0bb023
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