#-------------------------------------------------------------------------------
#  [1] MacPorts initialization:
#
#      The four packages 1) Qt5, 2) Ruby, 3) Python, and 4) libgit2 are required.
#      A typical installation flow is shown below.
#-------------------------------------------------------------------------------
   $ sudo port install coreutils
   $ sudo port install findutils
   $ sudo port install qt5
   $ sudo port install ruby34
   $ sudo port install python313
   $ sudo port install py313-pip
   $ sudo port install libgit2

   $ sudo port select --set python3 python313
   $ sudo port select --set python  python313
   $ sudo port select --set pip3    pip313
   $ sudo port select --set pip     pip313
   $ sudo port select --set ruby    ruby34

#-------------------------------------------------------------------------------
#  [2] Installation process of different Python modules using 'pip-3.13':
#-------------------------------------------------------------------------------
MacBookPro2{kazzz-s} ~ (1)% which pip3
/opt/local/bin/pip3

MacBookPro2{kazzz-s} ~ (2)% pip3 --version
pip 25.1.1 from /opt/local/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pip (python 3.13)

MacBookPro2{kazzz-s} ~ (3)% sudo pip3 list
:
Package    Version
---------- -------
pip        25.1.1
setuptools 80.9.0

MacBookPro2{kazzz-s} ~ (4)% sudo pip3 install wheel pandas scipy matplotlib
:
:
:

MacBookPro2{kazzz-s} ~ (5)% pip3 list --outdated
:
: update outdated modules if any
:

MacBookPro2{kazzz-s} ~ (6)% pip3 list
Package           Version
----------------- -----------
altgraph          0.17.4
build             1.3.0
contourpy         1.3.3
cycler            0.12.1
delocate          0.13.0
fonttools         4.60.1
installer         0.7.0
kiwisolver        1.4.9
macholib          1.16.3
Mako              1.3.10
Markdown          3.8.2
MarkupSafe        3.0.3
matplotlib        3.10.7
meson             1.9.1
numpy             2.3.4
packaging         25.0
pandas            2.3.3
pillow            12.0.0
pip               25.1.1
pycairo           1.28.0
PyGObject         3.50.0
pyparsing         3.2.5
pyproject_hooks   1.2.0
python-dateutil   2.9.0.post0
pytz              2025.2
PyYAML            6.0.3
scipy             1.16.3
setuptools        80.9.0
six               1.17.0
typing_extensions 4.15.0
tzdata            2025.2
wheel             0.45.1

#-------------------------------------------------------------------------------
#  [3] Python module import test:
#
#      Run this sample python from "Macro Development" with such a sample CSV.
#-------------------------------------------------------------------------------
'''
# Enter your Python code here
import os
import numpy as np
import scipy
import matplotlib
import pandas as pd

sampleCSV = os.environ["HOME"] + "/KLayout/sampleCSV.csv"
df = pd.read_csv( sampleCSV, comment='#' )
print(df)
'''

== Output ==
      X[mm]  Y[mm]   Ratio[]
0       0.0    3.1  1.006617
1       2.7   -1.5  1.006607
2      -2.7   -1.5  1.006321
3       0.0    9.2  1.006651
4       5.9    7.0  1.006211
...     ...    ...       ...
1805  -30.3  140.7  0.994904
1806  -24.3  141.9  0.994266
1807  -18.3  142.8  0.994888
1808  -12.2  143.4  0.994146
1809   -6.1  143.11  0.993552

[1810 rows x 3 columns]

#------------------
# End of File
#------------------
