Major updates and improvements to BZZZ system
- Updated configuration and deployment files - Improved system architecture and components - Enhanced documentation and testing - Fixed various issues and added new features 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
139
deployments/internal-docker/hcfs-python/Dockerfile
Normal file
139
deployments/internal-docker/hcfs-python/Dockerfile
Normal file
@@ -0,0 +1,139 @@
|
||||
# HCFS Python Development Environment
|
||||
FROM bzzz-hcfs-base:latest
|
||||
|
||||
LABEL maintainer="anthony@deepblack.cloud"
|
||||
LABEL description="HCFS Python development environment with ML/AI tools"
|
||||
LABEL language="python"
|
||||
LABEL version="1.0.0"
|
||||
|
||||
# Install Python development tools
|
||||
RUN apt-get update && apt-get install -y \
|
||||
# Python build dependencies
|
||||
python3-dev \
|
||||
python3-wheel \
|
||||
python3-setuptools \
|
||||
# Data science libraries dependencies
|
||||
libhdf5-dev \
|
||||
libnetcdf-dev \
|
||||
libopenblas-dev \
|
||||
liblapack-dev \
|
||||
gfortran \
|
||||
# ML/AI library dependencies
|
||||
libgraphviz-dev \
|
||||
graphviz \
|
||||
# Image processing
|
||||
libjpeg-dev \
|
||||
libpng-dev \
|
||||
libtiff-dev \
|
||||
# Additional development tools
|
||||
python3-ipython \
|
||||
jupyter-core \
|
||||
# Testing tools
|
||||
python3-pytest \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install comprehensive Python package ecosystem
|
||||
RUN pip install --no-cache-dir \
|
||||
# Core development
|
||||
ipython \
|
||||
jupyter \
|
||||
jupyterlab \
|
||||
notebook \
|
||||
# Web frameworks
|
||||
flask \
|
||||
fastapi \
|
||||
django \
|
||||
starlette \
|
||||
# Data science and ML
|
||||
numpy \
|
||||
pandas \
|
||||
scipy \
|
||||
scikit-learn \
|
||||
matplotlib \
|
||||
seaborn \
|
||||
plotly \
|
||||
# Deep learning
|
||||
torch \
|
||||
torchvision \
|
||||
transformers \
|
||||
# NLP
|
||||
nltk \
|
||||
spacy \
|
||||
sentence-transformers \
|
||||
# API and HTTP
|
||||
requests \
|
||||
httpx \
|
||||
aiohttp \
|
||||
# Database
|
||||
sqlalchemy \
|
||||
psycopg2-binary \
|
||||
sqlite3 \
|
||||
# Configuration and serialization
|
||||
pyyaml \
|
||||
toml \
|
||||
configparser \
|
||||
# CLI tools
|
||||
click \
|
||||
typer \
|
||||
rich \
|
||||
# Testing
|
||||
pytest \
|
||||
pytest-asyncio \
|
||||
pytest-cov \
|
||||
# Code quality
|
||||
black \
|
||||
flake8 \
|
||||
mypy \
|
||||
pylint \
|
||||
# Documentation
|
||||
sphinx \
|
||||
mkdocs \
|
||||
# Async programming
|
||||
asyncio \
|
||||
aiofiles \
|
||||
# Development utilities
|
||||
python-dotenv \
|
||||
tqdm \
|
||||
loguru
|
||||
|
||||
# Install HCFS Python SDK
|
||||
COPY hcfs-python-sdk /opt/hcfs/python-sdk
|
||||
RUN cd /opt/hcfs/python-sdk && pip install -e .
|
||||
|
||||
# Create development workspace structure
|
||||
RUN sudo -u agent mkdir -p /home/agent/work/{src,tests,docs,notebooks,data,models,scripts}
|
||||
|
||||
# Set up Python-specific environment
|
||||
ENV PYTHONPATH=/home/agent/work/src:/opt/hcfs/python-sdk:$PYTHONPATH
|
||||
ENV JUPYTER_CONFIG_DIR=/home/agent/.jupyter
|
||||
ENV JUPYTER_DATA_DIR=/home/agent/.local/share/jupyter
|
||||
|
||||
# Create Jupyter configuration
|
||||
RUN sudo -u agent mkdir -p /home/agent/.jupyter && \
|
||||
sudo -u agent bash -c 'cat > /home/agent/.jupyter/jupyter_notebook_config.py << EOF
|
||||
c.NotebookApp.ip = "0.0.0.0"
|
||||
c.NotebookApp.port = 8888
|
||||
c.NotebookApp.open_browser = False
|
||||
c.NotebookApp.token = ""
|
||||
c.NotebookApp.password = ""
|
||||
c.NotebookApp.notebook_dir = "/home/agent/work"
|
||||
c.NotebookApp.allow_root = False
|
||||
EOF'
|
||||
|
||||
# Python-specific HCFS integration script
|
||||
COPY scripts/python-hcfs-init.py /opt/hcfs/scripts/
|
||||
RUN chmod +x /opt/hcfs/scripts/python-hcfs-init.py
|
||||
|
||||
# Expose common Python development ports
|
||||
EXPOSE 8888 8000 5000 8080
|
||||
|
||||
# Set Python as the default environment
|
||||
ENV SHELL=/bin/bash
|
||||
ENV PYTHON_ENV=development
|
||||
|
||||
# Add Python-specific entrypoint
|
||||
COPY scripts/python-entrypoint.sh /opt/hcfs/
|
||||
RUN chmod +x /opt/hcfs/python-entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["/opt/hcfs/python-entrypoint.sh"]
|
||||
CMD ["python"]
|
||||
Reference in New Issue
Block a user