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"]
|