1 /** 2 * 3 * Copyright 2005-2021 Pierre-Henri WUILLEMIN (@LIP6) and Christophe GONZALES (@AMU) 4 * {prenom.nom}_at_lip6.fr 5 * 6 * This library is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU Lesser General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public License 17 * along with this library. If not, see <http://www.gnu.org/licenses/>. 18 * 19 */ 20 21 %define DOCSTRING 22 "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 the C++ aGrUM library 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. The module is mainly generated by the SWIG interface generator." 23 %enddef 24 %module(docstring=DOCSTRING, directors="1") pyAgrum 25 //%feature("autodoc", "0"); 26 %include "docs.i" 27 28 //317 : Specialization of non-template 29 //320 : Explicit template instantiation ignored. 30 //325 : Nested class not currently supported (Database ignored) 31 //509 : Overloaded method effectively ignore 32 #pragma SWIG nowarn=320,317,325,509 33 34 //#pragma SWIG nowarn=341,342 // The 'using' keyword in type aliasing is not fully supported yet. 35 36 37 %begin %{ 38 #include <cmath> 39 %} 40 41 %include "std_vector.i" 42 %include "std_string.i" 43 44 %{ 45 #define SWIG_FILE_WITH_INIT 46 47 #include "extensions/helpers.h" 48 %} 49 50 %pythoncode %{ 51 import numpy 52 from numbers import Number 53 %} 54 55 ////////////////////////////////////////////////////////////////// 56 /* declaration of code modifiers for 'pythonification' of aGrUM */ 57 ////////////////////////////////////////////////////////////////// 58 %include "exceptions.i" 59 %include "pythonize.i" 60 61 %include "gum_typemaps.i" 62 63 ////////////////////////////////////////////////////////////////// 64 /* declaration of code enhancers for pyAgrum */ 65 ////////////////////////////////////////////////////////////////// 66 %include "pgm.i" 67 68 %include "core.i" 69 %include "variables.i" 70 %include "instantiation.i" 71 72 %include "potential.i" 73 74 %include "graphs.i" 75 76 %include "pylisteners.i" 77 78 %include "bayesnet.i" 79 %include "inference.i" 80 %include "learning.i" 81 %include "bndistance.i" 82 83 %include "markovnet.i" 84 %include "MNinference.i" 85 86 %include "credalnet.i" 87 %include "CNinference.i" 88 89 %include "influenceDiagram.i" 90 %include "influenceDiagramInference.i" 91 92 %include "prm.i" 93 94 95 ////////////////////////////////////////////////////////////////// 96 /* extraction of the API for all wrappers */ 97 ////////////////////////////////////////////////////////////////// 98 %include "aGrUM_wrap.i" 99