diff --git a/dockerfiles/Dockerfile.sandbox b/dockerfiles/Dockerfile.sandbox index 7c22cc3e29..3cccd8ee6c 100644 --- a/dockerfiles/Dockerfile.sandbox +++ b/dockerfiles/Dockerfile.sandbox @@ -63,6 +63,24 @@ ENV PATH="/lean4/my_project:$PATH" COPY requirements/code_execution.txt /app/requirements.txt RUN pip install --no-cache-dir -r /app/requirements.txt + +# Install STEM related libraries +COPY requirements/stem.txt /app/stem_requirements.txt + + +# Speed/size/env hygiene +ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \ + UV_SYSTEM_PYTHON=1 \ + PATH="/root/.local/bin:${PATH}" + + +# Install uv (adds to ~/.local/bin), then install deps +RUN if [ "$GITHUB_CI" != "1" ]; then \ + curl -LsSf https://astral.sh/uv/install.sh | sh && \ + uv pip install --upgrade pip && \ + uv pip install -r /app/stem_requirements.txt --no-cache-dir --extra-index-url https://download.pytorch.org/whl/cpu; \ + fi + # For scicode eval - create data directory and download test data # Set GITHUB_CI=1 build arg to skip download (useful for CI when download fails) # If skipped, scicode evaluations will fail unless the file is manually mounted diff --git a/requirements/stem.txt b/requirements/stem.txt new file mode 100644 index 0000000000..c86cb3b4e5 --- /dev/null +++ b/requirements/stem.txt @@ -0,0 +1,201 @@ +arxiv +ascii_magic +astronomy +astroquery +atc +basc +bbn +beautifulsoup4 +bible +biopython +bioservices +bson +cactus +cantera +certifi +chardet +chemicals +chemics +chemlib +chempy +chemspipy +chess +cloudscraper +convertdate +conway +coxeter +Crypto +cssselect +cvxopt +cvxpy +data +datasets +ddc +depmap +diff +dill +dipy +dp_accounting +duckduckgo_search +easyocr +ecdsa +enchant +ephem +ete3 +feedparser +filetype +fiona +fishpy +fontTools +galois +gemmi +geocoder +geonamescache +geopandas +geopy +gita +gmpy2 +googletrans +grep +gutenbergpy +html5lib +HTMLParser +huggingface_hub +iapws +imageio +importlib_metadata +importlib_resources +IndianConstitution +indic_nlp_library +inflect +ipywidgets +isbnlib +jax +jdcal +language_tool_python +law +lie +LIEGenTools +lifelines +lingpy +lxml +matplotlib +mendeleev +mido +mimic +mingus +mip +molmass +molparse +molvs +music21 +mygene +myvariant +networkx +nibabel +nltk +nuclear +num2words +numba +numpy +numpy_financial +ocl +open_tamil +opencv-python +openmc_data +openmm +openpyxl +optopy +ortools +osmnx +packaging +paddleocr +pandapower +pandas +pandas_datareader +pdf2image +pdfminer +pdfplumber +pdfreader +piexif +pint +planarity +polyhedron +pretty_midi +pronouncing +ptable +py3Dmol +pybel +pyclipper +pycosat +pycountry +pydataset +pyequion +pyfiglet +pyfluids +pyhull +pylaw +pymatgen +pymcm +pymongo +PyMuPDF +PyPDF2 +pyromat +pysam +pysat +pyscf +pysmiles +pyswisseph +pytamil +pyteomics +pytesseract +python-igraph +python-snappy +qiskit +quote +quotes +qutip +ragas +rdflib +rdkit +requests +requests_cache +sanskrit +sanskrit_parser +scipy +seaborn +shakespeare +shapely +sieve +skimpy +skyfield +spacy +spherogram +statistic +statsmodels +steam +stim +sympy +tamil +tensorflow +tensorflow_datasets +thermo +thermochem +thermopy +thermostat +tinycss2 +torch +torchvision +transformers +trimesh +typ +utils +vedas +wbdata +webcolors +wikidata +wikipedia>=1.4.0 +wikipedia_api +wordfreq +wptools +yfinance