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

# Gestão de Pacotes e Dependências

O Analytics Lab conta com uma arquitetura moderna de **instalação automática de dependências no sandbox com cache de 24 horas**. Isso elimina a necessidade de enviar arquivos binários pesados ou pastas de dependências locais como `node_modules` ou `.venv`.

***

## ⚡ Como Funciona o Cache de 24 Horas

Quando você executa um teste (`sanalytics test`) ou publica uma versão (`sanalytics deploy`):

1. **Primeira Execução (Cache Miss):** O Analytics Lab detecta o arquivo de dependências (`package.json` ou `requirements.txt`), cria a sandbox no Daytona e realiza a instalação dos pacotes via `npm install` ou `pip install`. O tempo total inicial varia de **5 a 15 segundos**.
2. **Execuções Subsequentes (Cache Hit):** Durante o período de **24 horas**, o ambiente com as dependências instaladas é mantido aquecido e reutilizado quase instantaneamente com tempo de resposta **\< 1 segundo**.

***

## 📦 Declarando Dependências

### 1. No Node.js / JavaScript

Declare seus módulos no arquivo `package.json` na raiz do seu projeto:

```json theme={null}
{
  "name": "google-ads-ingestion",
  "version": "1.0.0",
  "type": "module",
  "dependencies": {
    "google-ads-api": "^21.0.0"
  }
}
```

No seu código (`index.js`), utilize imports ESM nativos:

```javascript theme={null}
import { GoogleAdsApi } from 'google-ads-api';

export async function handler(event, context) {
  // Lógica da sua função
}
```

***

### 2. No Python

Declare as bibliotecas necessárias no arquivo `requirements.txt` na raiz da pasta:

```text theme={null}
requests>=2.31.0
pandas>=2.2.0
```

No seu código (`main.py`):

```python theme={null}
import requests
import pandas as pd

def handler(event, context):
    # Lógica da sua função
```

***

## 📊 Comparativo de Estratégias

| Estratégia                                     | Envio de Pastas Locais (`node_modules` / `.venv`)  | Instalação no Sandbox | Tempo Inicial (Miss)       | Tempo Subsequente (Cache 24h) |
| :--------------------------------------------- | :------------------------------------------------- | :-------------------- | :------------------------- | :---------------------------- |
| **Instalação Automática (Padrão Recomendado)** | ❌ Não (Apenas `package.json` / `requirements.txt`) | ✅ Automático          | \~5s - 15s                 | **\< 1s** ⚡                   |
| **Envio de Zip Pesado (Obsoleto)**             | ⚠️ Sim                                             | ❌ Local               | \~30s - 60s (upload lento) | \~5s - 10s                    |

<Tip>
  Mantenha apenas os pacotes estritamente necessários no seu arquivo de dependências para garantir inicializações mais ágeis e econômicas.
</Tip>
