From b9f400cedc62110a3e9c1578e24b9b163aef4797 Mon Sep 17 00:00:00 2001 From: Sricharan Reddy Varra Date: Fri, 11 Oct 2024 10:04:49 -0700 Subject: [PATCH 1/4] removed docker --- .dockerignore | 95 ----------------------------------- .github/workflows/docker.yml | 86 ------------------------------- .github/workflows/release.yml | 6 +-- Dockerfile | 53 ------------------- README.md | 31 +----------- docs/_rtd/data_types.md | 4 -- docs/_rtd/development.md | 39 +------------- docs/_rtd/faq.md | 14 +----- docs/_rtd/windows_setup.md | 45 +++-------------- start_docker.sh | 73 --------------------------- 10 files changed, 12 insertions(+), 434 deletions(-) delete mode 100644 .dockerignore delete mode 100644 .github/workflows/docker.yml delete mode 100644 Dockerfile delete mode 100755 start_docker.sh diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 55917b69b..000000000 --- a/.dockerignore +++ /dev/null @@ -1,95 +0,0 @@ -### Deepcell Specific ### -lib_dormant -app_dormant - -### Development config files ### -.pylintrc -.editorconfig - -### Docker ### -Dockerfile -.dockerignore - -### Git ### -# .git -# .gitigore - - -## data files## -data/ -### Python ### -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover -.hypothesis/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py - -# Flask stuff: -instance/ -.webassets-cache - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# dotenv -.env - -# virtualenv -.venv/ -venv/ -ENV/ -env/ - -.virtual_documents \ No newline at end of file diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml deleted file mode 100644 index 7d93a2a91..000000000 --- a/.github/workflows/docker.yml +++ /dev/null @@ -1,86 +0,0 @@ -name: Build and upload Docker Image - -on: - pull_request: - branches: ["releases/**"] - types: [labeled, opened, synchronize, reopened] - workflow_run: - workflows: [Build Wheels and upload to PyPI] - types: [completed] - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true - -permissions: - contents: read # to fetch code (actions/checkout) - -jobs: - docker_build: - name: Build the Docker Image - # Build docker image on one of two conditions: - # 1. `pypi_publish` workflow runs to completion and succeeds, and the job was triggered by a new release. - # 2. A dev manually dispatched the Build workflow for testing in a releases/X.Y.Z pull request. - if: | - ( - ${{ github.event.workflow_run.conclusion == 'success'}} - && - ${{ github.event_name == 'release' && github.event.action == 'published' }} - ) - || - ( - ${{ github.event_name == 'workflow_dispatch' }} - ) - - runs-on: ubuntu-latest - steps: - - name: Checkout ${{ github.repository }} - uses: actions/checkout@v4 - with: - fetch-depth: 0 - # Checkout the latest release branch - ref: ${{ github.event.workflow_run.head_sha }} - - - name: Set up QEMU (For Linux Arm Containers) - uses: docker/setup-qemu-action@v3 - with: - platforms: arm64 - - # Uses the latest version of Buildx and Buildkit - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - buildkitd-flags: --debug - - - name: Login to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Docker Metadata Information - uses: docker/metadata-action@v5 - id: docker_metadata - with: - github-token: ${{ github.token }} - images: | - ${{ secrets.DOCKERHUB_USERNAME }}/ark-analysis - flavor: | - latest=auto - tags: | - type=ref,event=branch,pattern={{raw}} - type=ref,event=pr,pattern={{raw}} - type=semver,pattern={{raw}} - - - name: Build and Push Docker Image - uses: docker/build-push-action@v5 - with: - context: . - file: Dockerfile - platforms: linux/amd64,linux/arm64 - push: true - tags: ${{ steps.docker_metadata.outputs.tags }} - labels: ${{ steps.docker_metadata.outputs.labels }} - cache-to: type=gha,mode=max - cache-from: type=gha diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 189ec0f80..7c85e1da9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,12 +1,8 @@ -name: Build Wheels and upload to PyPI +name: Publish Python 🐍 distribution 📦 to PyPI and TestPyPI on: - pull_request: - branches: ["releases/**"] - types: [labeled, opened, synchronize, reopened] release: types: [published] - workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 3175dfb35..000000000 --- a/Dockerfile +++ /dev/null @@ -1,53 +0,0 @@ -# ANY CHANGES REQURIE A NEW RELEASE - -# Stage 1: Start from the official Python 3.11 Image: https://hub.docker.com/_/python -FROM python:3.11-slim-bullseye AS base - -# Set environment variable -ENV RUNNING_IN_DOCKER true - -# system maintenance -RUN apt update && apt -y upgrade - -# install gcc -RUN apt install -y gcc - -# install git, curl -RUN apt install -y git curl - -# Install zsh shell -RUN sh -c "$(wget -O- https://github.com/deluan/zsh-in-docker/releases/download/v1.1.5/zsh-in-docker.sh)" --\ - -t robbyrussell \ - -p git \ - -p https://github.com/zsh-users/zsh-autosuggestions \ - -p https://github.com/zsh-users/zsh-completions - -# Stage 2: Installing Ark Analysis -FROM base AS move_ark - -# copy over: setup.py, pyproject.toml, README and start_jupyter.sh script -COPY setup.py pyproject.toml README.md start_jupyter.sh /opt/ark-analysis/ - -# Copy over .git for commit history (dynamic versioning requires this in order to build ark) -COPY .git /opt/ark-analysis/.git - -# Stage 3: Copy templates/ to scripts/ -FROM move_ark AS move_templates - -# copy the scripts over -# this should catch changes to the scripts from updates -COPY templates /opt/ark-analysis/templates - -# Stage 4: Install Ark Analysis -FROM move_templates AS install_ark - -# Install the package and the jupyter-lab extensions -COPY src /opt/ark-analysis/src -RUN cd /opt/ark-analysis && python -m pip install .[lab_ext] - -# Stage 5: Set the working directory, and open Jupyter Lab -FROM install_ark AS open_for_user -WORKDIR /opt/ark-analysis - -# jupyter lab -CMD bash start_jupyter.sh diff --git a/README.md b/README.md index 986bb67e4..fc91757ea 100644 --- a/README.md +++ b/README.md @@ -153,7 +153,7 @@ This will automatically open your browser with a link to our Jupyter notebooks. Be sure to keep this terminal open. **Do not exit the terminal or enter `control-c` until you are finished with the notebooks**. -You can shut down the notebooks and close docker by entering `control-c` in the terminal window. +You can shut down the notebooks by entering `control-c` in the terminal window. **REMEMBER TO DUPLICATE AND RENAME NOTEBOOKS** @@ -251,27 +251,6 @@ the cell expression of that marker when you mouse over the cell in Mantis. ![](docs/_images/mantis_feature_view.png) -### External Hard Drives and Google File Stream - -To configure external hard drive (or google file stream) access, you will have to add this to Dockers file paths in the Preferences menu. - -On Docker for macOS, this can be found in Preferences -> Resources -> File Sharing. Adding `/Volumes` will allow docker to see external drives - -On Docker for Windows with the WSL2 backend, no paths need to be added. However, if using the Hyper-V backend, these paths will need to be added as in the macOS case. - -![](docs/_images/docker_preferences.png) - -Once the path is added, you can run: -``` -bash start_docker.sh --external 'path/added/to/preferences' -``` -or -``` -bash start_docker.sh -e 'path/added/to/preferences' -``` - -to mount the drive into the virtual `/data/external` path inside the docker. - ## Updating the Repository This project is still under development, and we are making frequent changes and improvements. If you want to update the version on your computer to have the latest changes, perform the following steps. Otherwise, we recommend waiting for new releases. @@ -283,13 +262,7 @@ git pull ``` Then, run the command below to update the Jupyter notebooks to the latest version -```sh -./start_docker.sh --update -``` -or -```sh -./start_docker.sh -u -``` + If you have made changes to these notebooks that you would like to keep (specific file paths, settings, custom routines, etc), rename them before updating! diff --git a/docs/_rtd/data_types.md b/docs/_rtd/data_types.md index 15b83651e..9d988dacf 100644 --- a/docs/_rtd/data_types.md +++ b/docs/_rtd/data_types.md @@ -58,10 +58,6 @@ If you are using your own spatial analysis tools to generate information for the * `PRE_CHANNEL_COL`: Set this to be the column name which precedes first channel column. * `POST_CHANNEL_COL`: Set this to be the column name which comes after the last channel column. -Afterwards the Docker Image can be started with the updated settings. -```sh -start_docker.sh -``` --- diff --git a/docs/_rtd/development.md b/docs/_rtd/development.md index 042b2eea8..27ef7238f 100644 --- a/docs/_rtd/development.md +++ b/docs/_rtd/development.md @@ -57,48 +57,11 @@ To verify installation, activate your `conda` environment with `conda activate < You're now set to start working with `ark-analysis`! Please look at [our contributing guidelines](contributing.html) for more information about development. For detailed explanations of the functions available to you in `ark`, please consult the Libraries section of this documentation. -### Updating Ark Analysis in the Docker -**Note** that code changes aren't automatically propagated into the Docker Image. -However there may be times where you would like to work with and test out new changes and features. - -You may update the current version of `ark-analysis` by running the following commands -in the Jupyter Lab terminal. - -```sh -cd /opt/ark-analysis -git pull -pip install . -``` - -#### Using ark functions directly +### Using ark functions directly If you will only be using functions in `ark` without developing on top of it, do not clone the repo. Simply run `pip install ark-analysis` inside the virtual environment to gain access to our functions. To verify installation, type `conda list ark-analysis` after completion. If `ark-analysis` is listed, the installation was successful. You can now access the `ark` library with `import ark`. -### Developing template notebooks via Docker - -If you are using docker for your virtual environment, and plan to develop and commit template notebooks, then you should use the `--develop-notebook-templates` flag for `start_docker.sh`. - -Typically, the `./templates` folder is copied into `./scripts` before starting docker and Jupyter is started within `./scripts`. This enables users of `ark-analysis` to use the notebooks without dirtying the git working directory—doing so would cause merge conflicts on pull. When using `--develop-notebook-templates`, `./templates` is used directly, so changes are changes reflected directly. - -To enable, pass the either `-d` or `--develop-notebook-templates` to `start_docker.sh` - - $ ./start_docker -d - -Now notebooks can be `git diff`ed and `git commit`ed without having to copy changed notedbooks between `./scripts` and `./templates`. - -### Building Docker Images Locally - -It may be useful to be able to manually build a new Docker Image as features get added, changes made and libraries updated. -Specifically, updating Python libraries requires building a new docker image from scratch. - - -Once you are in `ark-analysis`, the Docker Image can be built with the following command. -``` -docker build -t ark-analysis . -``` - -The docker image will now build, and this process can take some time. ### More on xarrays diff --git a/docs/_rtd/faq.md b/docs/_rtd/faq.md index 8f040252c..0aa88b302 100644 --- a/docs/_rtd/faq.md +++ b/docs/_rtd/faq.md @@ -1,26 +1,16 @@ ## FAQ -### When I run the notebook, it says "No module named 'ark'" - -This error generally happens if you run the notebook outside of Docker. Simply running `jupyter notebook` or `jupyter lab` on a notebook will not start Docker for you. You need to explicitly run `bash start_docker.sh` and follow the prompts in our [README](https://github.com/angelolab/ark-analysis/blob/main/README.md). - -If you continue to run into issues, make sure you don't have any other Docker sessions running. - ### I got an error when running the notebook The functions in `ark` have a lot of error checking built in. This means that if any of the arguments are wrong, you will get a ValueError of some kind. There's a good chance that the error message will tell you in very direct terms what the problem is, so please carefully read the error message. For example, if you get an invalid path error, the error message indicate which part of the path doesn't exist, helping you to troubleshoot. -If you're still stuck, please completely close the notebook, kill the docker, and restart everything. If you've exhausted all of these options and are still getting the same error, feel free to open an [issue](https://github.com/angelolab/ark-analysis/issues/new/choose). +If you're still stuck, please completely close the notebook, and restart everything. If you've exhausted all of these options and are still getting the same error, feel free to open an [issue](https://github.com/angelolab/ark-analysis/issues/new/choose). ### My kernel keeps dying -This means Docker is running out of memory. To increase the memory, open Docker Preferences (on Mac, click the whale logo with boxes on the top menu bar, and select Preferences). Select Resources on the left panel, and a slider will appear for Docker memory usage which you can use to increase. - -Keep in mind that you should be careful increasing your Docker memory usage above half of your computer RAM. For example, if you have a 16 GB computer, we recommend not increasing your Docker memory above 8 GB. - -Avoid adjusting the CPUs, Swap, and Disk Image Size sliders. +This could be caused by many things. The most common reason may be memory related, please submit an issue. ### How can I help improve this project? diff --git a/docs/_rtd/windows_setup.md b/docs/_rtd/windows_setup.md index 324d03430..d6c99bac4 100644 --- a/docs/_rtd/windows_setup.md +++ b/docs/_rtd/windows_setup.md @@ -4,12 +4,12 @@ Our repo works runs best on Linux-based systems (which includes Mac OS). If you ### WSL 2 -In order to download Docker, you need to install WSL 2 if you don't already have it. **We find it best to download and configure WSL 2 before anything else**. We recommend using the [Command Prompt](https://en.wikipedia.org/wiki/Cmd.exe) to run these commands (and later ones). You can find it by typing `Command Prompt` in the Windows search bar. +**We find it best to download and configure WSL 2 before anything else**. We recommend using the [Command Prompt](https://en.wikipedia.org/wiki/Cmd.exe) to run these commands (and later ones). You can find it by typing `Command Prompt` in the Windows search bar. The simplest way to install WSL 2 is to run `wsl --install`. If this works, great. Otherwise, you'll have to run these steps: * Open `Windows Features`, you can do this by typing this in the Windows search bar -* Make sure the check box is selected for both `Virtual Machine Platform` and `Windows Subsystem for Linux` +* Make sure the checkbox is selected for both `Virtual Machine Platform` and `Windows Subsystem for Linux` * Restart your machine Now run the following steps: @@ -29,63 +29,30 @@ Go to [git Windows install](https://git-scm.com/download/win) to download the Wi After finishing the installer guidelines, go to your Command Prompt and type `git`. If you get a list of commands you can use with `git`, the installation was successful. -### Docker Desktop - -Go to [Docker for Windows install](https://docs.docker.com/desktop/windows/install) to download `Docker Desktop`. - -Open the shortcut (which should be added to your Desktop after installation) and open `Docker Desktop`. If the engine starts up successfully, Docker has been configured. Note that the engine may take a while to set up properly. - ### Setting up the repo -In your Command Prompt, follow similar steps to clone the `ark-analysis` repo and build the Docker: +In your Command Prompt, follow similar steps to clone the `ark-analysis` repo and build the package.: * Run `git clone https://github.com/angelolab/ark-analysis.git` to clone the `ark-analysis` repo * Run `cd ark-analysis` to enter the cloned repo -* Pull the latest Docker image by running `docker pull angelolab/ark-analysis:latest` -To run the script, you have to use `bash start_docker.sh`. If you run into issues with invalid carriage returns (`\r`), please run the following before trying again: +To run the script, you have to use `bash start_jupyter.sh`. If you run into issues with invalid carriage returns (`\r`), please run the following before trying again: * Run `wsl sudo apt-get install dos2unix` * Run the following commands: - > `wsl dos2unix start_docker.sh` - > `wsl dos2unix start_jupyter.sh` > `wsl dos2unix update_notebooks.sh` -### Addressing `docker` not found - -If you run into this issue, or if you notice `wsl` commands are not displaying any output, it's likely that you will need to adjust the default Linux distribution WSL is pointing to. - -* Run `wsl -l -v`. You should be seeing 3 distros: `Ubuntu-20.04`, `docker-desktop`, and `docker-desktop-data` -* Make sure `Ubuntu-20.04` is starred (`*` to the left) and running. If not, run `wsl --setdefault Ubuntu-20.04` to change the default version. Run `wsl -l -v` again to double check that the changes took effect. -* Restart Docker Desktop by opening the application, clicking the bug logo at the top-right, then clicking `Restart`. -* Run `wsl -l -v` to see if all 3 distros are running. If Ubuntu 20.04 is not running, run `wsl -d Ubuntu-20.04`, then `logout`. - -### Mounting External Drives - -If you wish to mount an external drive to the Docker instance you may do so by adding an argument to the execution of the `start_docker.sh` script. - -If, for example the data is stored on `X:/path/to/external/data/` where `X:/` is your external drive name, you will need to add: - -```bash -bash start_docker.sh --external "/mnt/x/path/to/external/data" -``` - -`X:/` has to be swapped with `/mnt/x/` to be a valid path on WSL. In addition `--external` has a shorthand notation: `-e`. -```bash -bash start_docker.sh -e "/mnt/x/path/to/external/data" -``` -### Mounting Issues +### Mounting Issues with External Drives If Jupyter cannot locate the path to a certain external drive, that likely means WSL failed to mount it correctly. You'll need to restart WSL to force remount all external drives. To do so, run the following steps: * Run `wsl --shutdown` -* Docker Desktop will prompt you in the bottom right to Restart the service. Click `Restart`. -* After a few seconds, run `wsl -l -v`. All 3 Linux distros (Ubuntu 20.04, docker-desktop, and docker-desktop-data) should be running. +* After a few seconds, run `wsl -l -v`. ### If you run into more Windows-specific issues diff --git a/start_docker.sh b/start_docker.sh deleted file mode 100755 index 9d60e5052..000000000 --- a/start_docker.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env bash - -# define the version number, this needs to be updated every new Docker release -VERSION='v0.7.1' - -# check for template developer flag -JUPYTER_DIR='scripts' -update=0 -external='' -while test $# -gt 0 -do - case "$1" in - -n|--develop-notebook-templates) - JUPYTER_DIR='templates' - shift - ;; - -u|--update) - update=1 - shift - ;; - -e|--external) - external="$2" - shift - shift - ;; - *) - echo "$1 is not an accepted option..." - echo "-n, --develop-notebook-templates : Mount templates for direct editing." - echo "-u, --update : Update default scripts and code changes" - echo "-e, --external : Mount external drives to /data/external" - exit - ;; - esac -done - -# update the notebooks in the scripts folder if flag set -if [ $update -ne 0 ] - then - bash update_notebooks.sh -u - else - bash update_notebooks.sh -fi - -# find lowest open port available -PORT=8888 - -until [[ $(netstat -an | grep LISTEN | grep $PORT | wc -l) -eq 0 ]] - do - ((PORT=$PORT+1)) -done - -# define the run parameters -run_params=( - -p $PORT:$PORT - -e JUPYTER_PORT=$PORT - -e JUPYTER_DIR=$JUPYTER_DIR - -e UPDATE_ARK=$update - -v "$PWD/README.md:/opt/ark-analysis/README.md" - -v "$PWD/setup.py:/opt/ark-analysis/setup.py" - -v "$PWD/pyproject.toml:/opt/ark-analysis/pyproject.toml" - -v "$PWD/start_jupyter.sh:/opt/ark-analysis/start_jupyter.sh" - -v "$PWD/src:/opt/ark-analysis/src" - -v "$PWD/scripts:/scripts" - -v "$PWD/data:/data" - -v "$PWD/.git:/opt/ark-analysis/.git" -) -[[ ! -z "$external" ]] && run_params+=(-v "$external:/data/external") - -# remove the old Docker container if one exists, as it may contain different external volumes -docker rm -f $VERSION > /dev/null 2>&1 || true - -# create the Docker container -docker run -it "${run_params[@]}" --name $VERSION angelolab/ark-analysis:$VERSION From d863ac9b17b8363548825e2dce26a4bf0ebcb156 Mon Sep 17 00:00:00 2001 From: Sricharan Reddy Varra Date: Fri, 11 Oct 2024 11:03:55 -0700 Subject: [PATCH 2/4] updated license classifier --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 121e77d83..ec5d4a83e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,7 @@ classifiers = [ "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", - "License :: OSI Approved :: Apache Software License", + "License :: OSI Approved :: MIT License", "Topic :: Scientific/Engineering :: Bio-Informatics", ] urls.Documentation = "https://ark-analysis.readthedocs.io/en/latest/" From ded8bc1cfc673537ac74d8cbb14619f28282bd3d Mon Sep 17 00:00:00 2001 From: Sricharan Reddy Varra Date: Tue, 15 Oct 2024 14:24:06 -0700 Subject: [PATCH 3/4] removed windows setup, added 'no module named ark' suggestion to make sure the environment is used --- docs/_rtd/faq.md | 3 +- docs/_rtd/windows_setup.md | 60 -------------------------------------- 2 files changed, 2 insertions(+), 61 deletions(-) delete mode 100644 docs/_rtd/windows_setup.md diff --git a/docs/_rtd/faq.md b/docs/_rtd/faq.md index 0aa88b302..e721f2a90 100644 --- a/docs/_rtd/faq.md +++ b/docs/_rtd/faq.md @@ -1,5 +1,6 @@ ## FAQ - +### When I run the notebook, it says "No module named 'ark'" +This could be an issue with the `ark_env` Conda environment. Make sure that `ark_env` is activated before opening `jupyter lab`. You can also try to reinstall the package with `pip install ark-analysis`. ### I got an error when running the notebook The functions in `ark` have a lot of error checking built in. This means that if any of the arguments are wrong, you will get a ValueError of some kind. There's a good chance that the error message will tell you in very direct terms what the problem is, so please carefully read the error message. diff --git a/docs/_rtd/windows_setup.md b/docs/_rtd/windows_setup.md deleted file mode 100644 index d6c99bac4..000000000 --- a/docs/_rtd/windows_setup.md +++ /dev/null @@ -1,60 +0,0 @@ -## Windows configuration - -Our repo works runs best on Linux-based systems (which includes Mac OS). If you need to run on Windows, you'll have some extra considerations to take into account. Note that this documentation applies for Windows 10 and Windows 11 machines. - -### WSL 2 - -**We find it best to download and configure WSL 2 before anything else**. We recommend using the [Command Prompt](https://en.wikipedia.org/wiki/Cmd.exe) to run these commands (and later ones). You can find it by typing `Command Prompt` in the Windows search bar. - -The simplest way to install WSL 2 is to run `wsl --install`. If this works, great. Otherwise, you'll have to run these steps: - -* Open `Windows Features`, you can do this by typing this in the Windows search bar -* Make sure the checkbox is selected for both `Virtual Machine Platform` and `Windows Subsystem for Linux` -* Restart your machine - -Now run the following steps: - -* Download the Linux kernel update package. You can find it here: [Linux kernel update package](https://docs.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package). -* Set the version to WSL 2: `wsl --set-default-version 2` -* Type just `wsl` on the command line. You'll likely get an error indicating no installed distributions, meaning you'll need to associate one with your WSL backend. We recommend installing Ubuntu 20.04 LTS in the Microsoft Store. -* Once Ubuntu is installed, open it (it will open the Ubuntu terminal) and set a username and password to finalize installation. -* Run `sudo apt-get update` in the Ubuntu terminal to view all the necessary updates (alternatively, you can run `wsl sudo apt-get update` in the Windows Command Prompt). -* Run `sudo apt-get upgrade` to download and install the necessary updates (alternatively, you can run `wsl sudo apt-get upgrade`). - -Note that if using a VM or the Hyper-V backend, nested virtualization needs to be turned on. This process varies depending on which virtualization platform you use: you'll have to consult their documentation for the how-tos. - -### Download git - -Go to [git Windows install](https://git-scm.com/download/win) to download the Windows installer for `git`. - -After finishing the installer guidelines, go to your Command Prompt and type `git`. If you get a list of commands you can use with `git`, the installation was successful. - -### Setting up the repo - -In your Command Prompt, follow similar steps to clone the `ark-analysis` repo and build the package.: - -* Run `git clone https://github.com/angelolab/ark-analysis.git` to clone the `ark-analysis` repo -* Run `cd ark-analysis` to enter the cloned repo - -To run the script, you have to use `bash start_jupyter.sh`. If you run into issues with invalid carriage returns (`\r`), please run the following before trying again: - -* Run `wsl sudo apt-get install dos2unix` -* Run the following commands: - > `wsl dos2unix start_jupyter.sh` - - > `wsl dos2unix update_notebooks.sh` - - -### Mounting Issues with External Drives - -If Jupyter cannot locate the path to a certain external drive, that likely means WSL failed to mount it correctly. You'll need to restart WSL to force remount all external drives. - -To do so, run the following steps: - -* Run `wsl --shutdown` -* After a few seconds, run `wsl -l -v`. - - -### If you run into more Windows-specific issues - -Please open an [issue](https://github.com/angelolab/ark-analysis/issues) on our GitHub page. Note that our codebase has not been extensively tested on Windows. From d4459b09a891f6c4fde0c9abc57418c20d64945f Mon Sep 17 00:00:00 2001 From: Sricharan Reddy Varra Date: Tue, 15 Oct 2024 14:37:05 -0700 Subject: [PATCH 4/4] adjusted index.rst --- docs/index.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index aa2e8e008..0f76d67dc 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -9,7 +9,6 @@ About MIBI Pipeline <_rtd/pipeline> Data Type Info <_rtd/data_types> Developer Info <_rtd/development> - Windows Configuration Info <_rtd/windows_setup> Contributing Guidelines <_rtd/contributing> FAQ <_rtd/faq>