From 6bb68ec79ee231d32e7bb172805726f0d87b3535 Mon Sep 17 00:00:00 2001 From: kchoudh2 Date: Fri, 3 Oct 2025 10:51:56 -0400 Subject: [PATCH] Add Dockerile --- Dockerfile | 58 +++++++++++++++++++++++++++++++++++++++++++++ atomgpt/__init__.py | 2 +- environment.yml | 42 ++++++++++++++++++-------------- requirements.txt | 9 +++++-- setup.py | 2 +- 5 files changed, 91 insertions(+), 22 deletions(-) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..031f08d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,58 @@ +# Use Ubuntu base image and install Miniforge manually +FROM ubuntu:22.04 + +# Set working directory +WORKDIR /workspace + +# Set environment variables +ENV CONDA_ENV_NAME=my_atomgpt +ENV PYTHONUNBUFFERED=1 + +# Prevent interactive prompts during installation +ENV DEBIAN_FRONTEND=noninteractive + +# Install system dependencies +RUN apt-get update && apt-get install -y \ + git \ + wget \ + build-essential \ + curl \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +# Download and install Miniforge +RUN wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" -O miniforge.sh && \ + bash miniforge.sh -b -p /opt/conda && \ + rm miniforge.sh + +# Add conda to PATH +ENV PATH="/opt/conda/bin:${PATH}" + +# Create conda environment with Python 3.10 +RUN conda create --name ${CONDA_ENV_NAME} python=3.10 -y + +# Make RUN commands use the conda environment +SHELL ["conda", "run", "-n", "my_atomgpt", "/bin/bash", "-c"] + +# Clone AtomGPT repository +RUN git clone https://github.com/atomgptlab/atomgpt.git && \ + cd atomgpt && \ + pip install -e . + +# Set the default working directory to atomgpt +WORKDIR /workspace/atomgpt + +# Activate conda environment by default +RUN echo "conda activate ${CONDA_ENV_NAME}" >> ~/.bashrc + +# Default command +CMD ["/bin/bash"] + + +################################### +# Instructions +#docker build -t atomgpt . +#docker login +#docker tag atomgpt atomgptlab/atomgpt:latest +#docker push atomgptlab/atomgpt:latest +#docker pull atomgptlab/atomgpt:latest diff --git a/atomgpt/__init__.py b/atomgpt/__init__.py index eecfc9a..090ea45 100644 --- a/atomgpt/__init__.py +++ b/atomgpt/__init__.py @@ -1,3 +1,3 @@ """Version number.""" -__version__ = "2025.6.7" +__version__ = "2025.9.7" diff --git a/environment.yml b/environment.yml index 90b74a1..cba08ee 100644 --- a/environment.yml +++ b/environment.yml @@ -1,45 +1,47 @@ -name: atomgpt +name: my_atomgpt channels: - conda-forge dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_gnu - - bzip2=1.0.8=h4bc722e_7 - - ca-certificates=2025.4.26=hbd8a1cb_0 - - ld_impl_linux-64=2.43=h712a8e2_4 - - libexpat=2.7.0=h5888daf_0 + - bzip2=1.0.8=hda65f42_8 + - ca-certificates=2025.8.3=hbd8a1cb_0 + - ld_impl_linux-64=2.44=ha97dd6f_2 + - libexpat=2.7.1=hecca717_0 - libffi=3.4.6=h2dba641_1 - - libgcc=15.1.0=h767d61c_2 - - libgcc-ng=15.1.0=h69a702a_2 - - libgomp=15.1.0=h767d61c_2 - - liblzma=5.8.1=hb9d3cd8_1 - - libnsl=2.0.1=hd590300_0 - - libsqlite=3.49.2=hee588c1_0 - - libuuid=2.38.1=h0b41bf4_0 + - libgcc=15.1.0=h767d61c_5 + - libgcc-ng=15.1.0=h69a702a_5 + - libgomp=15.1.0=h767d61c_5 + - liblzma=5.8.1=hb9d3cd8_2 + - libnsl=2.0.1=hb9d3cd8_1 + - libsqlite=3.50.4=h0c1763c_0 + - libuuid=2.41.2=he9a06e4_0 - libxcrypt=4.4.36=hd590300_1 - libzlib=1.3.1=hb9d3cd8_2 - ncurses=6.5=h2d0b736_3 - - openssl=3.5.0=h7b32b05_1 - - pip=25.1.1=pyh8b19718_0 - - python=3.10.17=hd6af730_0_cpython + - openssl=3.5.4=h26f9b46_0 + - pip=25.2=pyh8b19718_0 + - python=3.10.18=hd6af730_0_cpython - readline=8.2=h8c095d6_2 - - setuptools=80.8.0=pyhff2d567_0 - - tk=8.6.13=noxft_h4845f30_101 + - setuptools=80.9.0=pyhff2d567_0 + - tk=8.6.13=noxft_hd72426e_102 - wheel=0.45.1=pyhd8ed1ab_1 - pip: - accelerate==1.7.0 - aiohappyeyeballs==2.6.1 - aiohttp==3.11.18 - aiosignal==1.3.2 + - alembic==1.16.5 - annotated-types==0.7.0 - ase==3.25.0 - async-timeout==5.0.1 - attrs==25.3.0 - - bitsandbytes==0.45.5 + - bitsandbytes==0.48.1 - black==25.1.0 - certifi==2025.4.26 - charset-normalizer==3.4.2 - click==8.2.1 + - colorlog==6.9.0 - contourpy==1.3.2 - cut-cross-entropy==25.1.1 - cycler==0.12.1 @@ -52,6 +54,7 @@ dependencies: - frozenlist==1.6.0 - fsspec==2025.3.0 - gguf==0.16.3 + - greenlet==3.2.4 - hf-transfer==0.1.9 - hf-xet==1.1.2 - huggingface-hub==0.32.0 @@ -63,6 +66,7 @@ dependencies: - joblib==1.5.1 - kiwisolver==1.4.8 - lazy-loader==0.4 + - mako==1.3.10 - markdown-it-py==3.0.0 - markupsafe==3.0.2 - matplotlib==3.10.3 @@ -88,6 +92,7 @@ dependencies: - nvidia-nccl-cu12==2.26.2 - nvidia-nvjitlink-cu12==12.6.85 - nvidia-nvtx-cu12==12.6.77 + - optuna==3.6.2 - packaging==25.0 - pandas==2.2.3 - pathspec==0.12.1 @@ -118,6 +123,7 @@ dependencies: - shtab==1.7.2 - six==1.17.0 - spglib==2.6.0 + - sqlalchemy==2.0.43 - sympy==1.14.0 - threadpoolctl==3.6.0 - tifffile==2025.5.10 diff --git a/requirements.txt b/requirements.txt index 7e4d84a..33985ee 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,15 +2,17 @@ accelerate==1.7.0 aiohappyeyeballs==2.6.1 aiohttp==3.11.18 aiosignal==1.3.2 +alembic==1.16.5 annotated-types==0.7.0 ase==3.25.0 async-timeout==5.0.1 attrs==25.3.0 -bitsandbytes==0.45.5 +bitsandbytes==0.48.1 black==25.1.0 certifi==2025.4.26 charset-normalizer==3.4.2 click==8.2.1 +colorlog==6.9.0 contourpy==1.3.2 cut-cross-entropy==25.1.1 cycler==0.12.1 @@ -23,6 +25,7 @@ fonttools==4.58.0 frozenlist==1.6.0 fsspec==2025.3.0 gguf==0.16.3 +greenlet==3.2.4 hf-xet==1.1.2 hf_transfer==0.1.9 huggingface-hub==0.32.0 @@ -34,6 +37,7 @@ Jinja2==3.1.6 joblib==1.5.1 kiwisolver==1.4.8 lazy_loader==0.4 +Mako==1.3.10 markdown-it-py==3.0.0 MarkupSafe==3.0.2 matplotlib==3.10.3 @@ -59,7 +63,7 @@ nvidia-cusparselt-cu12==0.6.3 nvidia-nccl-cu12==2.26.2 nvidia-nvjitlink-cu12==12.6.85 nvidia-nvtx-cu12==12.6.77 -optuna>=3.5,<4 +optuna==3.6.2 packaging==25.0 pandas==2.2.3 pathspec==0.12.1 @@ -90,6 +94,7 @@ sentencepiece==0.2.0 shtab==1.7.2 six==1.17.0 spglib==2.6.0 +SQLAlchemy==2.0.43 sympy==1.14.0 threadpoolctl==3.6.0 tifffile==2025.5.10 diff --git a/setup.py b/setup.py index 95b34d4..05d76cc 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ setuptools.setup( name="atomgpt", - version="2025.6.7", + version="2025.9.7", author="Kamal Choudhary", author_email="kamal.choudhary@nist.gov", description="atomgpt",