# Interagindo com Discussões e Pull Requests

Consulte a página de documentação do [HfApi](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi) para a referência dos métodos que permitem interação com Pull Requests e Discussões no Hub.

- [get_repo_discussions()](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi.get_repo_discussions)
- [get_discussion_details()](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi.get_discussion_details)
- [create_discussion()](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi.create_discussion)
- [create_pull_request()](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi.create_pull_request)
- [rename_discussion()](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi.rename_discussion)
- [comment_discussion()](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi.comment_discussion)
- [edit_discussion_comment()](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi.edit_discussion_comment)
- [change_discussion_status()](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi.change_discussion_status)
- [merge_pull_request()](/docs/huggingface_hub/v2.4.0/pt/package_reference/hf_api#huggingface_hub.HfApi.merge_pull_request)

## Estruturas de dados[[huggingface_hub.Discussion]]

#### huggingface_hub.Discussion[[huggingface_hub.Discussion]]

```python
huggingface_hub.Discussion(title: str, status: typing.Literal['open', 'closed', 'merged', 'draft'], num: int, repo_id: str, repo_type: str, author: str, is_pull_request: bool, created_at: datetime, endpoint: str)
```

[Fonte](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L20)

**Parâmetros:**

title (`str`) : O título da Discussão / Pull Request

status (`str`) : O status da Discussão / Pull Request. Deve ser um dos seguintes: * `"open"` * `"closed"` * `"merged"` (somente para Pull Requests) * `"draft"` (somente para Pull Requests)

num (`int`) : O número da Discussão / Pull Request.

repo_id (`str`) : O id (`"{namespace}/{repo_name}"`) do repositório em que a Discussion / Pull Request estava aberta.

repo_type (`str`) : O tipo do repositório em que a Discussão / Pull Request estava aberta. Os valores possíveis são: `"model"`, `"dataset"`, `"space"`.

author (`str`) : O nome de usuário do autor da Discussion / Pull Request. Pode ser `"deleted"` se o usuário tiver sido excluído desde então.

is_pull_request (`bool`) : Indica se este é um Pull Request.

created_at (`datetime`) : O `datetime` de criação da Discussão / Pull Request.

endpoint (`str`) : Endpoint do Hub. O padrão é https://huggingface.co.

git_reference (`str`, *opcional*) : (property) Referência Git para a qual as alterações podem ser enviadas se esta for uma Pull Request, `None` caso contrário.

url (`str`) : (property) URL da discussão no Hub.

Uma Discussão ou Pull Request no Hub.

Esta dataclass não foi projetada para ser instanciada diretamente.

#### huggingface_hub.DiscussionWithDetails[[huggingface_hub.DiscussionWithDetails]]

```python
huggingface_hub.DiscussionWithDetails(title: str, status: typing.Literal['open', 'closed', 'merged', 'draft'], num: int, repo_id: str, repo_type: str, author: str, is_pull_request: bool, created_at: datetime, endpoint: str, events: list, conflicting_files: list[str] | bool | None, target_branch: str | None, merge_commit_oid: str | None, diff: str | None)
```

[Fonte](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L88)

**Parâmetros:**

title (`str`) : O título da Discussão / Pull Request

status (`str`) : O status da Discussão / Pull Request. Pode ser um dos seguintes: * `"open"` * `"closed"` * `"merged"` (somente para Pull Requests) * `"draft"` (somente para Pull Requests)

num (`int`) : O número da Discussão / Pull Request.

repo_id (`str`) : O id (`"{namespace}/{repo_name}"`) do repositório em que a Discussion / Pull Request estava aberta.

repo_type (`str`) : O tipo do repositório em que a Discussão / Pull Request estava aberta. Os valores possíveis são: `"model"`, `"dataset"`, `"space"`.

author (`str`) : O nome de usuário do autor da Discussion / Pull Request. Pode ser `"deleted"` se o usuário tiver sido excluído desde então.

is_pull_request (`bool`) : Indica se este é um Pull Request.

created_at (`datetime`) : O `datetime` de criação da Discussão / Pull Request.

events (`list` de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.DiscussionEvent)) : A lista de `DiscussionEvents` nesta Discussion ou Pull Request.

conflicting_files (`Union[list[str], bool, None]`, *opcional*) : Uma lista de arquivos em conflito, se esta for uma Pull Request. `None` se `self.is_pull_request` for `False`. `True` se houver arquivos em conflito, mas a lista não puder ser recuperada.

target_branch (`str`, *opcional*) : O branch para o qual as alterações serão mescladas, caso se trate de um Pull Request. `None` se `self.is_pull_request` for `False`.

merge_commit_oid (`str`, *opcional*) : Se esta for uma Pull Request mesclada, este valor é definido como o OID/SHA do commit de mesclagem; caso contrário, é `None`.

diff (`str`, *opcional*) : O git diff, se for um Pull Request, `None` caso contrário.

endpoint (`str`) : Endpoint do Hub. O padrão é https://huggingface.co.

git_reference (`str`, *opcional*) : (property) Referência Git para a qual as alterações podem ser enviadas se esta for uma Pull Request, `None` caso contrário.

url (`str`) : (property) URL da discussão no Hub.

Subclasse de [Discussion](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.Discussion).

#### huggingface_hub.DiscussionEvent[[huggingface_hub.DiscussionEvent]]

```python
huggingface_hub.DiscussionEvent(id: str, type: str, created_at: datetime, author: str, _event: dict)
```

[Fonte](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L155)

**Parâmetros:**

id (`str`) : O ID do evento. Uma string hexadecimal.

type (`str`) : O tipo do evento.

created_at (`datetime`) : Um objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contendo o timestamp de criação do evento.

author (`str`) : O nome de usuário do autor da Discussion / Pull Request. Pode ser `"deleted"` se o usuário tiver sido excluído desde então.

Um evento em uma Discussão ou Pull Request.

Use classes concretas:
* [DiscussionComment](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.DiscussionComment)
* [DiscussionStatusChange](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.DiscussionStatusChange)
* [DiscussãoCommit](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.DiscussionCommit)
* [DiscussionTitleChange](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.DiscussionTitleChange)

#### huggingface_hub.DiscussionComment[[huggingface_hub.DiscussionComment]]

```python
huggingface_hub.DiscussionComment(id: str, type: str, created_at: datetime, author: str, _event: dict, content: str, edited: bool, hidden: bool)
```

[Fonte](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L188)

**Parâmetros:**

id (`str`) : O ID do evento. Uma string hexadecimal.

type (`str`) : O tipo do evento.

created_at (`datetime`) : Um objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contendo o timestamp de criação do evento.

author (`str`) : O nome de usuário do autor da Discussion / Pull Request. Pode ser `"deleted"` se o usuário tiver sido excluído desde então.

content (`str`) : O conteúdo bruto em markdown do comentário. Menções, links e imagens não são renderizados.

edited (`bool`) : Indica se este comentário foi editado.

hidden (`bool`) : Indica se este comentário foi ocultado.

Um comentário em uma Discussão / Pull Request.

Subclasse de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.DiscussionEvent).

#### huggingface_hub.DiscussionStatusChange[[huggingface_hub.DiscussionStatusChange]]

```python
huggingface_hub.DiscussionStatusChange(id: str, type: str, created_at: datetime, author: str, _event: dict, new_status: str)
```

[Fonte](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L243)

**Parâmetros:**

id (`str`) : O ID do evento. Uma string hexadecimal.

type (`str`) : O tipo do evento.

created_at (`datetime`) : Um objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contendo o timestamp de criação do evento.

author (`str`) : O nome de usuário do autor da Discussion / Pull Request. Pode ser `"deleted"` se o usuário tiver sido excluído desde então.

new_status (`str`) : O status da Discussion / Pull Request após a alteração. Pode ser um dos seguintes: * `"open"` * `"closed"` * `"merged"` (apenas para Pull Requests)

Uma mudança de status em uma Discussão / Pull Request.

Subclasse de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.DiscussionEvent).

#### huggingface_hub.DiscussionCommit[[huggingface_hub.DiscussionCommit]]

```python
huggingface_hub.DiscussionCommit(id: str, type: str, created_at: datetime, author: str, _event: dict, summary: str, oid: str)
```

[Fonte](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L271)

**Parâmetros:**

id (`str`) : O ID do evento. Uma string hexadecimal.

type (`str`) : O tipo do evento.

created_at (`datetime`) : Um objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contendo o timestamp de criação do evento.

author (`str`) : O nome de usuário do autor da Discussion / Pull Request. Pode ser `"deleted"` se o usuário tiver sido excluído desde então.

summary (`str`) : O resumo do commit.

oid (`str`) : O OID / SHA do commit, como uma string hexadecimal.

Um commit em um Pull Request.

Subclasse de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.DiscussionEvent).

#### huggingface_hub.DiscussionTitleChange[[huggingface_hub.DiscussionTitleChange]]

```python
huggingface_hub.DiscussionTitleChange(id: str, type: str, created_at: datetime, author: str, _event: dict, old_title: str, new_title: str)
```

[Fonte](https://github.com/huggingface/huggingface_hub/blob/v2.4.0/src/huggingface_hub/community.py#L298)

**Parâmetros:**

id (`str`) : O ID do evento. Uma string hexadecimal.

type (`str`) : O tipo do evento.

created_at (`datetime`) : Um objeto [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contendo o timestamp de criação do evento.

author (`str`) : O nome de usuário do autor da Discussion / Pull Request. Pode ser `"deleted"` se o usuário tiver sido excluído desde então.

old_title (`str`) : O título anterior da Discussion / Pull Request.

new_title (`str`) : O novo título.

Um evento de renomeação em uma Discussão / Pull Request.

Subclasse de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/pt/package_reference/community#huggingface_hub.DiscussionEvent).

