> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slai.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Dependencies

> How to add dependencies to your environment

There are four ways to add dependencies to your project:

1. Installing packages one-by-one, for example `tensorflow==2.10.0` (**most common**)
2. Installing packages in bulk from a `requirements.txt`
3. Importing a Github Repo in your sandbox
4. Downloading a package in `setup.sh`

We'll walk through each of these scenarios below.

## Installing Public Python Dependencies

To install packages, click the "Add Dependency" button at the bottom of the page. You can either enter the Python package name to install, or you can upload an existing `requirements.txt` file:

<img src="https://mintcdn.com/slai-docs/x8Ejwqb1sXwT0acS/img/sandbox/environments/sandbox-dependencies.png?fit=max&auto=format&n=x8Ejwqb1sXwT0acS&q=85&s=b347b4a0a3bc162bea64b702f312c5d4" alt="Sandbox dependencies" width="2880" height="1330" data-path="img/sandbox/environments/sandbox-dependencies.png" />

<img src="https://mintcdn.com/slai-docs/x8Ejwqb1sXwT0acS/img/sandbox/environments/add-python-dependency.png?fit=max&auto=format&n=x8Ejwqb1sXwT0acS&q=85&s=e35bb2da428bbda533ec7e6610c836ea" alt="Add Python Dependency" width="794" height="934" data-path="img/sandbox/environments/add-python-dependency.png" />

## Installing Dependencies from Github

You may want to install dependencies from a Github repo. To do so, you can use our Github Integration to import your repo as a submodule dependency in the sandbox.

### Connect your Github account to Slai

First, you'll need to connect your Github to Slai. You can do that on the **Integrations** page.

### Importing a repo into a sandbox

After connecting your Github account to Slai, you can import repos directly into a sandbox.

Click the **+ Add File** icon in the files section, and select **Import from Github**. You can also enter the URL of any Github repo you have read access to.

<img src="https://mintcdn.com/slai-docs/0GTBstnyDK-8Z9OV/img/integrations/github/add-github.svg?fit=max&auto=format&n=0GTBstnyDK-8Z9OV&q=85&s=13f6c65bc6d4557f3f51912da96e4e8c" alt="Add GitHub" width="1008" height="591" data-path="img/integrations/github/add-github.svg" />

You'll be prompted to select from a list of repos in your account.

<img src="https://mintcdn.com/slai-docs/0GTBstnyDK-8Z9OV/img/integrations/github/add-github-1.png?fit=max&auto=format&n=0GTBstnyDK-8Z9OV&q=85&s=09b03f5fa26e35a8ec16b9c5d7f24b2f" alt="List of repos" width="976" height="1244" data-path="img/integrations/github/add-github-1.png" />

### Using imported repos in your projects

After importing a repo, you'll see all the files in the repo added to the file tree.

<img src="https://mintcdn.com/slai-docs/0GTBstnyDK-8Z9OV/img/integrations/github/github-files.png?fit=max&auto=format&n=0GTBstnyDK-8Z9OV&q=85&s=0b67fe1b0eb93669c29d1b4055798a53" alt="GitHub files" width="446" height="1010" data-path="img/integrations/github/github-files.png" />

After importing your repo, you can reference any of the modules like any ordinary Python module.

<img src="https://mintcdn.com/slai-docs/0GTBstnyDK-8Z9OV/img/integrations/github/using-github-files.png?fit=max&auto=format&n=0GTBstnyDK-8Z9OV&q=85&s=2e4a3427050987dfd6daa86eb8b5321a" alt="Using GitHub files" width="718" height="218" data-path="img/integrations/github/using-github-files.png" />

## Installing Custom Dependencies

You may want to use dependencies that aren't public on pip. For this use case, we recommend using the `setup.sh` script. `setup.sh` can be customized with anything that you'd `apt-get install` in a Docker container.

Select the `setup.sh` option in the config section of the sandbox.

<img src="https://mintcdn.com/slai-docs/x8Ejwqb1sXwT0acS/img/user-guides/docker/setup.png?fit=max&auto=format&n=x8Ejwqb1sXwT0acS&q=85&s=f3be6eac64d76d30a9351d12835d95bf" alt="Select the setup.sh" width="450" height="768" data-path="img/user-guides/docker/setup.png" />

Here's an example of how you might use it:

<img src="https://mintcdn.com/slai-docs/x8Ejwqb1sXwT0acS/img/user-guides/docker/example.png?fit=max&auto=format&n=x8Ejwqb1sXwT0acS&q=85&s=1ca0961703e50627216fb4468bc5946f" alt="Example" width="912" height="416" data-path="img/user-guides/docker/example.png" />
