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

# Integrar con Python

> Instala y configura el SDK de Commet para Python.

Instala la Commet Skill para que tu agente integre el SDK actual y valide su trabajo contra el contrato vivo de la API.

```bash theme={null}
npx skills add commet-labs/skills --skill commet
```

<Steps>
  <Step title="Instalar">
    <Tabs>
      <Tab title="pip">
        ```bash theme={null}
        pip install commet-sdk
        ```
      </Tab>

      <Tab title="uv">
        ```bash theme={null}
        uv add commet-sdk
        ```
      </Tab>

      <Tab title="poetry">
        ```bash theme={null}
        poetry add commet-sdk
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Configurar">
    ```bash title=".env" theme={null}
    COMMET_API_KEY=ck_sandbox_xxx
    ```

    ```python title="commet_client.py" theme={null}
    import os

    from commet import Commet

    commet = Commet(
        api_key=os.environ["COMMET_API_KEY"],
    )
    ```
  </Step>

  <Step title="Crear cliente y suscribir">
    `customers.create` es idempotente — si ya existe un cliente con el mismo `id`, devuelve el registro existente.

    ```python theme={null}
    response = commet.customers.create(
        email="user@example.com",
        id="user_123",
    )

    subscription = commet.subscriptions.create(
        customer_id="user_123",
        plan_code="pro",
    )

    checkout_url = subscription.checkout_url
    ```

    El cliente es redirigido al checkout para completar el pago.
  </Step>

  <Step title="Verificar acceso">
    ```python theme={null}
    sub = commet.subscriptions.get_active(customer_id="user_123")
    status = sub.status if sub else None

    access = commet.feature_access.get(code="custom_branding", customer_id="user_123")
    allowed = access.allowed
    ```
  </Step>

  <Step title="Trackear uso">
    ```python theme={null}
    commet.usage.track(
        customer_id="user_123",
        feature_code="api_calls",
        value=1,
    )
    ```

    El uso se agrega y se cobra al final del período.
  </Step>

  <Step title="Operaciones multiples">
    Llama cada recurso directamente con `customer_id`:

    ```python theme={null}
    commet.usage.track(customer_id="user_123", feature_code="api_calls", value=1)
    commet.feature_access.get(code="custom_branding", customer_id="user_123")
    commet.seats.add(customer_id="user_123", feature_code="editor", count=3)
    ```
  </Step>
</Steps>

## Relacionado

* [Flask](/docs/es/integrate-with-flask)
* [FastAPI](/docs/es/integrate-with-fastapi)
* [Django](/docs/es/integrate-with-django)
* [Referencia del SDK](/docs/es/sdk-reference)


## Related topics

- [Integrar con Flask](/docs/es/integrate-with-flask.md)
- [Integrar con Django](/docs/es/integrate-with-django.md)
- [Integrar con FastAPI](/docs/es/integrate-with-fastapi.md)
- [Integrar con Java](/docs/es/integrate-with-java.md)
- [Integrar con Encore](/docs/es/integrate-with-encore.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.