From 967ed544484f730b303cbc33984b9fe1318e9fa0 Mon Sep 17 00:00:00 2001 From: Filippo Martini Date: Mon, 14 Dec 2020 23:41:22 +0100 Subject: [PATCH] Modify init.py for package imports --- .gitignore | 1 + PyCTBN.egg-info/PKG-INFO | 10 - PyCTBN.egg-info/SOURCES.txt | 22 - PyCTBN.egg-info/dependency_links.txt | 3 - PyCTBN.egg-info/not-zip-safe | 1 - PyCTBN.egg-info/requires.txt | 3 - PyCTBN.egg-info/top_level.txt | 1 - PyCTBN/.scannerwork/.sonar_lock | 0 PyCTBN/.scannerwork/report-task.txt | 6 - PyCTBN/PyCTBN/__init__.py | 0 PyCTBN/__init__.py | 2 + PyCTBN/classes/__init__.py | 11 + .../{PyCTBN => classes}/abstract_importer.py | 0 PyCTBN/{PyCTBN => classes}/cache.py | 0 .../conditional_intensity_matrix.py | 0 PyCTBN/{PyCTBN => classes}/json_importer.py | 0 PyCTBN/{PyCTBN => classes}/network_graph.py | 0 .../parameters_estimator.py | 0 PyCTBN/{PyCTBN => classes}/sample_path.py | 11 +- PyCTBN/{PyCTBN => classes}/set_of_cims.py | 0 PyCTBN/{PyCTBN => classes}/structure.py | 0 .../structure_estimator.py | 0 PyCTBN/{PyCTBN => classes}/trajectory.py | 0 PyCTBN/deprecated/simple_cvs_importer.py | 4 +- PyCTBN/tests/original_ctpc_algorithm.py | 2 +- PyCTBN/tests/performance_comparisons.py | 6 +- PyCTBN/tests/test_cache.py | 4 +- PyCTBN/tests/test_cim.py | 2 +- PyCTBN/tests/test_json_importer.py | 2 +- PyCTBN/tests/test_networkgraph.py | 6 +- PyCTBN/tests/test_parameters_estimator.py | 10 +- PyCTBN/tests/test_sample_path.py | 18 +- PyCTBN/tests/test_setofcims.py | 2 +- PyCTBN/tests/test_structure.py | 2 +- PyCTBN/tests/test_structure_estimator.py | 8 +- PyCTBN/tests/test_trajectory.py | 2 +- dist/PyCTBN-1.0.tar.gz | Bin 18826 -> 0 bytes documentation/PyCTBN.rst | 101 --- documentation/_build/doctrees/PyCTBN.doctree | Bin 363201 -> 0 bytes .../_build/doctrees/environment.pickle | Bin 44647 -> 0 bytes .../_build/html/_sources/PyCTBN.rst.txt | 101 --- documentation/_build/html/genindex.html | 665 ----------------- documentation/_build/html/objects.inv | Bin 1296 -> 0 bytes documentation/_build/html/searchindex.js | 1 - .../parameters_estimation_example.py | 10 +- .../structure_estimation_example.py | 8 +- setup.py | 9 +- {documentation => sphinx_output}/Makefile | 0 sphinx_output/_build/doctrees/classes.doctree | Bin 0 -> 374075 bytes .../_build/doctrees/environment.pickle | Bin 0 -> 45873 bytes .../_build/doctrees/examples.doctree | Bin 11452 -> 11164 bytes .../_build/doctrees/index.doctree | Bin 4863 -> 4864 bytes .../_build/doctrees/modules.doctree | Bin 2589 -> 2594 bytes .../_build/html/.buildinfo | 0 .../_build/html/_sources/classes.rst.txt | 101 +++ .../_build/html/_sources/examples.rst.txt | 7 +- .../_build/html/_sources/index.rst.txt | 4 +- .../_build/html/_sources/modules.rst.txt | 6 +- .../_build/html/_static/alabaster.css | 701 ++++++++++++++++++ .../_build/html/_static/basic.css | 0 .../_build/html/_static/css/badge_only.css | 0 .../_build/html/_static/css/darker.css | 0 .../_build/html/_static/css/pdj.css | 0 .../_build/html/_static/css/theme.css | 0 sphinx_output/_build/html/_static/custom.css | 1 + .../_build/html/_static/doctools.js | 0 .../html/_static/documentation_options.js | 0 .../_build/html/_static/file.png | Bin .../_static/fonts/fontawesome-webfont.eot | Bin .../_static/fonts/fontawesome-webfont.svg | 0 .../_static/fonts/fontawesome-webfont.ttf | Bin .../_static/fonts/fontawesome-webfont.woff | Bin .../_build/html/_static/img/porao-branco.png | Bin .../_build/html/_static/jquery-3.5.1.js | 0 .../_build/html/_static/jquery.js | 0 .../_build/html/_static/js/pdj.js | 0 .../_build/html/_static/js/theme.js | 0 .../_build/html/_static/language_data.js | 0 .../_build/html/_static/minus.png | Bin .../_build/html/_static/plus.png | Bin .../_build/html/_static/pygments.css | 0 .../_build/html/_static/searchtools.js | 0 .../_build/html/_static/underscore-1.3.1.js | 0 .../_build/html/_static/underscore.js | 0 .../_build/html/classes.html | 526 ++++++------- .../_build/html/examples.html | 39 +- sphinx_output/_build/html/genindex.html | 675 +++++++++++++++++ .../_build/html/index.html | 60 +- .../_build/html/modules.html | 62 +- sphinx_output/_build/html/objects.inv | Bin 0 -> 1322 bytes .../_build/html/py-modindex.html | 58 +- .../_build/html/search.html | 28 +- sphinx_output/_build/html/searchindex.js | 1 + sphinx_output/classes.rst | 101 +++ {documentation => sphinx_output}/conf.py | 0 {documentation => sphinx_output}/examples.rst | 7 +- {documentation => sphinx_output}/index.rst | 4 +- {documentation => sphinx_output}/make.bat | 0 {documentation => sphinx_output}/modules.rst | 6 +- 99 files changed, 2062 insertions(+), 1359 deletions(-) delete mode 100644 PyCTBN.egg-info/PKG-INFO delete mode 100644 PyCTBN.egg-info/SOURCES.txt delete mode 100644 PyCTBN.egg-info/dependency_links.txt delete mode 100644 PyCTBN.egg-info/not-zip-safe delete mode 100644 PyCTBN.egg-info/requires.txt delete mode 100644 PyCTBN.egg-info/top_level.txt delete mode 100644 PyCTBN/.scannerwork/.sonar_lock delete mode 100644 PyCTBN/.scannerwork/report-task.txt delete mode 100644 PyCTBN/PyCTBN/__init__.py create mode 100644 PyCTBN/classes/__init__.py rename PyCTBN/{PyCTBN => classes}/abstract_importer.py (100%) rename PyCTBN/{PyCTBN => classes}/cache.py (100%) rename PyCTBN/{PyCTBN => classes}/conditional_intensity_matrix.py (100%) rename PyCTBN/{PyCTBN => classes}/json_importer.py (100%) rename PyCTBN/{PyCTBN => classes}/network_graph.py (100%) rename PyCTBN/{PyCTBN => classes}/parameters_estimator.py (100%) rename PyCTBN/{PyCTBN => classes}/sample_path.py (91%) rename PyCTBN/{PyCTBN => classes}/set_of_cims.py (100%) rename PyCTBN/{PyCTBN => classes}/structure.py (100%) rename PyCTBN/{PyCTBN => classes}/structure_estimator.py (100%) rename PyCTBN/{PyCTBN => classes}/trajectory.py (100%) delete mode 100644 dist/PyCTBN-1.0.tar.gz delete mode 100644 documentation/PyCTBN.rst delete mode 100644 documentation/_build/doctrees/PyCTBN.doctree delete mode 100644 documentation/_build/doctrees/environment.pickle delete mode 100644 documentation/_build/html/_sources/PyCTBN.rst.txt delete mode 100644 documentation/_build/html/genindex.html delete mode 100644 documentation/_build/html/objects.inv delete mode 100644 documentation/_build/html/searchindex.js rename parameters_estimation_example.py => examples/parameters_estimation_example.py (76%) rename structure_estimation_example.py => examples/structure_estimation_example.py (78%) rename {documentation => sphinx_output}/Makefile (100%) create mode 100644 sphinx_output/_build/doctrees/classes.doctree create mode 100644 sphinx_output/_build/doctrees/environment.pickle rename {documentation => sphinx_output}/_build/doctrees/examples.doctree (90%) rename {documentation => sphinx_output}/_build/doctrees/index.doctree (90%) rename {documentation => sphinx_output}/_build/doctrees/modules.doctree (85%) rename {documentation => sphinx_output}/_build/html/.buildinfo (100%) create mode 100644 sphinx_output/_build/html/_sources/classes.rst.txt rename {documentation => sphinx_output}/_build/html/_sources/examples.rst.txt (94%) rename {documentation => sphinx_output}/_build/html/_sources/index.rst.txt (86%) rename {documentation => sphinx_output}/_build/html/_sources/modules.rst.txt (53%) create mode 100644 sphinx_output/_build/html/_static/alabaster.css rename {documentation => sphinx_output}/_build/html/_static/basic.css (100%) rename {documentation => sphinx_output}/_build/html/_static/css/badge_only.css (100%) rename {documentation => sphinx_output}/_build/html/_static/css/darker.css (100%) rename {documentation => sphinx_output}/_build/html/_static/css/pdj.css (100%) rename {documentation => sphinx_output}/_build/html/_static/css/theme.css (100%) create mode 100644 sphinx_output/_build/html/_static/custom.css rename {documentation => sphinx_output}/_build/html/_static/doctools.js (100%) rename {documentation => sphinx_output}/_build/html/_static/documentation_options.js (100%) rename {documentation => sphinx_output}/_build/html/_static/file.png (100%) rename {documentation => sphinx_output}/_build/html/_static/fonts/fontawesome-webfont.eot (100%) rename {documentation => sphinx_output}/_build/html/_static/fonts/fontawesome-webfont.svg (100%) rename {documentation => sphinx_output}/_build/html/_static/fonts/fontawesome-webfont.ttf (100%) rename {documentation => sphinx_output}/_build/html/_static/fonts/fontawesome-webfont.woff (100%) rename {documentation => sphinx_output}/_build/html/_static/img/porao-branco.png (100%) rename {documentation => sphinx_output}/_build/html/_static/jquery-3.5.1.js (100%) rename {documentation => sphinx_output}/_build/html/_static/jquery.js (100%) rename {documentation => sphinx_output}/_build/html/_static/js/pdj.js (100%) rename {documentation => sphinx_output}/_build/html/_static/js/theme.js (100%) rename {documentation => sphinx_output}/_build/html/_static/language_data.js (100%) rename {documentation => sphinx_output}/_build/html/_static/minus.png (100%) rename {documentation => sphinx_output}/_build/html/_static/plus.png (100%) rename {documentation => sphinx_output}/_build/html/_static/pygments.css (100%) rename {documentation => sphinx_output}/_build/html/_static/searchtools.js (100%) rename {documentation => sphinx_output}/_build/html/_static/underscore-1.3.1.js (100%) rename {documentation => sphinx_output}/_build/html/_static/underscore.js (100%) rename documentation/_build/html/PyCTBN.html => sphinx_output/_build/html/classes.html (63%) rename {documentation => sphinx_output}/_build/html/examples.html (86%) create mode 100644 sphinx_output/_build/html/genindex.html rename {documentation => sphinx_output}/_build/html/index.html (62%) rename {documentation => sphinx_output}/_build/html/modules.html (56%) create mode 100644 sphinx_output/_build/html/objects.inv rename {documentation => sphinx_output}/_build/html/py-modindex.html (65%) rename {documentation => sphinx_output}/_build/html/search.html (74%) create mode 100644 sphinx_output/_build/html/searchindex.js create mode 100644 sphinx_output/classes.rst rename {documentation => sphinx_output}/conf.py (100%) rename {documentation => sphinx_output}/examples.rst (94%) rename {documentation => sphinx_output}/index.rst (86%) rename {documentation => sphinx_output}/make.bat (100%) rename {documentation => sphinx_output}/modules.rst (53%) diff --git a/.gitignore b/.gitignore index 01cdb07..5b20a7b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ __pycache__ ./data/ ./venv/ ./PyCTBN/.scannerwork +./results/ diff --git a/PyCTBN.egg-info/PKG-INFO b/PyCTBN.egg-info/PKG-INFO deleted file mode 100644 index 53ed588..0000000 --- a/PyCTBN.egg-info/PKG-INFO +++ /dev/null @@ -1,10 +0,0 @@ -Metadata-Version: 1.0 -Name: PyCTBN -Version: 1.0 -Summary: A Continuous Time Bayesian Network Library -Home-page: https://github.com/philipMartini/CTBN_Project -Author: Filippo Martini -Author-email: f.martini@campus.unimib.it -License: MIT -Description: # CTBN_Project -Platform: UNKNOWN diff --git a/PyCTBN.egg-info/SOURCES.txt b/PyCTBN.egg-info/SOURCES.txt deleted file mode 100644 index 69228f4..0000000 --- a/PyCTBN.egg-info/SOURCES.txt +++ /dev/null @@ -1,22 +0,0 @@ -README.md -setup.py -PyCTBN.egg-info/PKG-INFO -PyCTBN.egg-info/SOURCES.txt -PyCTBN.egg-info/dependency_links.txt -PyCTBN.egg-info/not-zip-safe -PyCTBN.egg-info/requires.txt -PyCTBN.egg-info/top_level.txt -classes/__init__.py -classes/abstract_importer.py -classes/cache.py -classes/conditional_intensity_matrix.py -classes/json_importer.py -classes/json_importer_mod.py -classes/network_graph.py -classes/parameters_estimator.py -classes/sample_path.py -classes/set_of_cims.py -classes/simple_cvs_importer.py -classes/structure.py -classes/structure_estimator.py -classes/trajectory.py \ No newline at end of file diff --git a/PyCTBN.egg-info/dependency_links.txt b/PyCTBN.egg-info/dependency_links.txt deleted file mode 100644 index 3e47e43..0000000 --- a/PyCTBN.egg-info/dependency_links.txt +++ /dev/null @@ -1,3 +0,0 @@ -https://github.com/numpy/numpy -https://github.com/pandas-dev/pandas -https://github.com/networkx/networkx diff --git a/PyCTBN.egg-info/not-zip-safe b/PyCTBN.egg-info/not-zip-safe deleted file mode 100644 index 8b13789..0000000 --- a/PyCTBN.egg-info/not-zip-safe +++ /dev/null @@ -1 +0,0 @@ - diff --git a/PyCTBN.egg-info/requires.txt b/PyCTBN.egg-info/requires.txt deleted file mode 100644 index 46d8b85..0000000 --- a/PyCTBN.egg-info/requires.txt +++ /dev/null @@ -1,3 +0,0 @@ -numpy -pandas -networkx diff --git a/PyCTBN.egg-info/top_level.txt b/PyCTBN.egg-info/top_level.txt deleted file mode 100644 index 90b07e9..0000000 --- a/PyCTBN.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -classes diff --git a/PyCTBN/.scannerwork/.sonar_lock b/PyCTBN/.scannerwork/.sonar_lock deleted file mode 100644 index e69de29..0000000 diff --git a/PyCTBN/.scannerwork/report-task.txt b/PyCTBN/.scannerwork/report-task.txt deleted file mode 100644 index 5394593..0000000 --- a/PyCTBN/.scannerwork/report-task.txt +++ /dev/null @@ -1,6 +0,0 @@ -projectKey=Ctbn_Project -serverUrl=http://localhost:9000 -serverVersion=8.4.1.35646 -dashboardUrl=http://localhost:9000/dashboard?id=Ctbn_Project -ceTaskId=AXPs4gCNB9mzoAo2hiLI -ceTaskUrl=http://localhost:9000/api/ce/task?id=AXPs4gCNB9mzoAo2hiLI diff --git a/PyCTBN/PyCTBN/__init__.py b/PyCTBN/PyCTBN/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/PyCTBN/__init__.py b/PyCTBN/__init__.py index e69de29..80a6111 100644 --- a/PyCTBN/__init__.py +++ b/PyCTBN/__init__.py @@ -0,0 +1,2 @@ +import PyCTBN.classes +from PyCTBN.classes import * diff --git a/PyCTBN/classes/__init__.py b/PyCTBN/classes/__init__.py new file mode 100644 index 0000000..b987b5b --- /dev/null +++ b/PyCTBN/classes/__init__.py @@ -0,0 +1,11 @@ +from .json_importer import JsonImporter +from .abstract_importer import AbstractImporter +from .network_graph import NetworkGraph +from .sample_path import SamplePath +from .parameters_estimator import ParametersEstimator +from .structure import Structure +from .structure_estimator import StructureEstimator +from .trajectory import Trajectory +from .conditional_intensity_matrix import ConditionalIntensityMatrix +from .cache import Cache +from .set_of_cims import SetOfCims \ No newline at end of file diff --git a/PyCTBN/PyCTBN/abstract_importer.py b/PyCTBN/classes/abstract_importer.py similarity index 100% rename from PyCTBN/PyCTBN/abstract_importer.py rename to PyCTBN/classes/abstract_importer.py diff --git a/PyCTBN/PyCTBN/cache.py b/PyCTBN/classes/cache.py similarity index 100% rename from PyCTBN/PyCTBN/cache.py rename to PyCTBN/classes/cache.py diff --git a/PyCTBN/PyCTBN/conditional_intensity_matrix.py b/PyCTBN/classes/conditional_intensity_matrix.py similarity index 100% rename from PyCTBN/PyCTBN/conditional_intensity_matrix.py rename to PyCTBN/classes/conditional_intensity_matrix.py diff --git a/PyCTBN/PyCTBN/json_importer.py b/PyCTBN/classes/json_importer.py similarity index 100% rename from PyCTBN/PyCTBN/json_importer.py rename to PyCTBN/classes/json_importer.py diff --git a/PyCTBN/PyCTBN/network_graph.py b/PyCTBN/classes/network_graph.py similarity index 100% rename from PyCTBN/PyCTBN/network_graph.py rename to PyCTBN/classes/network_graph.py diff --git a/PyCTBN/PyCTBN/parameters_estimator.py b/PyCTBN/classes/parameters_estimator.py similarity index 100% rename from PyCTBN/PyCTBN/parameters_estimator.py rename to PyCTBN/classes/parameters_estimator.py diff --git a/PyCTBN/PyCTBN/sample_path.py b/PyCTBN/classes/sample_path.py similarity index 91% rename from PyCTBN/PyCTBN/sample_path.py rename to PyCTBN/classes/sample_path.py index 2fc8c1f..2f7fe9b 100644 --- a/PyCTBN/PyCTBN/sample_path.py +++ b/PyCTBN/classes/sample_path.py @@ -19,11 +19,9 @@ class SamplePath(object): """Constructor Method """ self._importer = importer - if (self._importer._df_variables is None or self._importer._df_structure is None - or self._importer._concatenated_samples is None): + if (self._importer._df_variables is None or self._importer._concatenated_samples is None): raise RuntimeError('The importer object has to contain the all processed data!') - if(self._importer._df_variables.empty or self._importer._df_structure.empty - or self._importer._concatenated_samples.empty): + if(self._importer._df_variables.empty or self._importer._concatenated_samples.empty): raise RuntimeError('The importer object has to contain the all processed data!') self._trajectories = None self._structure = None @@ -49,7 +47,10 @@ class SamplePath(object): labels = self._importer.variables.iloc[:, 0].to_list() indxs = self._importer.variables.index.to_numpy() vals = self._importer.variables.iloc[:, 1].to_numpy() - edges = list(self._importer.structure.to_records(index=False)) + if self._importer.structure is None or self._importer.structure.empty: + edges = [] + else: + edges = list(self._importer.structure.to_records(index=False)) self._structure = Structure(labels, indxs, vals, edges, self._total_variables_count) diff --git a/PyCTBN/PyCTBN/set_of_cims.py b/PyCTBN/classes/set_of_cims.py similarity index 100% rename from PyCTBN/PyCTBN/set_of_cims.py rename to PyCTBN/classes/set_of_cims.py diff --git a/PyCTBN/PyCTBN/structure.py b/PyCTBN/classes/structure.py similarity index 100% rename from PyCTBN/PyCTBN/structure.py rename to PyCTBN/classes/structure.py diff --git a/PyCTBN/PyCTBN/structure_estimator.py b/PyCTBN/classes/structure_estimator.py similarity index 100% rename from PyCTBN/PyCTBN/structure_estimator.py rename to PyCTBN/classes/structure_estimator.py diff --git a/PyCTBN/PyCTBN/trajectory.py b/PyCTBN/classes/trajectory.py similarity index 100% rename from PyCTBN/PyCTBN/trajectory.py rename to PyCTBN/classes/trajectory.py diff --git a/PyCTBN/deprecated/simple_cvs_importer.py b/PyCTBN/deprecated/simple_cvs_importer.py index 1b63c17..e53f7ac 100644 --- a/PyCTBN/deprecated/simple_cvs_importer.py +++ b/PyCTBN/deprecated/simple_cvs_importer.py @@ -3,8 +3,8 @@ import glob import os import typing -from PyCTBN.PyCTBN.abstract_importer import AbstractImporter -from PyCTBN.PyCTBN.sample_path import SamplePath +from PyCTBN.classes.abstract_importer import AbstractImporter +from PyCTBN.classes.sample_path import SamplePath class CSVImporter(AbstractImporter): diff --git a/PyCTBN/tests/original_ctpc_algorithm.py b/PyCTBN/tests/original_ctpc_algorithm.py index 1a9456c..e63154b 100644 --- a/PyCTBN/tests/original_ctpc_algorithm.py +++ b/PyCTBN/tests/original_ctpc_algorithm.py @@ -9,7 +9,7 @@ from scipy.stats import chi2 as chi2_dist from scipy.stats import f as f_dist from tqdm import tqdm -from PyCTBN.PyCTBN.abstract_importer import AbstractImporter +from PyCTBN.classes.abstract_importer import AbstractImporter class OriginalCTPCAlgorithm(AbstractImporter): diff --git a/PyCTBN/tests/performance_comparisons.py b/PyCTBN/tests/performance_comparisons.py index cc93f1c..08b6d1f 100644 --- a/PyCTBN/tests/performance_comparisons.py +++ b/PyCTBN/tests/performance_comparisons.py @@ -7,9 +7,9 @@ import networkx as nx import timeit import psutil -from ..PyCTBN.sample_path import SamplePath -from ..PyCTBN.structure_estimator import StructureEstimator -from ..PyCTBN.json_importer import JsonImporter +from ..classes.sample_path import SamplePath +from ..classes.structure_estimator import StructureEstimator +from ..classes.json_importer import JsonImporter from .original_ctpc_algorithm import OriginalCTPCAlgorithm diff --git a/PyCTBN/tests/test_cache.py b/PyCTBN/tests/test_cache.py index 7cb6706..8aa6900 100644 --- a/PyCTBN/tests/test_cache.py +++ b/PyCTBN/tests/test_cache.py @@ -2,8 +2,8 @@ import unittest import numpy as np -from ..PyCTBN.cache import Cache -from ..PyCTBN.set_of_cims import SetOfCims +from ..classes.cache import Cache +from ..classes.set_of_cims import SetOfCims class TestCache(unittest.TestCase): diff --git a/PyCTBN/tests/test_cim.py b/PyCTBN/tests/test_cim.py index e3228db..f1c2447 100644 --- a/PyCTBN/tests/test_cim.py +++ b/PyCTBN/tests/test_cim.py @@ -2,7 +2,7 @@ import unittest import numpy as np -from ..PyCTBN.conditional_intensity_matrix import ConditionalIntensityMatrix +from ..classes.conditional_intensity_matrix import ConditionalIntensityMatrix class TestConditionalIntensityMatrix(unittest.TestCase): diff --git a/PyCTBN/tests/test_json_importer.py b/PyCTBN/tests/test_json_importer.py index 2ac1baa..fde0067 100644 --- a/PyCTBN/tests/test_json_importer.py +++ b/PyCTBN/tests/test_json_importer.py @@ -7,7 +7,7 @@ import pandas as pd import json -from ..PyCTBN.json_importer import JsonImporter +from ..classes.json_importer import JsonImporter class TestJsonImporter(unittest.TestCase): diff --git a/PyCTBN/tests/test_networkgraph.py b/PyCTBN/tests/test_networkgraph.py index f9794a4..2f2cc66 100644 --- a/PyCTBN/tests/test_networkgraph.py +++ b/PyCTBN/tests/test_networkgraph.py @@ -6,9 +6,9 @@ import networkx as nx import numpy as np import itertools -from ..PyCTBN.sample_path import SamplePath -from ..PyCTBN.network_graph import NetworkGraph -from ..PyCTBN.json_importer import JsonImporter +from ..classes.sample_path import SamplePath +from ..classes.network_graph import NetworkGraph +from ..classes.json_importer import JsonImporter class TestNetworkGraph(unittest.TestCase): diff --git a/PyCTBN/tests/test_parameters_estimator.py b/PyCTBN/tests/test_parameters_estimator.py index 38994b9..640ddd8 100644 --- a/PyCTBN/tests/test_parameters_estimator.py +++ b/PyCTBN/tests/test_parameters_estimator.py @@ -4,11 +4,11 @@ import numpy as np import glob import os -from ..PyCTBN.network_graph import NetworkGraph -from ..PyCTBN.sample_path import SamplePath -from ..PyCTBN.set_of_cims import SetOfCims -from ..PyCTBN.parameters_estimator import ParametersEstimator -from ..PyCTBN.json_importer import JsonImporter +from ..classes.network_graph import NetworkGraph +from ..classes.sample_path import SamplePath +from ..classes.set_of_cims import SetOfCims +from ..classes.parameters_estimator import ParametersEstimator +from ..classes.json_importer import JsonImporter class TestParametersEstimatior(unittest.TestCase): diff --git a/PyCTBN/tests/test_sample_path.py b/PyCTBN/tests/test_sample_path.py index 4286bac..f61fe72 100644 --- a/PyCTBN/tests/test_sample_path.py +++ b/PyCTBN/tests/test_sample_path.py @@ -4,10 +4,10 @@ import glob import os import random -from ..PyCTBN.json_importer import JsonImporter -from ..PyCTBN.sample_path import SamplePath -from ..PyCTBN.trajectory import Trajectory -from ..PyCTBN.structure import Structure +from ..classes.json_importer import JsonImporter +from ..classes.sample_path import SamplePath +from ..classes.trajectory import Trajectory +from ..classes.structure import Structure class TestSamplePath(unittest.TestCase): @@ -57,6 +57,16 @@ class TestSamplePath(unittest.TestCase): random.shuffle(importer._sorter) self.assertRaises(RuntimeError, s1.build_structure) + def test_build_saplepath_no_prior_net_structure(self): + importer = JsonImporter(self.read_files[0], 'samples', 'dyn.str', 'variables', 'Time', 'Name') + importer.import_data(0) + importer._df_structure = None + s1 = SamplePath(importer) + s1.build_trajectories() + s1.build_structure() + self.assertFalse(s1.structure.edges) + + if __name__ == '__main__': unittest.main() diff --git a/PyCTBN/tests/test_setofcims.py b/PyCTBN/tests/test_setofcims.py index daed9f0..abcd6a2 100644 --- a/PyCTBN/tests/test_setofcims.py +++ b/PyCTBN/tests/test_setofcims.py @@ -3,7 +3,7 @@ import unittest import numpy as np import itertools -from ..PyCTBN.set_of_cims import SetOfCims +from ..classes.set_of_cims import SetOfCims class TestSetOfCims(unittest.TestCase): diff --git a/PyCTBN/tests/test_structure.py b/PyCTBN/tests/test_structure.py index b6b4493..19f892e 100644 --- a/PyCTBN/tests/test_structure.py +++ b/PyCTBN/tests/test_structure.py @@ -1,7 +1,7 @@ import unittest import numpy as np -from ..PyCTBN.structure import Structure +from ..classes.structure import Structure class TestStructure(unittest.TestCase): diff --git a/PyCTBN/tests/test_structure_estimator.py b/PyCTBN/tests/test_structure_estimator.py index e3d63d7..5e98fa0 100644 --- a/PyCTBN/tests/test_structure_estimator.py +++ b/PyCTBN/tests/test_structure_estimator.py @@ -8,10 +8,10 @@ import networkx as nx import numpy as np import timeit -from ..PyCTBN.cache import Cache -from ..PyCTBN.sample_path import SamplePath -from ..PyCTBN.structure_estimator import StructureEstimator -from ..PyCTBN.json_importer import JsonImporter +from ..classes.cache import Cache +from ..classes.sample_path import SamplePath +from ..classes.structure_estimator import StructureEstimator +from ..classes.json_importer import JsonImporter class TestStructureEstimator(unittest.TestCase): diff --git a/PyCTBN/tests/test_trajectory.py b/PyCTBN/tests/test_trajectory.py index f826632..6c3d808 100644 --- a/PyCTBN/tests/test_trajectory.py +++ b/PyCTBN/tests/test_trajectory.py @@ -2,7 +2,7 @@ import unittest import numpy as np -from ..PyCTBN.trajectory import Trajectory +from ..classes.trajectory import Trajectory class TestTrajectory(unittest.TestCase): diff --git a/dist/PyCTBN-1.0.tar.gz b/dist/PyCTBN-1.0.tar.gz deleted file mode 100644 index 439cde6c3ceaa21bc55547976b9c471496c8c058..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18826 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μ-n@y`7j90bF#4perR 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 Q - - - - - - - Index — PyCTBN 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
-
-
-
-
- -
-
- - - - - - - - - - - - -
- -
- -
- -

Index

- -
- A - | B - | C - | D - | E - | F - | G - | I - | J - | M - | N - | O - | P - | R - | S - | T - | V - -
-

A

- - - -
- -

B

- - - -
- -

C

- - - -
- -

D

- - -
- -

E

- - -
- -

F

- - - -
- -

G

- - - -
- -

I

- - - -
- -

J

- - -
- -

M

- - -
- -

N

- - - -
- -

O

- - - -
- -

P

- - - -
    -
  • - PyCTBN.network_graph - -
  • -
  • - PyCTBN.parameters_estimator - -
  • -
  • - PyCTBN.sample_path - -
  • -
  • - PyCTBN.set_of_cims - -
  • -
  • - PyCTBN.structure - -
  • -
  • - PyCTBN.structure_estimator - -
  • -
  • - PyCTBN.trajectory - -
  • -
- -

R

- - -
- -

S

- - - -
- -

T

- - - -
- -

V

- - -
- - - -
-
- - -
- -
-

- © Copyright 2020, Alessandro Bregoli, Filippo Martini. -

-
- - Built with Sphinx using a theme provided by Porão do Juca. - -
-
-
- - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/documentation/_build/html/objects.inv b/documentation/_build/html/objects.inv deleted file mode 100644 index 46976faaa00cb337ce9f15c870b116fea2467bf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1296 zcmV+r1@HPJAX9K?X>NERX>N99Zgg*Qc_4OWa&u{KZXhxWBOp+6Z)#;@bUGkVc|%k} zP6{I+R%LQ?X>V>iAPOTORA^-&a%F8{X>Md?av*PJAarPHb0B7EY-J#6b0A}HZE$jB zb8}^6Aa!$TZf78RY-wUH3V7PRnaz$PClG+|ehNp)by~@FZ;7>vCem&!%}O~U+>~u* zXlMaFGu~5PBd?byNdfKt*|go@#(S{jrm3%>D5?s2d)j>Y?en@meW(;`1gw8vZ+%m7 zw3YZVG(P;aept25bZ4xlr6s(omA0Ul$QHl0Esq0ODX1~)Uq-AXNU>|UU_@|ZiP{rG zt6G2|RBL+jqXm0ZEQ1Eq8(=xI6hJj8l`N?Ri9bg6npThtud2GSK(u-z41}eGOG1U{ z%;S}ryJ<80AYiO4o34S$S_PTVj9O{{d$3HvJx3$d)E+bOvU(ssHl=NJu7!D}n$un6 zYLv7*LP9L@{fo_6Y9?q5dWVe`J)~A>&m~Kh!5t7Kq9o&%D@g_JNpxhx?TJ*>YW|*L zkSmyC)4zN?zx&i_m^0pOXC`l#rb-3n%ByE2xkwU33na#OL~j%(Pg41r%ES z=<<+4PGio|O(tSWq@Ty3dp<*HmFAFXfJv$23Qj6rQNh1L&M_*94hOFw$QjS&VIflk zWyHUCB|;2Lf_+o^g&Z`kj|tm*Bv*V6PrsibGu!*Ja6uU(zz%WNo#9Bu7IQ+lsWCNF zyWZi+UTH$Tf-HQO08oW!Drwx(;aZ|I+(nBislcd*g$TSm9rv44pKb0pqh7~%m{$(J z+*3SGa>?yN&H;0bo06OGdj^)$3^Znk-N_S)%VBuxt*MSJhGrDBB(H$w;3;#igmT)! zS4xJ+rrO2T7gu;W;*Vzpug=7JrJ`Ak3ITB`#RsG=IOKp$MuEr*5f|=1AYfx{o`8ai<6z`{v7ba~G2t`sxelM#S9(bmhw_VaxSG#g~!% z%nqBB8@T0oEYTw$!eX6bS~~jk&IR$539OA}ADAlF52GIK|8-5v7kYpdytiMt2i?zY zLEvNiw8HJ;bBXWj6N2k}ZVjCu-QQK;ttAe6`~?D61lCryL;3gbf6N;DH5EwfJ@|(e z`ox5)`t)#q5m=vsKLw@1k46(|n}!o#4Inf0?FkJm$4U%PT^`4Rp)JTfh4))$+W!D& GWPR&3-Ex)y diff --git a/documentation/_build/html/searchindex.js b/documentation/_build/html/searchindex.js deleted file mode 100644 index 4b24da6..0000000 --- a/documentation/_build/html/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({docnames:["PyCTBN","examples","index","modules"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["PyCTBN.rst","examples.rst","index.rst","modules.rst"],objects:{"":{PyCTBN:[0,0,0,"-"]},"PyCTBN.abstract_importer":{AbstractImporter:[0,1,1,""]},"PyCTBN.abstract_importer.AbstractImporter":{build_list_of_samples_array:[0,2,1,""],build_sorter:[0,2,1,""],clear_concatenated_frame:[0,2,1,""],compute_row_delta_in_all_samples_frames:[0,2,1,""],compute_row_delta_sigle_samples_frame:[0,2,1,""],concatenated_samples:[0,2,1,""],dataset_id:[0,2,1,""],file_path:[0,2,1,""],sorter:[0,2,1,""],structure:[0,2,1,""],variables:[0,2,1,""]},"PyCTBN.cache":{Cache:[0,1,1,""]},"PyCTBN.cache.Cache":{clear:[0,2,1,""],find:[0,2,1,""],put:[0,2,1,""]},"PyCTBN.conditional_intensity_matrix":{ConditionalIntensityMatrix:[0,1,1,""]},"PyCTBN.conditional_intensity_matrix.ConditionalIntensityMatrix":{cim:[0,2,1,""],compute_cim_coefficients:[0,2,1,""],state_residence_times:[0,2,1,""],state_transition_matrix:[0,2,1,""]},"PyCTBN.json_importer":{JsonImporter:[0,1,1,""]},"PyCTBN.json_importer.JsonImporter":{build_sorter:[0,2,1,""],clear_data_frame_list:[0,2,1,""],dataset_id:[0,2,1,""],import_data:[0,2,1,""],import_sampled_cims:[0,2,1,""],import_structure:[0,2,1,""],import_trajectories:[0,2,1,""],import_variables:[0,2,1,""],normalize_trajectories:[0,2,1,""],one_level_normalizing:[0,2,1,""],read_json_file:[0,2,1,""]},"PyCTBN.network_graph":{NetworkGraph:[0,1,1,""]},"PyCTBN.network_graph.NetworkGraph":{add_edges:[0,2,1,""],add_nodes:[0,2,1,""],build_p_comb_structure_for_a_node:[0,2,1,""],build_time_columns_filtering_for_a_node:[0,2,1,""],build_time_scalar_indexing_structure_for_a_node:[0,2,1,""],build_transition_filtering_for_a_node:[0,2,1,""],build_transition_scalar_indexing_structure_for_a_node:[0,2,1,""],edges:[0,2,1,""],fast_init:[0,2,1,""],get_node_indx:[0,2,1,""],get_ordered_by_indx_set_of_parents:[0,2,1,""],get_parents_by_id:[0,2,1,""],get_positional_node_indx:[0,2,1,""],get_states_number:[0,2,1,""],nodes:[0,2,1,""],nodes_indexes:[0,2,1,""],nodes_values:[0,2,1,""],p_combs:[0,2,1,""],time_filtering:[0,2,1,""],time_scalar_indexing_strucure:[0,2,1,""],transition_filtering:[0,2,1,""],transition_scalar_indexing_structure:[0,2,1,""]},"PyCTBN.parameters_estimator":{ParametersEstimator:[0,1,1,""]},"PyCTBN.parameters_estimator.ParametersEstimator":{compute_parameters_for_node:[0,2,1,""],compute_state_res_time_for_node:[0,2,1,""],compute_state_transitions_for_a_node:[0,2,1,""],fast_init:[0,2,1,""]},"PyCTBN.sample_path":{SamplePath:[0,1,1,""]},"PyCTBN.sample_path.SamplePath":{build_structure:[0,2,1,""],build_trajectories:[0,2,1,""],structure:[0,2,1,""],total_variables_count:[0,2,1,""],trajectories:[0,2,1,""]},"PyCTBN.set_of_cims":{SetOfCims:[0,1,1,""]},"PyCTBN.set_of_cims.SetOfCims":{actual_cims:[0,2,1,""],build_cims:[0,2,1,""],build_times_and_transitions_structures:[0,2,1,""],filter_cims_with_mask:[0,2,1,""],get_cims_number:[0,2,1,""],p_combs:[0,2,1,""]},"PyCTBN.structure":{Structure:[0,1,1,""]},"PyCTBN.structure.Structure":{edges:[0,2,1,""],get_node_id:[0,2,1,""],get_node_indx:[0,2,1,""],get_positional_node_indx:[0,2,1,""],get_states_number:[0,2,1,""],nodes_indexes:[0,2,1,""],nodes_labels:[0,2,1,""],nodes_values:[0,2,1,""],total_variables_number:[0,2,1,""]},"PyCTBN.structure_estimator":{StructureEstimator:[0,1,1,""]},"PyCTBN.structure_estimator.StructureEstimator":{adjacency_matrix:[0,2,1,""],build_complete_graph:[0,2,1,""],complete_test:[0,2,1,""],ctpc_algorithm:[0,2,1,""],generate_possible_sub_sets_of_size:[0,2,1,""],independence_test:[0,2,1,""],one_iteration_of_CTPC_algorithm:[0,2,1,""],save_results:[0,2,1,""]},"PyCTBN.trajectory":{Trajectory:[0,1,1,""]},"PyCTBN.trajectory.Trajectory":{complete_trajectory:[0,2,1,""],size:[0,2,1,""],times:[0,2,1,""],trajectory:[0,2,1,""]},PyCTBN:{abstract_importer:[0,0,0,"-"],cache:[0,0,0,"-"],conditional_intensity_matrix:[0,0,0,"-"],json_importer:[0,0,0,"-"],network_graph:[0,0,0,"-"],parameters_estimator:[0,0,0,"-"],sample_path:[0,0,0,"-"],set_of_cims:[0,0,0,"-"],structure:[0,0,0,"-"],structure_estimator:[0,0,0,"-"],trajectory:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method"},terms:{"abstract":[0,1],"boolean":0,"class":[0,1],"float":0,"import":[0,2],"int":0,"null":0,"return":[0,1],"super":1,"true":[0,1],"var":1,HAS:0,Has:0,NOT:0,The:[0,1],Use:1,__init__:1,_actual_cach:0,_actual_cim:0,_actual_trajectori:0,_aggregated_info_about_nodes_par:0,_array_indx:0,_cach:0,_cim:0,_complete_graph:0,_concatenated_sampl:0,_df_samples_list:[0,1],_df_structur:[0,1],_df_variabl:[0,1],_file_path:1,_graph:[0,1],_import:0,_list_of_sets_of_par:0,_net_graph:0,_node:0,_node_id:0,_nodes_indx:0,_nodes_v:0,_p_combs_structur:0,_raw_data:0,_sample_path:0,_single_set_of_cim:0,_sorter:[0,1],_state_residence_tim:0,_structur:0,_structure_label:0,_time:0,_time_filt:0,_time_scalar_indexing_structur:0,_total_variables_count:0,_trajectori:0,_transition_filt:0,_transition_matric:0,_transition_scalar_indexing_structur:0,_variables_label:0,abc:0,about:0,abstract_import:[1,2,3],abstractimport:[0,1],act:0,actual:0,actual_cim:[0,1],add:0,add_edg:0,add_nod:0,added:0,addit:0,adjac:[0,1],adjacency_matrix:[0,1],after:0,aggreg:0,algorithm:[0,1],all:[0,1],alreadi:1,also:0,anoth:0,append:0,arc:0,arrai:[0,1],axi:1,base:0,belong:0,between:0,bool:0,both:0,bound:0,build:[0,1],build_cim:0,build_complete_graph:0,build_list_of_samples_arrai:0,build_p_comb_structure_for_a_nod:0,build_sort:[0,1],build_structur:[0,1],build_time_columns_filtering_for_a_nod:0,build_time_scalar_indexing_structure_for_a_nod:0,build_times_and_transitions_structur:0,build_trajectori:[0,1],build_transition_filtering_for_a_nod:0,build_transition_scalar_indexing_structure_for_a_nod:0,built:0,cach:[2,3],call:[0,1],cardin:0,cardinalit:0,caridin:0,caridinalit:0,chang:0,chi:0,chi_test:0,chi_test_alfa:0,child:0,child_states_numb:0,cim1:0,cim2:0,cim:[0,1],cims_kei:0,clear:0,clear_concatenated_fram:0,clear_data_frame_list:0,coeffici:0,col:0,cols_filt:0,column:[0,1],columns_head:0,comb:0,combin:0,combinatori:0,common:0,complet:0,complete_test:0,complete_trajectori:0,comput:[0,1],compute_cim_coeffici:0,compute_parameters_for_nod:[0,1],compute_row_delta_in_all_samples_fram:[0,1],compute_row_delta_sigle_samples_fram:0,compute_state_res_time_for_nod:0,compute_state_transitions_for_a_nod:0,concatanated_sampl:0,concaten:0,concatenated_sampl:0,condit:0,conditional_intensity_matrix:[2,3],conditionalintensitymatrix:0,consid:0,construct:[0,1],conta:0,contain:0,content:[2,3],convert:0,copi:0,core:0,correct:0,count:0,creat:[0,1],csv:1,csvimport:1,ctpc:[0,1],ctpc_algorithm:[0,1],current:0,cut:0,dafram:0,data:[0,2],data_fram:0,datafram:[0,1],dataset:0,dataset_id:[0,1],datfram:0,def:1,definit:0,delta:0,demonstr:1,desir:0,df_samples_list:0,dict:[0,1],dictionari:0,differ:0,digraph:0,dimens:0,dir:1,direct:0,doc:0,doubl:0,drop:1,duplic:0,dyn:1,each:0,edg:[0,1],edges_list:0,end:0,entir:0,equal:0,est:1,estim:[0,2],everi:0,exam:1,exampl:[0,2],exclud:0,exctract:0,exp_test_alfa:0,exponenti:0,expos:0,extend:1,extens:0,extract:0,fals:0,fast_init:[0,1],file:[0,1],file_path:[0,1],filepath:0,fill:[0,1],filter:0,filter_cims_with_mask:0,find:0,first:[0,1],follow:0,form:0,format:1,found:0,frame:0,from:[0,1],from_nod:0,gener:0,generate_possible_sub_sets_of_s:0,get_cims_numb:0,get_node_id:0,get_node_indx:0,get_ordered_by_indx_set_of_par:0,get_parents_by_id:0,get_positional_node_indx:0,get_states_numb:0,given:0,glob:1,graph:[0,1],graph_struct:0,grid:0,grpah:1,has:[0,1],have:0,header:0,hold:0,hypothesi:0,identifi:0,iff:0,implement:[0,2],import_data:[0,1],import_sampled_cim:0,import_structur:[0,1],import_trajectori:0,import_vari:[0,1],independ:0,independence_test:0,index:[0,1,2],indic:0,indx:0,info:[0,1],inform:0,init:1,initi:[0,1],inplac:1,input:0,insid:1,instal:2,interest:0,intes:0,iter:0,join:1,json:[0,1],json_import:[1,2,3],jsonarrai:0,jsonimport:[0,1],keep:0,kei:0,label:0,level:0,list:[0,1],list_of_column:0,list_of_edg:0,list_of_nod:0,load:0,loop:0,main:1,mask:0,mask_arr:0,matric:0,matrix:[0,1],member:0,mention:0,merg:0,method:0,modul:[2,3],multipl:0,name:[0,1],ndarrai:0,necessari:0,nest:0,net:[0,1],net_graph:0,network:0,network_graph:[1,2,3],networkgraph:[0,1],networkx:0,node:[0,1],node_id:0,node_index:0,node_indx:0,node_states_numb:0,nodes_index:0,nodes_indexes_arr:0,nodes_label:0,nodes_labels_list:0,nodes_vals_arr:0,nodes_valu:[0,1],none:[0,1],normal:0,normalize_trajectori:0,number:0,numpi:0,obj:1,object:[0,1],one:0,one_iteration_of_ctpc_algorithm:0,one_level_norm:0,onli:0,origin:0,original_cols_numb:0,otherwis:0,out:0,outer:[0,1],over:0,own:2,p_comb:0,p_indx:0,packag:[2,3],page:2,panda:[0,1],param:0,paramet:[0,2],parameters_estim:[1,2,3],parametersestim:[0,1],parent:0,parent_label:0,parent_set:0,parents_cardin:0,parents_comb:0,parents_index:0,parents_label:0,parents_states_numb:0,parents_v:0,parents_valu:0,particular:0,pass:1,path:[0,1],peest:1,perform:0,place:0,posit:0,possibl:0,prepar:0,present:0,print:1,process:0,properli:0,properti:0,put:0,pyctbn:1,q_xx:0,raw:0,raw_data:0,read:[0,1],read_csv:1,read_csv_fil:1,read_fil:1,read_json_fil:0,real:[0,1],refer:0,reject:0,rel:0,relat:0,remain:0,remov:0,repres:0,represent:0,res:0,resid:0,result:[0,1],results_:0,rtype:0,same:0,sampl:[0,1],sample_fram:[0,1],sample_path:[1,2,3],samplepath:[0,1],samples_label:0,save:[0,1],save_result:[0,1],scalar_index:0,scalar_indexes_struct:0,se1:1,search:2,see:0,select:1,self:[0,1],sep_set:0,set:0,set_of_cim:[2,3],setofcim:[0,1],shift:0,shifted_cols_head:0,signific:0,simbol:0,simpl:1,size:0,socim:0,sofc1:1,sorter:0,specif:1,start:0,state:0,state_res_tim:0,state_residence_tim:0,state_transition_matrix:0,str:[0,1],string:0,structrur:0,structur:[2,3],structure_estim:[1,2,3],structure_estimation_exampl:1,structure_label:0,structureestim:[0,1],structut:0,submodul:[2,3],subset:0,symbol:0,synthet:0,take:1,task:0,ternari:1,test:0,test_child:0,test_par:0,tha:0,them:0,thi:[0,1],three:1,time:[0,1],time_filt:0,time_kei:0,time_scalar_indexing_strucur:0,timestamp:0,to_nod:0,tot_vars_count:0,total:0,total_variables_count:0,total_variables_numb:0,traj:0,trajectori:[1,2,3],trajectories_kei:0,trajectri:1,transit:0,transition_filt:0,transition_matric:0,transition_scalar_indexing_structur:0,tri:0,tupl:0,two:0,type:[0,1],uniqu:0,unus:0,usag:2,used:0,using:0,valu:[0,1],values_list:1,var_id:0,variabl:[0,1],variable_cardin:0,variable_label:0,variables_kei:0,variables_label:0,vector:0,want:1,where:0,which:0,without:0,word:0,you:1,your:2},titles:["PyCTBN package","Examples","Welcome to PyCTBN\u2019s documentation!","PyCTBN"],titleterms:{"import":1,abstract_import:0,cach:0,conditional_intensity_matrix:0,content:0,data:1,document:2,estim:1,exampl:1,implement:1,indic:2,instal:1,json_import:0,modul:0,network_graph:0,own:1,packag:0,paramet:1,parameters_estim:0,pyctbn:[0,2,3],sample_path:0,set_of_cim:0,structur:[0,1],structure_estim:0,submodul:0,tabl:2,trajectori:0,usag:1,welcom:2,your:1}}) \ No newline at end of file diff --git a/parameters_estimation_example.py b/examples/parameters_estimation_example.py similarity index 76% rename from parameters_estimation_example.py rename to examples/parameters_estimation_example.py index be97a28..f5aa3ce 100644 --- a/parameters_estimation_example.py +++ b/examples/parameters_estimation_example.py @@ -3,14 +3,14 @@ import os import glob -from PyCTBN.PyCTBN.json_importer import JsonImporter -from PyCTBN.PyCTBN.sample_path import SamplePath -from PyCTBN.PyCTBN.network_graph import NetworkGraph -from PyCTBN.PyCTBN.parameters_estimator import ParametersEstimator +from PyCTBN.classes.json_importer import JsonImporter +from PyCTBN.classes.sample_path import SamplePath +from PyCTBN.classes.network_graph import NetworkGraph +from PyCTBN.classes.parameters_estimator import ParametersEstimator def main(): - read_files = glob.glob(os.path.join('./data', "*.json")) #Take all json files in this dir + read_files = glob.glob(os.path.join('../data', "*.json")) #Take all json files in this dir #import data importer = JsonImporter(read_files[0], 'samples', 'dyn.str', 'variables', 'Time', 'Name') importer.import_data(0) diff --git a/structure_estimation_example.py b/examples/structure_estimation_example.py similarity index 78% rename from structure_estimation_example.py rename to examples/structure_estimation_example.py index cc8ce75..b1ef609 100644 --- a/structure_estimation_example.py +++ b/examples/structure_estimation_example.py @@ -1,15 +1,15 @@ import os import glob -from PyCTBN.PyCTBN.json_importer import JsonImporter -from PyCTBN.PyCTBN.sample_path import SamplePath -from PyCTBN.PyCTBN.structure_estimator import StructureEstimator +from PyCTBN.classes.json_importer import JsonImporter +from PyCTBN.classes.sample_path import SamplePath +from PyCTBN.classes.structure_estimator import StructureEstimator def structure_estimation_example(): # read the json files in ./data path - read_files = glob.glob(os.path.join('./data', "*.json")) + read_files = glob.glob(os.path.join('../data', "*.json")) # initialize a JsonImporter object for the first file importer = JsonImporter(read_files[0], 'samples', 'dyn.str', 'variables', 'Time', 'Name') # import the data at index 0 of the outer json array diff --git a/setup.py b/setup.py index d15d928..fbb2182 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,7 @@ from setuptools import setup, find_packages +print(find_packages('.', exclude=['PyCTBN.tests'])) + setup(name='PyCTBN', version='1.0', url='https://github.com/philipMartini/PyCTBN', @@ -7,11 +9,14 @@ setup(name='PyCTBN', author=['Alessandro Bregoli', 'Filippo Martini'], author_email=['a.bregoli1@campus.unimib.it', 'f.martini@campus.unimib.it'], description='A Continuous Time Bayesian Networks Library', - packages=find_packages(exclude=['tests', 'data']), + packages=find_packages('.', exclude=['PyCTBN.tests']), + #packages=['PyCTBN.classes'], install_requires=[ 'numpy', 'pandas', 'networkx', 'scipy', 'tqdm'], dependency_links=['https://github.com/numpy/numpy', 'https://github.com/pandas-dev/pandas', 'https://github.com/networkx/networkx', 'https://github.com/scipy/scipy', 'https://github.com/tqdm/tqdm'], long_description=open('README.md').read(), - zip_safe=False) + zip_safe=False, + python_requires='>=3.6') + diff --git a/documentation/Makefile b/sphinx_output/Makefile similarity index 100% rename from documentation/Makefile rename to sphinx_output/Makefile diff --git a/sphinx_output/_build/doctrees/classes.doctree b/sphinx_output/_build/doctrees/classes.doctree new file mode 100644 index 0000000000000000000000000000000000000000..2b806b145c8514f697bb30fbd9b79eb499f8e1a2 GIT binary patch literal 374075 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 AIRF3v literal 0 HcmV?d00001 diff --git a/sphinx_output/_build/doctrees/environment.pickle b/sphinx_output/_build/doctrees/environment.pickle new file mode 100644 index 0000000000000000000000000000000000000000..81de1676ff15e013aad46a6d756825707f70c719 GIT binary patch literal 45873 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 diff --git a/documentation/_build/doctrees/index.doctree b/sphinx_output/_build/doctrees/index.doctree similarity index 90% rename from documentation/_build/doctrees/index.doctree rename to sphinx_output/_build/doctrees/index.doctree index 12971da821e7240d187e02c3a0eb981c414285fc..6d9f356d8b2a1cd6cea03016ba545cb4ac902b5a 100644 GIT binary patch delta 79 zcmeyb+MveLz&iEoM3!CLh9(L|23E$#R)*#iPhLXhmQR*t+R0m7kdc{J5uaaLQczm5 X`7u)fBL{nOPGWI!YVl?(mZN+CEp;1S delta 78 zcmZor`>)EeOtdJdTEOa4gemICz${M diff --git a/documentation/_build/html/.buildinfo b/sphinx_output/_build/html/.buildinfo similarity index 100% rename from documentation/_build/html/.buildinfo rename to sphinx_output/_build/html/.buildinfo diff --git a/sphinx_output/_build/html/_sources/classes.rst.txt b/sphinx_output/_build/html/_sources/classes.rst.txt new file mode 100644 index 0000000..ad26a8c --- /dev/null +++ b/sphinx_output/_build/html/_sources/classes.rst.txt @@ -0,0 +1,101 @@ +classes package +=============== + +Submodules +---------- + +classes.abstract\_importer module +--------------------------------- + +.. automodule:: classes.abstract_importer + :members: + :undoc-members: + :show-inheritance: + +classes.cache module +-------------------- + +.. automodule:: classes.cache + :members: + :undoc-members: + :show-inheritance: + +classes.conditional\_intensity\_matrix module +--------------------------------------------- + +.. automodule:: classes.conditional_intensity_matrix + :members: + :undoc-members: + :show-inheritance: + +classes.json\_importer module +----------------------------- + +.. automodule:: classes.json_importer + :members: + :undoc-members: + :show-inheritance: + +classes.network\_graph module +----------------------------- + +.. automodule:: classes.network_graph + :members: + :undoc-members: + :show-inheritance: + +classes.parameters\_estimator module +------------------------------------ + +.. automodule:: classes.parameters_estimator + :members: + :undoc-members: + :show-inheritance: + +classes.sample\_path module +--------------------------- + +.. automodule:: classes.sample_path + :members: + :undoc-members: + :show-inheritance: + +classes.set\_of\_cims module +---------------------------- + +.. automodule:: classes.set_of_cims + :members: + :undoc-members: + :show-inheritance: + +classes.structure module +------------------------ + +.. automodule:: classes.structure + :members: + :undoc-members: + :show-inheritance: + +classes.structure\_estimator module +----------------------------------- + +.. automodule:: classes.structure_estimator + :members: + :undoc-members: + :show-inheritance: + +classes.trajectory module +------------------------- + +.. automodule:: classes.trajectory + :members: + :undoc-members: + :show-inheritance: + +Module contents +--------------- + +.. automodule:: classes + :members: + :undoc-members: + :show-inheritance: diff --git a/documentation/_build/html/_sources/examples.rst.txt b/sphinx_output/_build/html/_sources/examples.rst.txt similarity index 94% rename from documentation/_build/html/_sources/examples.rst.txt rename to sphinx_output/_build/html/_sources/examples.rst.txt index a30e4c7..01c6630 100644 --- a/documentation/_build/html/_sources/examples.rst.txt +++ b/sphinx_output/_build/html/_sources/examples.rst.txt @@ -10,7 +10,7 @@ Implementing your own data importer .. code-block:: python """This example demonstrates the implementation of a simple data importer the extends the class abstract importer to import data in csv format. - The net in exam has three ternary nodes. + The net in exam has three ternary nodes and no prior net structure. """ from .abstract_importer import AbstractImporter @@ -25,7 +25,6 @@ Implementing your own data importer self.read_csv_file() self._sorter = self.build_sorter(self._df_samples_list[0]) self.import_variables() - self.import_structure() self.compute_row_delta_in_all_samples_frames(self._df_samples_list) def read_csv_file(self): @@ -43,10 +42,6 @@ Implementing your own data importer def build_sorter(self, sample_frame: pd.DataFrame) -> typing.List: return list(sample_frame.columns)[1:] - def import_structure(self): - data = {'From':['X','Y','Z'], 'To':['Z','Z','Y']} - self._df_structure = pd.DataFrame(data) - def dataset_id(self) -> object: pass diff --git a/documentation/_build/html/_sources/index.rst.txt b/sphinx_output/_build/html/_sources/index.rst.txt similarity index 86% rename from documentation/_build/html/_sources/index.rst.txt rename to sphinx_output/_build/html/_sources/index.rst.txt index fe88b2e..cc4dc2d 100644 --- a/documentation/_build/html/_sources/index.rst.txt +++ b/sphinx_output/_build/html/_sources/index.rst.txt @@ -1,5 +1,5 @@ .. PyCTBN documentation master file, created by - sphinx-quickstart on Mon Dec 7 15:11:12 2020. + sphinx-quickstart on Mon Dec 14 20:33:17 2020. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. @@ -10,7 +10,7 @@ Welcome to PyCTBN's documentation! :maxdepth: 2 :caption: Contents: - PyCTBN + classes examples Indices and tables diff --git a/documentation/_build/html/_sources/modules.rst.txt b/sphinx_output/_build/html/_sources/modules.rst.txt similarity index 53% rename from documentation/_build/html/_sources/modules.rst.txt rename to sphinx_output/_build/html/_sources/modules.rst.txt index 447544d..6af3efe 100644 --- a/documentation/_build/html/_sources/modules.rst.txt +++ b/sphinx_output/_build/html/_sources/modules.rst.txt @@ -1,7 +1,7 @@ -PyCTBN -====== +classes +======= .. toctree:: :maxdepth: 4 - PyCTBN + classes diff --git a/sphinx_output/_build/html/_static/alabaster.css b/sphinx_output/_build/html/_static/alabaster.css new file mode 100644 index 0000000..0eddaeb --- /dev/null +++ b/sphinx_output/_build/html/_static/alabaster.css @@ -0,0 +1,701 @@ +@import url("basic.css"); + +/* -- page layout ----------------------------------------------------------- */ + +body { + font-family: Georgia, serif; + font-size: 17px; + background-color: #fff; + color: #000; + margin: 0; + padding: 0; +} + + +div.document { + width: 940px; + margin: 30px auto 0 auto; +} + +div.documentwrapper { + float: left; + width: 100%; +} + +div.bodywrapper { + margin: 0 0 0 220px; +} + +div.sphinxsidebar { + width: 220px; + font-size: 14px; + line-height: 1.5; +} + +hr { + border: 1px solid #B1B4B6; +} + +div.body { + background-color: #fff; + color: #3E4349; + padding: 0 30px 0 30px; +} + +div.body > .section { + text-align: left; +} + +div.footer { + width: 940px; + margin: 20px auto 30px auto; + font-size: 14px; + color: #888; + text-align: right; +} + +div.footer a { + color: #888; +} + +p.caption { + font-family: inherit; + font-size: inherit; +} + + +div.relations { + display: none; +} + + +div.sphinxsidebar a { + color: #444; + text-decoration: none; + border-bottom: 1px dotted #999; +} + +div.sphinxsidebar a:hover { + border-bottom: 1px solid #999; +} + +div.sphinxsidebarwrapper { + padding: 18px 10px; +} + +div.sphinxsidebarwrapper p.logo { + padding: 0; + margin: -10px 0 0 0px; + text-align: center; +} + +div.sphinxsidebarwrapper h1.logo { + margin-top: -10px; + text-align: center; + margin-bottom: 5px; + text-align: left; +} + +div.sphinxsidebarwrapper h1.logo-name { + margin-top: 0px; +} + +div.sphinxsidebarwrapper p.blurb { + margin-top: 0; + font-style: normal; +} + +div.sphinxsidebar h3, +div.sphinxsidebar h4 { + font-family: Georgia, serif; + color: #444; + font-size: 24px; + font-weight: normal; + margin: 0 0 5px 0; + padding: 0; +} + +div.sphinxsidebar h4 { + font-size: 20px; +} + +div.sphinxsidebar h3 a { + color: #444; +} + +div.sphinxsidebar p.logo a, +div.sphinxsidebar h3 a, +div.sphinxsidebar p.logo a:hover, +div.sphinxsidebar h3 a:hover { + border: none; +} + +div.sphinxsidebar p { + color: #555; + margin: 10px 0; +} + +div.sphinxsidebar ul { + margin: 10px 0; + padding: 0; + color: #000; +} + +div.sphinxsidebar ul li.toctree-l1 > a { + font-size: 120%; +} + +div.sphinxsidebar ul li.toctree-l2 > a { + font-size: 110%; +} + +div.sphinxsidebar input { + border: 1px solid #CCC; + font-family: Georgia, serif; + font-size: 1em; +} + +div.sphinxsidebar hr { + border: none; + height: 1px; + color: #AAA; + background: #AAA; + + text-align: left; + margin-left: 0; + width: 50%; +} + +div.sphinxsidebar .badge { + border-bottom: none; +} + +div.sphinxsidebar .badge:hover { + border-bottom: none; +} + +/* To address an issue with donation coming after search */ +div.sphinxsidebar h3.donation { + margin-top: 10px; +} + +/* -- body styles ----------------------------------------------------------- */ + +a { + color: #004B6B; + text-decoration: underline; +} + +a:hover { + color: #6D4100; + text-decoration: underline; +} + +div.body h1, +div.body h2, +div.body h3, +div.body h4, +div.body h5, +div.body h6 { + font-family: Georgia, serif; + font-weight: normal; + margin: 30px 0px 10px 0px; + padding: 0; +} + +div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } +div.body h2 { font-size: 180%; } +div.body h3 { font-size: 150%; } +div.body h4 { font-size: 130%; } +div.body h5 { font-size: 100%; } +div.body h6 { font-size: 100%; } + +a.headerlink { + color: #DDD; + padding: 0 4px; + text-decoration: none; +} + +a.headerlink:hover { + color: #444; + background: #EAEAEA; +} + +div.body p, div.body dd, div.body li { + line-height: 1.4em; +} + +div.admonition { + margin: 20px 0px; + padding: 10px 30px; + background-color: #EEE; + border: 1px solid #CCC; +} + +div.admonition tt.xref, div.admonition code.xref, div.admonition a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fafafa; +} + +div.admonition p.admonition-title { + font-family: Georgia, serif; + font-weight: normal; + font-size: 24px; + margin: 0 0 10px 0; + padding: 0; + line-height: 1; +} + +div.admonition p.last { + margin-bottom: 0; +} + +div.highlight { + background-color: #fff; +} + +dt:target, .highlight { + background: #FAF3E8; +} + +div.warning { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.danger { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.error { + background-color: #FCC; + border: 1px solid #FAA; + -moz-box-shadow: 2px 2px 4px #D52C2C; + -webkit-box-shadow: 2px 2px 4px #D52C2C; + box-shadow: 2px 2px 4px #D52C2C; +} + +div.caution { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.attention { + background-color: #FCC; + border: 1px solid #FAA; +} + +div.important { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.note { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.tip { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.hint { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.seealso { + background-color: #EEE; + border: 1px solid #CCC; +} + +div.topic { + background-color: #EEE; +} + +p.admonition-title { + display: inline; +} + +p.admonition-title:after { + content: ":"; +} + +pre, tt, code { + font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; + font-size: 0.9em; +} + +.hll { + background-color: #FFC; + margin: 0 -12px; + padding: 0 12px; + display: block; +} + +img.screenshot { +} + +tt.descname, tt.descclassname, code.descname, code.descclassname { + font-size: 0.95em; +} + +tt.descname, code.descname { + padding-right: 0.08em; +} + +img.screenshot { + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils { + border: 1px solid #888; + -moz-box-shadow: 2px 2px 4px #EEE; + -webkit-box-shadow: 2px 2px 4px #EEE; + box-shadow: 2px 2px 4px #EEE; +} + +table.docutils td, table.docutils th { + border: 1px solid #888; + padding: 0.25em 0.7em; +} + +table.field-list, table.footnote { + border: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + +table.footnote { + margin: 15px 0; + width: 100%; + border: 1px solid #EEE; + background: #FDFDFD; + font-size: 0.9em; +} + +table.footnote + table.footnote { + margin-top: -15px; + border-top: none; +} + +table.field-list th { + padding: 0 0.8em 0 0; +} + +table.field-list td { + padding: 0; +} + +table.field-list p { + margin-bottom: 0.8em; +} + +/* Cloned from + * https://github.com/sphinx-doc/sphinx/commit/ef60dbfce09286b20b7385333d63a60321784e68 + */ +.field-name { + -moz-hyphens: manual; + -ms-hyphens: manual; + -webkit-hyphens: manual; + hyphens: manual; +} + +table.footnote td.label { + width: .1px; + padding: 0.3em 0 0.3em 0.5em; +} + +table.footnote td { + padding: 0.3em 0.5em; +} + +dl { + margin: 0; + padding: 0; +} + +dl dd { + margin-left: 30px; +} + +blockquote { + margin: 0 0 0 30px; + padding: 0; +} + +ul, ol { + /* Matches the 30px from the narrow-screen "li > ul" selector below */ + margin: 10px 0 10px 30px; + padding: 0; +} + +pre { + background: #EEE; + padding: 7px 30px; + margin: 15px 0px; + line-height: 1.3em; +} + +div.viewcode-block:target { + background: #ffd; +} + +dl pre, blockquote pre, li pre { + margin-left: 0; + padding-left: 30px; +} + +tt, code { + background-color: #ecf0f3; + color: #222; + /* padding: 1px 2px; */ +} + +tt.xref, code.xref, a tt { + background-color: #FBFBFB; + border-bottom: 1px solid #fff; +} + +a.reference { + text-decoration: none; + border-bottom: 1px dotted #004B6B; +} + +/* Don't put an underline on images */ +a.image-reference, a.image-reference:hover { + border-bottom: none; +} + +a.reference:hover { + border-bottom: 1px solid #6D4100; +} + +a.footnote-reference { + text-decoration: none; + font-size: 0.7em; + vertical-align: top; + border-bottom: 1px dotted #004B6B; +} + +a.footnote-reference:hover { + border-bottom: 1px solid #6D4100; +} + +a:hover tt, a:hover code { + background: #EEE; +} + + +@media screen and (max-width: 870px) { + + div.sphinxsidebar { + display: none; + } + + div.document { + width: 100%; + + } + + div.documentwrapper { + margin-left: 0; + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + } + + div.bodywrapper { + margin-top: 0; + margin-right: 0; + margin-bottom: 0; + margin-left: 0; + } + + ul { + margin-left: 0; + } + + li > ul { + /* Matches the 30px from the "ul, ol" selector above */ + margin-left: 30px; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .bodywrapper { + margin: 0; + } + + .footer { + width: auto; + } + + .github { + display: none; + } + + + +} + + + +@media screen and (max-width: 875px) { + + body { + margin: 0; + padding: 20px 30px; + } + + div.documentwrapper { + float: none; + background: #fff; + } + + div.sphinxsidebar { + display: block; + float: none; + width: 102.5%; + margin: 50px -30px -20px -30px; + padding: 10px 20px; + background: #333; + color: #FFF; + } + + div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, + div.sphinxsidebar h3 a { + color: #fff; + } + + div.sphinxsidebar a { + color: #AAA; + } + + div.sphinxsidebar p.logo { + display: none; + } + + div.document { + width: 100%; + margin: 0; + } + + div.footer { + display: none; + } + + div.bodywrapper { + margin: 0; + } + + div.body { + min-height: 0; + padding: 0; + } + + .rtd_doc_footer { + display: none; + } + + .document { + width: auto; + } + + .footer { + width: auto; + } + + .footer { + width: auto; + } + + .github { + display: none; + } +} + + +/* misc. */ + +.revsys-inline { + display: none!important; +} + +/* Make nested-list/multi-paragraph items look better in Releases changelog + * pages. Without this, docutils' magical list fuckery causes inconsistent + * formatting between different release sub-lists. + */ +div#changelog > div.section > ul > li > p:only-child { + margin-bottom: 0; +} + +/* Hide fugly table cell borders in ..bibliography:: directive output */ +table.docutils.citation, table.docutils.citation td, table.docutils.citation th { + border: none; + /* Below needed in some edge cases; if not applied, bottom shadows appear */ + -moz-box-shadow: none; + -webkit-box-shadow: none; + box-shadow: none; +} + + +/* relbar */ + +.related { + line-height: 30px; + width: 100%; + font-size: 0.9rem; +} + +.related.top { + border-bottom: 1px solid #EEE; + margin-bottom: 20px; +} + +.related.bottom { + border-top: 1px solid #EEE; +} + +.related ul { + padding: 0; + margin: 0; + list-style: none; +} + +.related li { + display: inline; +} + +nav#rellinks { + float: right; +} + +nav#rellinks li+li:before { + content: "|"; +} + +nav#breadcrumbs li+li:before { + content: "\00BB"; +} + +/* Hide certain items when printing */ +@media print { + div.related { + display: none; + } +} \ No newline at end of file diff --git a/documentation/_build/html/_static/basic.css b/sphinx_output/_build/html/_static/basic.css similarity index 100% rename from documentation/_build/html/_static/basic.css rename to sphinx_output/_build/html/_static/basic.css diff --git a/documentation/_build/html/_static/css/badge_only.css b/sphinx_output/_build/html/_static/css/badge_only.css similarity index 100% rename from documentation/_build/html/_static/css/badge_only.css rename to sphinx_output/_build/html/_static/css/badge_only.css diff --git a/documentation/_build/html/_static/css/darker.css b/sphinx_output/_build/html/_static/css/darker.css similarity index 100% rename from documentation/_build/html/_static/css/darker.css rename to sphinx_output/_build/html/_static/css/darker.css diff --git a/documentation/_build/html/_static/css/pdj.css b/sphinx_output/_build/html/_static/css/pdj.css similarity index 100% rename from documentation/_build/html/_static/css/pdj.css rename to sphinx_output/_build/html/_static/css/pdj.css diff --git a/documentation/_build/html/_static/css/theme.css b/sphinx_output/_build/html/_static/css/theme.css similarity index 100% rename from documentation/_build/html/_static/css/theme.css rename to sphinx_output/_build/html/_static/css/theme.css diff --git a/sphinx_output/_build/html/_static/custom.css b/sphinx_output/_build/html/_static/custom.css new file mode 100644 index 0000000..2a924f1 --- /dev/null +++ b/sphinx_output/_build/html/_static/custom.css @@ -0,0 +1 @@ +/* This file intentionally left blank. */ diff --git a/documentation/_build/html/_static/doctools.js b/sphinx_output/_build/html/_static/doctools.js similarity index 100% rename from documentation/_build/html/_static/doctools.js rename to sphinx_output/_build/html/_static/doctools.js diff --git a/documentation/_build/html/_static/documentation_options.js b/sphinx_output/_build/html/_static/documentation_options.js similarity index 100% rename from documentation/_build/html/_static/documentation_options.js rename to sphinx_output/_build/html/_static/documentation_options.js diff --git a/documentation/_build/html/_static/file.png b/sphinx_output/_build/html/_static/file.png similarity index 100% rename from documentation/_build/html/_static/file.png rename to sphinx_output/_build/html/_static/file.png diff --git a/documentation/_build/html/_static/fonts/fontawesome-webfont.eot b/sphinx_output/_build/html/_static/fonts/fontawesome-webfont.eot similarity index 100% rename from documentation/_build/html/_static/fonts/fontawesome-webfont.eot rename to sphinx_output/_build/html/_static/fonts/fontawesome-webfont.eot diff --git a/documentation/_build/html/_static/fonts/fontawesome-webfont.svg b/sphinx_output/_build/html/_static/fonts/fontawesome-webfont.svg similarity index 100% rename from documentation/_build/html/_static/fonts/fontawesome-webfont.svg rename to sphinx_output/_build/html/_static/fonts/fontawesome-webfont.svg diff --git a/documentation/_build/html/_static/fonts/fontawesome-webfont.ttf b/sphinx_output/_build/html/_static/fonts/fontawesome-webfont.ttf similarity index 100% rename from documentation/_build/html/_static/fonts/fontawesome-webfont.ttf rename to sphinx_output/_build/html/_static/fonts/fontawesome-webfont.ttf diff --git a/documentation/_build/html/_static/fonts/fontawesome-webfont.woff b/sphinx_output/_build/html/_static/fonts/fontawesome-webfont.woff similarity index 100% rename from documentation/_build/html/_static/fonts/fontawesome-webfont.woff rename to sphinx_output/_build/html/_static/fonts/fontawesome-webfont.woff diff --git a/documentation/_build/html/_static/img/porao-branco.png b/sphinx_output/_build/html/_static/img/porao-branco.png similarity index 100% rename from documentation/_build/html/_static/img/porao-branco.png rename to sphinx_output/_build/html/_static/img/porao-branco.png diff --git a/documentation/_build/html/_static/jquery-3.5.1.js b/sphinx_output/_build/html/_static/jquery-3.5.1.js similarity index 100% rename from documentation/_build/html/_static/jquery-3.5.1.js rename to sphinx_output/_build/html/_static/jquery-3.5.1.js diff --git a/documentation/_build/html/_static/jquery.js b/sphinx_output/_build/html/_static/jquery.js similarity index 100% rename from documentation/_build/html/_static/jquery.js rename to sphinx_output/_build/html/_static/jquery.js diff --git a/documentation/_build/html/_static/js/pdj.js b/sphinx_output/_build/html/_static/js/pdj.js similarity index 100% rename from documentation/_build/html/_static/js/pdj.js rename to sphinx_output/_build/html/_static/js/pdj.js diff --git a/documentation/_build/html/_static/js/theme.js b/sphinx_output/_build/html/_static/js/theme.js similarity index 100% rename from documentation/_build/html/_static/js/theme.js rename to sphinx_output/_build/html/_static/js/theme.js diff --git a/documentation/_build/html/_static/language_data.js b/sphinx_output/_build/html/_static/language_data.js similarity index 100% rename from documentation/_build/html/_static/language_data.js rename to sphinx_output/_build/html/_static/language_data.js diff --git a/documentation/_build/html/_static/minus.png b/sphinx_output/_build/html/_static/minus.png similarity index 100% rename from documentation/_build/html/_static/minus.png rename to sphinx_output/_build/html/_static/minus.png diff --git a/documentation/_build/html/_static/plus.png b/sphinx_output/_build/html/_static/plus.png similarity index 100% rename from documentation/_build/html/_static/plus.png rename to sphinx_output/_build/html/_static/plus.png diff --git a/documentation/_build/html/_static/pygments.css b/sphinx_output/_build/html/_static/pygments.css similarity index 100% rename from documentation/_build/html/_static/pygments.css rename to sphinx_output/_build/html/_static/pygments.css diff --git a/documentation/_build/html/_static/searchtools.js b/sphinx_output/_build/html/_static/searchtools.js similarity index 100% rename from documentation/_build/html/_static/searchtools.js rename to sphinx_output/_build/html/_static/searchtools.js diff --git a/documentation/_build/html/_static/underscore-1.3.1.js b/sphinx_output/_build/html/_static/underscore-1.3.1.js similarity index 100% rename from documentation/_build/html/_static/underscore-1.3.1.js rename to sphinx_output/_build/html/_static/underscore-1.3.1.js diff --git a/documentation/_build/html/_static/underscore.js b/sphinx_output/_build/html/_static/underscore.js similarity index 100% rename from documentation/_build/html/_static/underscore.js rename to sphinx_output/_build/html/_static/underscore.js diff --git a/documentation/_build/html/PyCTBN.html b/sphinx_output/_build/html/classes.html similarity index 63% rename from documentation/_build/html/PyCTBN.html rename to sphinx_output/_build/html/classes.html index ea85fb6..fe1061d 100644 --- a/documentation/_build/html/PyCTBN.html +++ b/sphinx_output/_build/html/classes.html @@ -8,7 +8,7 @@ - PyCTBN package — PyCTBN 1.0 documentation + classes package — PyCTBN 1.0 documentation @@ -62,20 +62,20 @@

Contents: