File size: 3,586 Bytes
9c0b225
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# MAC Kernel — Python 3.11 with 80+ ML/DS/AI libraries pre-installed
# Build: docker build -t mac-kernel-python:latest -f Dockerfile.python .
# Usage: This image is used by the MAC kernel manager for offline notebook execution.

FROM python:3.11-slim

LABEL maintainer="MAC Team" \
      description="Python notebook kernel with 80+ pre-installed libraries for offline use"

# System dependencies for common Python packages
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential gcc g++ gfortran \
    libffi-dev libssl-dev libxml2-dev libxslt1-dev \
    libhdf5-dev libopenblas-dev liblapack-dev \
    libjpeg-dev libpng-dev zlib1g-dev \
    graphviz libgraphviz-dev \
    git curl wget \
    && rm -rf /var/lib/apt/lists/*

# Core data science & ML stack
RUN pip install --no-cache-dir \
    numpy==1.26.4 \
    pandas==2.2.2 \
    scipy==1.14.1 \
    sympy==1.13.3 \
    statsmodels==0.14.4

# Visualization
RUN pip install --no-cache-dir \
    matplotlib==3.9.2 \
    seaborn==0.13.2 \
    plotly==5.24.1 \
    bokeh==3.5.2 \
    altair==5.4.1 \
    pillow==10.4.0

# Machine Learning
RUN pip install --no-cache-dir \
    scikit-learn==1.5.2 \
    xgboost==2.1.1 \
    lightgbm==4.5.0 \
    catboost==1.2.7

# Deep Learning (CPU versions — GPU workers get CUDA versions)
RUN pip install --no-cache-dir \
    torch==2.4.1+cpu torchvision==0.19.1+cpu torchaudio==2.4.1+cpu \
    --index-url https://download.pytorch.org/whl/cpu

RUN pip install --no-cache-dir \
    tensorflow-cpu==2.17.0 \
    keras==3.6.0

# NLP / Transformers
RUN pip install --no-cache-dir \
    transformers==4.46.2 \
    tokenizers==0.20.3 \
    datasets==3.1.0 \
    sentencepiece==0.2.0 \
    nltk==3.9.1 \
    spacy==3.8.2 \
    gensim==4.3.3

# Image / Vision
RUN pip install --no-cache-dir \
    opencv-python-headless==4.10.0.84 \
    scikit-image==0.24.0 \
    imageio==2.36.0

# Data processing & file I/O
RUN pip install --no-cache-dir \
    openpyxl==3.1.5 \
    xlsxwriter==3.2.0 \
    pyarrow==18.0.0 \
    h5py==3.12.1 \
    lxml==5.3.0 \
    beautifulsoup4==4.12.3 \
    pyyaml==6.0.2 \
    toml==0.10.2 \
    orjson==3.10.11

# HTTP / API
RUN pip install --no-cache-dir \
    requests==2.32.3 \
    httpx==0.28.1 \
    aiohttp==3.11.7 \
    fastapi==0.115.6

# Databases
RUN pip install --no-cache-dir \
    sqlalchemy==2.0.36 \
    psycopg2-binary==2.9.10 \
    redis==5.2.1

# Utilities
RUN pip install --no-cache-dir \
    tqdm==4.67.0 \
    rich==13.9.4 \
    click==8.1.7 \
    pydantic==2.10.4 \
    python-dotenv==1.0.1 \
    cryptography==43.0.3 \
    pytest==8.3.4

# Jupyter/IPython for notebook compatibility
RUN pip install --no-cache-dir \
    ipython==8.29.0 \
    ipykernel==6.29.5 \
    nbformat==5.10.4

# Additional ML/AI tools
RUN pip install --no-cache-dir \
    onnxruntime==1.20.0 \
    joblib==1.4.2 \
    optuna==4.0.0 \
    mlflow==2.18.0 \
    wandb==0.18.7

# Math/Science
RUN pip install --no-cache-dir \
    networkx==3.4.2 \
    igraph==0.11.8 \
    shapely==2.0.6

# Misc popular packages
RUN pip install --no-cache-dir \
    faker==33.0.0 \
    tabulate==0.9.0 \
    colorama==0.4.6 \
    regex==2024.9.11

# Download NLTK data (offline use)
RUN python -c "import nltk; nltk.download('punkt'); nltk.download('punkt_tab'); nltk.download('stopwords'); nltk.download('wordnet')"

WORKDIR /workspace

# Non-root user for security
RUN useradd -m -s /bin/bash coder
USER coder

CMD ["python3"]