> ## 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.

# Commitar e Fazer Upload

> Nesta seção você aprenderá como fazer commits e uploads utilizando o Client, Application e CLI.

Você pode fazer commits e uploads utilizando o Client ou Application. Você
só precisa de um objeto `squarecloud.File` e passar o caminho onde está seu
arquivo zip.

## Realizando um commit

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

    client = square.Client('CHAVE_API')

    async def exemplo():
        arquivo = square.File('caminho/para/seu/arquivo.zip')
        await client.commit(file=arquivo, app_id='id_aplicacao')
    ```
  </Tab>

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

    client = square.Client('CHAVE_API')

    async def exemplo():
        app = await client.app(app_id='id_aplicacao')
        arquivo = square.File('caminho/para/seu/arquivo.zip')
        await app.commit(file=arquivo)
    ```
  </Tab>
</Tabs>

## Realizando um upload

Para enviar uma aplicação, você pode utilizar apenas o \[Client].

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

    client = square.Client(...)

    async def exemplo():
        arquivo = square.File('caminho/para/seu/arquivo.zip')
        await client.upload_app(file=arquivo)
    ```
  </Tab>
</Tabs>

**Lembre-se que para enviar uma aplicação você precisa de um arquivo zip que contenha (pelo menos) os seguintes arquivos:**:

* Arquivo principal: responsável por iniciar sua aplicação
* Arquivo de dependências: contém informações sobre quais dependências são necessárias
* Arquivo de configuração (squarecloud.app): um arquivo de configuração especificando o nome,
  descrição, nome do arquivo principal, versão, etc. Para saber mais sobre o
  arquivo de configuração, veja este [guia](https://docs.squarecloud.app/pt-br/getting-started/config-file).

<Tip>
  Para sua conveniência, foi adicionada uma classe para criar esse arquivo de configuração:
  `squarecloud.utils.ConfigFile`.
</Tip>
