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

# Commit y Upload

> En esta sección aprenderás a realizar commits y uploads usando el Client, la Application y la CLI.

Puedes realizar commits y uploads usando Client o Application. Solo
necesitas un objeto `squarecloud.File` y pasar la ruta donde se encuentra tu
archivo zip.

## Realizar un commit

<Tabs>
  <Tab title="Usando Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client('API_KEY')

    async def example():
        file = square.File('path/to/you/file.zip')
        await client.commit(file=file, app_id='application_id')
    ```
  </Tab>

  <Tab title="Usando Application">
    ```python theme={null}
    import squarecloud as square

    client = square.Client('API_KEY')

    async def example():
        app = await client.app(app_id='application_id')
        file = square.File('path/to/you/file.zip')
        await app.commit(file=file)
    ```
  </Tab>
</Tabs>

## Realizar un upload

Para subir una aplicación, solo puedes usar el \[Client].

<Tabs>
  <Tab title="Usando Client">
    ```python theme={null}
    import squarecloud as square

    client = square.Client(...)

    async def example():
        file = square.File('path/to/you/file.zip')
        await client.upload_app(file=file)
    ```
  </Tab>
</Tabs>

**Recuerda que para subir una aplicación necesitas un zip que contenga (al menos) los siguientes archivos:**:

* Archivo principal: responsable de iniciar tu aplicación
* Archivo de dependencias: contiene información sobre qué dependencias son necesarias
* Archivo de configuración (squarecloud.app): un archivo de configuración que especifica el
  nombre,
  la descripción, el nombre del archivo principal, la versión, etc. Para saber más sobre el
  archivo de configuración, echa un vistazo a esta [guía](https://docs.squarecloud.app/es/getting-started/config-file).

<Tip>
  Para tu comodidad, se ha añadido una clase para crear este archivo de configuración:
  `squarecloud.utils.ConfigFile`.
</Tip>
