Skip to content

Commit ef14bf1

Browse files
committed
removed subprocess from tutorialls 1-4
1 parent efc9972 commit ef14bf1

File tree

8 files changed

+167
-116
lines changed

8 files changed

+167
-116
lines changed

tutorials/tutorial1/tutorial-1-ffd.ipynb

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -42,39 +42,51 @@
4242
}
4343
],
4444
"source": [
45-
"# package version printout, pip install with extras, random seed, and environment info.\n",
46-
"\n",
47-
"import sys\n",
45+
"# Package version, random seed, and environment info\n",
4846
"import platform\n",
49-
"print(f\"Python version: {sys.version}\")\n",
50-
"print(f\"Platform: {sys.platform}\")\n",
51-
"print(f\"System: {platform.system()} {platform.release()}\")\n",
47+
"import sys\n",
48+
"import logging\n",
49+
"import numpy as np\n",
50+
"\n",
51+
"# Setup logging (works in notebooks and scripts)\n",
52+
"for handler in logging.root.handlers[:]:\n",
53+
" logging.root.removeHandler(handler)\n",
54+
"\n",
55+
"logging.basicConfig(\n",
56+
" level=logging.INFO,\n",
57+
" format=\"%(asctime)s - %(levelname)s - %(message)s\"\n",
58+
")\n",
59+
"\n",
60+
"# System info\n",
61+
"logging.info(f\"Python Version: {sys.version}\")\n",
62+
"logging.info(f\"Platform: {sys.platform}\")\n",
63+
"logging.info(f\"System: {platform.system()} {platform.release()}\")\n",
64+
"logging.info(f\"Architecture: {platform.architecture()}\")\n",
5265
"\n",
66+
"# Import PyGeM\n",
5367
"try:\n",
5468
" import pygem\n",
55-
" print(f\"PyGeM version: {pygem.__version__}\")\n",
5669
"except ImportError:\n",
57-
" print(\"PyGeM not found. Installing with tutorial dependencies\")\n",
58-
" import subprocess\n",
59-
" subprocess.check_call([sys.executable, \"-m\", \"pip\", \"install\", \"-e\", \".[tut]\"])\n",
60-
" import pygem\n",
61-
" print(f\"PyGeM version: {pygem.__version__}\")\n",
70+
" raise ImportError(\n",
71+
" \"PyGeM not found. Please install it before running this tutorial.\\n\"\n",
72+
" \"For example, run: pip install -e '.[tut]' in your environment.\"\n",
73+
" )\n",
6274
"\n",
63-
"import numpy as np\n",
64-
"np.random.seed(42)\n",
75+
"logging.info(f\"PyGeM version: {pygem.__version__}\")\n",
6576
"\n",
77+
"# Set random seed\n",
78+
"np.random.seed(42)\n",
79+
"logging.info(\"Random seed set to 42\")\n",
6680
"\n",
81+
"# Setup matplotlib for notebooks\n",
6782
"try:\n",
6883
" get_ipython().run_line_magic('matplotlib', 'inline')\n",
6984
"except NameError:\n",
70-
" # Running as .py script, no magic commands needed\n",
71-
" pass\n",
85+
" pass # Running as .py script\n",
86+
"\n",
7287
"import mpl_toolkits.mplot3d\n",
7388
"import matplotlib.pyplot as plt\n",
7489
"\n",
75-
"import pygem\n",
76-
"\n",
77-
"print(pygem.__version__)\n",
7890
"from pygem import FFD"
7991
]
8092
},

tutorials/tutorial1/tutorial-1-ffd.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,31 @@
11
# Tutorial 1: Free Form Deformation on Spherical Mesh
22
import platform
33
import sys
4+
import logging
5+
import numpy as np
6+
7+
# Setup logging
8+
logging.basicConfig(
9+
level=logging.INFO,
10+
format="%(asctime)s - %(levelname)s - %(message)s"
11+
)
412

5-
print(f"Python Version: {sys.version}")
6-
print(f"Platform: {sys.platform}")
7-
print(f"System: {platform.system()} {platform.release()}")
813

14+
# System info
15+
logging.info(f"Python Version: {sys.version}")
16+
logging.info(f"Platform: {sys.platform}")
17+
logging.info(f"System: {platform.system()} {platform.release()}")
18+
19+
# Import PyGeM
920
try:
1021
import pygem
11-
12-
print(f"PyGeM version: {pygem.__version__}")
1322
except ImportError:
14-
print("PyGeM not found. Installing...")
15-
import subprocess
16-
17-
# Installing from local source. It can be replaced with github installation once pushed and merged.
18-
subprocess.check_call(
19-
[sys.executable, "-m", "pip", "install", "-e", ".[tut]"]
23+
raise ImportError(
24+
"PyGeM not found. Please install it before running this tutorial.\n"
25+
"For example, run: pip install -e '.[tut]' in your environment."
2026
)
21-
import pygem
2227

23-
print(f"PyGeM version: {pygem.__version__}")
24-
25-
import numpy as np
28+
logging.info(f"PyGeM version: {pygem.__version__}")
2629

2730
np.random.seed(42)
2831

tutorials/tutorial2/tutorial-2-iges.ipynb

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -54,29 +54,33 @@
5454
}
5555
],
5656
"source": [
57-
"import sys\n",
5857
"import platform\n",
58+
"import sys\n",
59+
"import logging\n",
60+
"import numpy as np\n",
61+
"\n",
62+
"# Setup logging\n",
63+
"logging.basicConfig(\n",
64+
" level=logging.INFO,\n",
65+
" format=\"%(asctime)s - %(levelname)s - %(message)s\"\n",
66+
")\n",
67+
"\n",
5968
"\n",
60-
"print(f\"Python Version: {sys.version}\")\n",
61-
"print(f\"Platform: {sys.platform}\")\n",
62-
"print(f\"System: {platform.system()} {platform.release()}\")\n",
69+
"# System info\n",
70+
"logging.info(f\"Python Version: {sys.version}\")\n",
71+
"logging.info(f\"Platform: {sys.platform}\")\n",
72+
"logging.info(f\"System: {platform.system()} {platform.release()}\")\n",
6373
"\n",
74+
"# Import PyGeM\n",
6475
"try:\n",
6576
" import pygem\n",
66-
"\n",
67-
" print(f\"PyGeM version: {pygem.__version__}\")\n",
6877
"except ImportError:\n",
69-
" print(\"PyGeM not found. Installing...\")\n",
70-
" import subprocess\n",
71-
"\n",
72-
" subprocess.check_call(\n",
73-
" [sys.executable, \"-m\", \"pip\", \"install\", \"-e\", \".[tut]\"]\n",
78+
" raise ImportError(\n",
79+
" \"PyGeM not found. Please install it before running this tutorial.\\n\"\n",
80+
" \"For example, run: pip install -e '.[tut]' in your environment.\"\n",
7481
" )\n",
75-
" import pygem\n",
7682
"\n",
77-
" print(f\"PyGeM version: {pygem.__version__}\")\n",
78-
"\n",
79-
"import numpy as np\n",
83+
"logging.info(f\"PyGeM version: {pygem.__version__}\")\n",
8084
"\n",
8185
"np.random.seed(42)\n",
8286
"from pygem.cad import FFD"

tutorials/tutorial2/tutorial-2-iges.py

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,35 @@
77

88
import platform
99
import sys
10+
import logging
11+
import numpy as np
12+
13+
# Setup logging
14+
logging.basicConfig(
15+
level=logging.INFO,
16+
format="%(asctime)s - %(levelname)s - %(message)s"
17+
)
1018

11-
print(f"Python Version: {sys.version}")
12-
print(f"Platform: {sys.platform}")
13-
print(f"System: {platform.system()} {platform.release()}")
1419

20+
# System info
21+
logging.info(f"Python Version: {sys.version}")
22+
logging.info(f"Platform: {sys.platform}")
23+
logging.info(f"System: {platform.system()} {platform.release()}")
24+
25+
# Import PyGeM
1526
try:
1627
import pygem
17-
18-
print(f"PyGeM version: {pygem.__version__}")
1928
except ImportError:
20-
print("PyGeM not found. Installing...")
21-
import subprocess
22-
23-
subprocess.check_call(
24-
[sys.executable, "-m", "pip", "install", "-e", ".[tut]"]
29+
raise ImportError(
30+
"PyGeM not found. Please install it before running this tutorial.\n"
31+
"For example, run: pip install -e '.[tut]' in your environment."
2532
)
26-
import pygem
2733

28-
print(f"PyGeM version: {pygem.__version__}")
29-
30-
import numpy as np
34+
logging.info(f"PyGeM version: {pygem.__version__}")
3135

3236
np.random.seed(42)
3337

38+
3439
# In this tutorial we show again an application of _free form deformation_ method, now to a CAD file. These files, that are often adopted to model complex geometries, require an additional pre- and post-processing of the surfaces to perform the deformation.
3540
#
3641
# The **CAD** submodule of **PyGeM** takes care of the deformation to all CAD files (.step, .iges, etc.), so first of all we import from the submodule the `FFD` class.

tutorials/tutorial3/tutorial-3-rbf.ipynb

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,33 @@
2323
"metadata": {},
2424
"outputs": [],
2525
"source": [
26-
"# Standard header for all tutorials\n",
27-
"import sys\n",
2826
"import platform\n",
27+
"import sys\n",
28+
"import logging\n",
2929
"import numpy as np\n",
30-
"import matplotlib.pyplot as plt\n",
31-
"import pygem\n",
3230
"\n",
33-
"print(f\"Python Version: {sys.version}\")\n",
34-
"print(f\"Platform: {sys.platform}\")\n",
35-
"print(f\"System: {platform.system()} {platform.release()}\")\n",
36-
"print(f\"PyGeM version: {pygem.__version__}\")\n",
31+
"# Setup logging\n",
32+
"logging.basicConfig(\n",
33+
" level=logging.INFO,\n",
34+
" format=\"%(asctime)s - %(levelname)s - %(message)s\"\n",
35+
")\n",
36+
"\n",
37+
"\n",
38+
"# System info\n",
39+
"logging.info(f\"Python Version: {sys.version}\")\n",
40+
"logging.info(f\"Platform: {sys.platform}\")\n",
41+
"logging.info(f\"System: {platform.system()} {platform.release()}\")\n",
42+
"\n",
43+
"# Import PyGeM\n",
44+
"try:\n",
45+
" import pygem\n",
46+
"except ImportError:\n",
47+
" raise ImportError(\n",
48+
" \"PyGeM not found. Please install it before running this tutorial.\\n\"\n",
49+
" \"For example, run: pip install -e '.[tut]' in your environment.\"\n",
50+
" )\n",
51+
"\n",
52+
"logging.info(f\"PyGeM version: {pygem.__version__}\")\n",
3753
"\n",
3854
"np.random.seed(42)\n",
3955
"# Set matplotlib for notebook\n",

tutorials/tutorial3/tutorial-3-rbf.py

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,34 @@
88
#
99
# First of all we import the required **PyGeM** class, we import numpy and matplotlib
1010

11-
import platform
12-
1311
# In[1]:
12+
import platform
1413
import sys
14+
import logging
15+
import numpy as np
16+
17+
# Setup logging
18+
logging.basicConfig(
19+
level=logging.INFO,
20+
format="%(asctime)s - %(levelname)s - %(message)s"
21+
)
22+
1523

16-
print(f"Python Version: {sys.version}")
17-
print(f"Platform: {sys.platform}")
18-
print(f"System: {platform.system()} {platform.release()}")
24+
# System info
25+
logging.info(f"Python Version: {sys.version}")
26+
logging.info(f"Platform: {sys.platform}")
27+
logging.info(f"System: {platform.system()} {platform.release()}")
1928

29+
# Import PyGeM
2030
try:
2131
import pygem
22-
23-
print(f"PyGeM version: {pygem.__version__}")
2432
except ImportError:
25-
print("PyGeM not found. Installing...")
26-
import subprocess
27-
28-
subprocess.check_call(
29-
[sys.executable, "-m", "pip", "install", "-e", ".[tut]"]
33+
raise ImportError(
34+
"PyGeM not found. Please install it before running this tutorial.\n"
35+
"For example, run: pip install -e '.[tut]' in your environment."
3036
)
31-
import pygem
3237

33-
print(f"PyGeM version: {pygem.__version__}")
34-
35-
import numpy as np
38+
logging.info(f"PyGeM version: {pygem.__version__}")
3639

3740
np.random.seed(42)
3841
import matplotlib.pyplot as plt

tutorials/tutorial4/tutorial-4-idw.ipynb

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,29 +47,33 @@
4747
}
4848
],
4949
"source": [
50-
"import sys\n",
5150
"import platform\n",
51+
"import sys\n",
52+
"import logging\n",
53+
"import numpy as np\n",
54+
"\n",
55+
"# Setup logging\n",
56+
"logging.basicConfig(\n",
57+
" level=logging.INFO,\n",
58+
" format=\"%(asctime)s - %(levelname)s - %(message)s\"\n",
59+
")\n",
60+
"\n",
5261
"\n",
53-
"print(f\"Python Version: {sys.version}\")\n",
54-
"print(f\"Platform: {sys.platform}\")\n",
55-
"print(f\"System: {platform.system()} {platform.release()}\")\n",
62+
"# System info\n",
63+
"logging.info(f\"Python Version: {sys.version}\")\n",
64+
"logging.info(f\"Platform: {sys.platform}\")\n",
65+
"logging.info(f\"System: {platform.system()} {platform.release()}\")\n",
5666
"\n",
67+
"# Import PyGeM\n",
5768
"try:\n",
5869
" import pygem\n",
59-
"\n",
60-
" print(f\"PyGeM version: {pygem.__version__}\")\n",
6170
"except ImportError:\n",
62-
" print(\"PyGeM not found. Installing...\")\n",
63-
" import subprocess\n",
64-
"\n",
65-
" subprocess.check_call(\n",
66-
" [sys.executable, \"-m\", \"pip\", \"install\", \"-e\", \".[tut]\"]\n",
71+
" raise ImportError(\n",
72+
" \"PyGeM not found. Please install it before running this tutorial.\\n\"\n",
73+
" \"For example, run: pip install -e '.[tut]' in your environment.\"\n",
6774
" )\n",
68-
" import pygem\n",
6975
"\n",
70-
" print(f\"PyGeM version: {pygem.__version__}\")\n",
71-
"\n",
72-
"import numpy as np\n",
76+
"logging.info(f\"PyGeM version: {pygem.__version__}\")\n",
7377
"\n",
7478
"np.random.seed(42)\n",
7579
"\n",

0 commit comments

Comments
 (0)