Skip to content

Commit b97bba3

Browse files
Merge pull request #180 from ContextLab/feature/setup-script
Add CDL development environment setup scripts
2 parents dddda40 + 5dba016 commit b97bba3

File tree

7 files changed

+1557
-1
lines changed

7 files changed

+1557
-1
lines changed

compile.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ latex -interaction=nonstopmode -halt-on-error lab_manual
44
latex -interaction=nonstopmode -halt-on-error lab_manual
55
latex -interaction=nonstopmode -halt-on-error lab_manual
66
pdflatex -interaction=nonstopmode -halt-on-error lab_manual
7-
rm *.log *.aux *.fdb_latexmk *.fls *.idx *.ilg *.ind *.out *.bbl *.blg *.run.xml
7+
rm -f *.log *.aux *.fdb_latexmk *.fls *.idx *.ilg *.ind *.out *.bbl *.blg *.run.xml

lab_manual.pdf

2.54 KB
Binary file not shown.

lab_manual.tex

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
% This template has been downloaded from:
77
% http://www.LaTeXTemplates.com
88
%
9+
% Updated 2024-12-07: Added development environment setup section
10+
%
911
% License:
1012
% CC BY-NC-SA 3.0 (http://creativecommons.org/licenses/by-nc-sa/3.0/)
1113
%
@@ -864,6 +866,52 @@ \subsection{Authorship guidelines}
864866
feel you don't have the appropriate account type, please communicate
865867
your concerns to \director.
866868

869+
\newthought{Setting up your development environment}
870+
\label{sec:dev-environment}
871+
872+
\noindent To ensure all lab members have consistent development environments,
873+
we provide an automated setup script. The script installs standard applications
874+
and creates a Python environment with all necessary packages for lab research.
875+
876+
\marginnote{\texttt{TASK:} Run the CDL setup script on your computer
877+
by following the instructions below. Verify that all installations
878+
complete successfully.}
879+
880+
\textbf{To run the setup script:}
881+
882+
\textit{On macOS or Linux:}
883+
\begin{verbatim}
884+
curl -fsSL https://raw.githubusercontent.com/
885+
ContextLab/lab-manual/master/scripts/setup.sh | bash
886+
\end{verbatim}
887+
888+
\textit{On Windows (PowerShell as Administrator):}
889+
\begin{verbatim}
890+
irm https://raw.githubusercontent.com/ContextLab/
891+
lab-manual/master/scripts/setup.ps1 | iex
892+
\end{verbatim}
893+
894+
\textbf{What the script installs:}
895+
\begin{itemize}
896+
\item \textbf{Applications:} Slack, VS Code, \LaTeX~distribution, Git, Dropbox
897+
\item \textbf{Python environment:} Miniconda with the \texttt{cdl} conda environment
898+
\item \textbf{Python packages:} NumPy, Pandas, PyTorch, Transformers, HyperTools,
899+
Quail, timecorr, supereeg, and other lab-standard packages
900+
\end{itemize}
901+
902+
\noindent After installation, activate the CDL environment with:
903+
\begin{verbatim}
904+
conda activate cdl
905+
\end{verbatim}
906+
907+
\textbf{Getting help with setup issues:}
908+
\begin{itemize}
909+
\item For software or hardware issues: email \href{mailto:[email protected]}{[email protected]}
910+
\item For lab-specific issues: reach out to \director~via Slack or email
911+
\item For non-urgent questions or general interest problems:
912+
file an issue at \url{https://github.com/ContextLab/lab-manual/issues}
913+
\end{itemize}
914+
867915
\newthought{CITI training}
868916

869917
\noindent Our lab studies human memory,
@@ -1966,6 +2014,10 @@ \chapter{Checklist and signature page}
19662014
have also recompiled the PDF of the lab manual by running
19672015
\texttt{pdflatex} \textbf{twice}, and have ensured that (a) the PDF compiled
19682016
without errors, and (b) the table of contents was generated correctly.
2017+
\item I have run the CDL setup script (described in the
2018+
\hyperref[sec:dev-environment]{Setting up your development environment}
2019+
section) and verified that my development environment is correctly
2020+
configured.
19692021
\item I have access to the following lab calendars:
19702022
Contextual Dynamics Lab, Out of lab, CDL Resources, DHMC Meetings (if
19712023
applicable), and PBS department events.

scripts/cdl-environment.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# CDL Conda Environment
2+
# Contextual Dynamics Laboratory, Dartmouth College
3+
#
4+
# This environment includes all packages needed for CDL research.
5+
#
6+
# To create this environment:
7+
# conda env create -f cdl-environment.yml
8+
#
9+
# To update an existing environment:
10+
# conda env update -n cdl -f cdl-environment.yml --prune
11+
#
12+
# To activate:
13+
# conda activate cdl
14+
#
15+
16+
name: cdl
17+
channels:
18+
- conda-forge
19+
- pytorch
20+
- defaults
21+
22+
dependencies:
23+
# Python version
24+
- python=3.11
25+
26+
# Core scientific computing
27+
- numpy>=1.24
28+
- scipy>=1.11
29+
- pandas>=2.0
30+
- polars>=0.19
31+
32+
# Visualization
33+
- matplotlib>=3.7
34+
- seaborn>=0.12
35+
36+
# Machine learning
37+
- scikit-learn>=1.3
38+
39+
# PyTorch - will install appropriate version for platform (CPU/CUDA/MPS)
40+
- pytorch>=2.0
41+
- torchvision>=0.15
42+
- torchaudio>=2.0
43+
44+
# Jupyter
45+
- jupyter
46+
- jupyterlab
47+
- ipykernel
48+
- ipywidgets
49+
50+
# Interactive plotting
51+
- ipympl
52+
53+
# Utilities
54+
- requests>=2.28
55+
- tqdm
56+
- joblib
57+
- h5py
58+
- pyyaml
59+
60+
# Development tools
61+
- pytest
62+
- pytest-cov
63+
64+
# Neuroimaging (lightweight dependencies)
65+
- nibabel
66+
- nilearn
67+
68+
# pip-installed packages
69+
- pip
70+
- pip:
71+
# Dimensionality reduction
72+
- umap-learn>=0.5
73+
74+
# Transformers and HuggingFace
75+
- transformers>=4.30
76+
- diffusers>=0.21
77+
- datasets>=2.14
78+
- huggingface-hub>=0.17
79+
- accelerate>=0.24
80+
81+
# CDL packages
82+
- hypertools>=0.8
83+
- quail>=0.2
84+
- timecorr>=0.1
85+
- supereeg>=0.2
86+
87+
# Data storage
88+
- deepdish>=0.3
89+
90+
# PPCA for hypertools
91+
- ppca>=0.0.4

0 commit comments

Comments
 (0)