diff --git a/.gitignore b/.gitignore
index 50bf771..cee0b3e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,8 @@
-
.ipynb_checkpoints/*
.DS_Store
+.idea
+engine/__pycache__
+engine/.ipynb_checkpoints
+notebooks/.ipynb_checkpoints
+ui/__pycache__
+SimCAD.egg-info
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/engine/.ipynb_checkpoints/run-checkpoint.py b/engine/.ipynb_checkpoints/run-checkpoint.py
new file mode 100644
index 0000000..1adcca7
--- /dev/null
+++ b/engine/.ipynb_checkpoints/run-checkpoint.py
@@ -0,0 +1,21 @@
+from ui.config import state_dict, mechanisms, exogenous_states, env_processes, sim_config
+from engine.configProcessor import generate_config
+from engine.mechanismExecutor import simulation
+from engine.utils import flatten
+
+#from tabulate import tabulate
+import pandas as pd
+
+def main():
+ states_list = [state_dict]
+ configs = generate_config(mechanisms, exogenous_states)
+ # p = pipeline(states_list, configs, env_processes, range(10))
+ N = sim_config['N']
+ r = range(5)
+ # Dimensions: N x r x mechs
+ s = simulation(states_list, configs, env_processes, r, N)
+ result = pd.DataFrame(flatten(s))
+ print('Test')
+# print(tabulate(result, headers='keys', tablefmt='psql'))
+# remove print and tabulate functions, so it returns a dataframe
+ return result
\ No newline at end of file
diff --git a/engine/__pycache__/__init__.cpython-36.pyc b/engine/__pycache__/__init__.cpython-36.pyc
index cb34c91..9fe0485 100644
Binary files a/engine/__pycache__/__init__.cpython-36.pyc and b/engine/__pycache__/__init__.cpython-36.pyc differ
diff --git a/engine/__pycache__/__init__.cpython-37.pyc b/engine/__pycache__/__init__.cpython-37.pyc
new file mode 100644
index 0000000..01f339d
Binary files /dev/null and b/engine/__pycache__/__init__.cpython-37.pyc differ
diff --git a/engine/__pycache__/configProcessor.cpython-36.pyc b/engine/__pycache__/configProcessor.cpython-36.pyc
index 8163443..b575caf 100644
Binary files a/engine/__pycache__/configProcessor.cpython-36.pyc and b/engine/__pycache__/configProcessor.cpython-36.pyc differ
diff --git a/engine/__pycache__/configProcessor.cpython-37.pyc b/engine/__pycache__/configProcessor.cpython-37.pyc
new file mode 100644
index 0000000..faa49be
Binary files /dev/null and b/engine/__pycache__/configProcessor.cpython-37.pyc differ
diff --git a/engine/__pycache__/mechanismExecutor.cpython-36.pyc b/engine/__pycache__/mechanismExecutor.cpython-36.pyc
index 9f7ecd3..9bbf837 100644
Binary files a/engine/__pycache__/mechanismExecutor.cpython-36.pyc and b/engine/__pycache__/mechanismExecutor.cpython-36.pyc differ
diff --git a/engine/__pycache__/mechanismExecutor.cpython-37.pyc b/engine/__pycache__/mechanismExecutor.cpython-37.pyc
new file mode 100644
index 0000000..1a9ad37
Binary files /dev/null and b/engine/__pycache__/mechanismExecutor.cpython-37.pyc differ
diff --git a/engine/__pycache__/run.cpython-36.pyc b/engine/__pycache__/run.cpython-36.pyc
index 34bd64a..5e55019 100644
Binary files a/engine/__pycache__/run.cpython-36.pyc and b/engine/__pycache__/run.cpython-36.pyc differ
diff --git a/engine/__pycache__/run.cpython-37.pyc b/engine/__pycache__/run.cpython-37.pyc
new file mode 100644
index 0000000..cddb38d
Binary files /dev/null and b/engine/__pycache__/run.cpython-37.pyc differ
diff --git a/engine/__pycache__/utils.cpython-36.pyc b/engine/__pycache__/utils.cpython-36.pyc
index f5ade6f..b98d799 100644
Binary files a/engine/__pycache__/utils.cpython-36.pyc and b/engine/__pycache__/utils.cpython-36.pyc differ
diff --git a/engine/__pycache__/utils.cpython-37.pyc b/engine/__pycache__/utils.cpython-37.pyc
new file mode 100644
index 0000000..4142993
Binary files /dev/null and b/engine/__pycache__/utils.cpython-37.pyc differ
diff --git a/engine/run.py b/engine/run.py
index ebdeef3..1adcca7 100644
--- a/engine/run.py
+++ b/engine/run.py
@@ -3,7 +3,7 @@ from engine.configProcessor import generate_config
from engine.mechanismExecutor import simulation
from engine.utils import flatten
-from tabulate import tabulate
+#from tabulate import tabulate
import pandas as pd
def main():
@@ -12,7 +12,10 @@ def main():
# p = pipeline(states_list, configs, env_processes, range(10))
N = sim_config['N']
r = range(5)
- # Dimentions: N x r x mechs
+ # Dimensions: N x r x mechs
s = simulation(states_list, configs, env_processes, r, N)
result = pd.DataFrame(flatten(s))
- print(tabulate(result, headers='keys', tablefmt='psql'))
+ print('Test')
+# print(tabulate(result, headers='keys', tablefmt='psql'))
+# remove print and tabulate functions, so it returns a dataframe
+ return result
\ No newline at end of file
diff --git a/notebooks/.ipynb_checkpoints/TestNotebook-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/TestNotebook-checkpoint.ipynb
new file mode 100644
index 0000000..57d2504
--- /dev/null
+++ b/notebooks/.ipynb_checkpoints/TestNotebook-checkpoint.ipynb
@@ -0,0 +1,42 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "assert pd.__version__ == '0.23.4'"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.7.0"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/notebooks/.ipynb_checkpoints/test-checkpoint.ipynb b/notebooks/.ipynb_checkpoints/test-checkpoint.ipynb
new file mode 100644
index 0000000..a79181a
--- /dev/null
+++ b/notebooks/.ipynb_checkpoints/test-checkpoint.ipynb
@@ -0,0 +1,55 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "ModuleNotFoundError",
+ "evalue": "No module named 'ui'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mengine\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mrun\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mrun\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmain\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;32m~\\AppData\\Local\\Continuum\\anaconda3\\lib\\site-packages\\engine\\run.py\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mui\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconfig\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mstate_dict\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmechanisms\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mexogenous_states\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0menv_processes\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msim_config\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mengine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mconfigProcessor\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mgenerate_config\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mengine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmechanismExecutor\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0msimulation\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[1;32mfrom\u001b[0m \u001b[0mengine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mutils\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mflatten\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'ui'"
+ ]
+ }
+ ],
+ "source": [
+ "from engine import run\n",
+ "run.main()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/notebooks/CAD_Engine.ipynb b/notebooks/CAD_Engine.ipynb
index 988308e..fc51d07 100644
--- a/notebooks/CAD_Engine.ipynb
+++ b/notebooks/CAD_Engine.ipynb
@@ -1301,13 +1301,13 @@
{
"ename": "NameError",
"evalue": "name 'non_numeric' is not defined",
+ "output_type": "error",
"traceback": [
- "\u001b[0;31m---------------------------------------------------------------\u001b[0m",
- "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
- "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mstate_dict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m's1'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'3323'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m's2'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'2572'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m's3'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'2.657'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m's4'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'7.914'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'timestamp'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'2018-10-01 15:16:26'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'mech_step'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m'time_step'\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mstate_dict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mv\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mquantize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mTWOPLACES\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mROUND_DOWN\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mv\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mstate_dict\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtype\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mv\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mstate_dict\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnon_numeric\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0mstate_dict\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mNameError\u001b[0m: name 'non_numeric' is not defined"
- ],
- "output_type": "error"
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mstate_dict\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[1;34m's1'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'3323'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m's2'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'2572'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m's3'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'2.657'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m's4'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'7.914'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'timestamp'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;34m'2018-10-01 15:16:26'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'mech_step'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'time_step'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mstate_dict\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m{\u001b[0m\u001b[0mk\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mv\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mquantize\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mTWOPLACES\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mROUND_DOWN\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mv\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mstate_dict\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mtype\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mv\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m==\u001b[0m \u001b[0mDecimal\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 5\u001b[1;33m \u001b[0mstate_dict\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mnon_numeric\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 6\u001b[0m \u001b[0mstate_dict\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mNameError\u001b[0m: name 'non_numeric' is not defined"
+ ]
}
],
"source": [
diff --git a/notebooks/TestNotebook.ipynb b/notebooks/TestNotebook.ipynb
index a02a274..51d7dc7 100644
--- a/notebooks/TestNotebook.ipynb
+++ b/notebooks/TestNotebook.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -13,9 +13,9 @@
],
"metadata": {
"kernelspec": {
- "display_name": "DiffyQ-SimCAD Env",
+ "display_name": "Python 3",
"language": "python",
- "name": "diffyq-simcad"
+ "name": "python3"
},
"language_info": {
"codemirror_mode": {
diff --git a/notebooks/test.ipynb b/notebooks/test.ipynb
new file mode 100644
index 0000000..48c1228
--- /dev/null
+++ b/notebooks/test.ipynb
@@ -0,0 +1,77 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "scrolled": false
+ },
+ "outputs": [
+ {
+ "ename": "ImportError",
+ "evalue": "cannot import name 'run'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[1;31mImportError\u001b[0m Traceback (most recent call last)",
+ "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mfrom\u001b[0m \u001b[0mengine\u001b[0m \u001b[1;32mimport\u001b[0m \u001b[0mrun\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mrun\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmain\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
+ "\u001b[1;31mImportError\u001b[0m: cannot import name 'run'"
+ ]
+ }
+ ],
+ "source": [
+ "from engine import run\n",
+ "run.main()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}