# Interagir avec les discussions et les demandes de tirage

Consultez la page de documentation de [HfApi](/docs/huggingface_hub/v2.4.0/fr/package_reference/hf_api#huggingface_hub.HfApi) pour la référence des méthodes permettant d’interagir avec les Pull Requests et les Discussions sur le Hub.

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

## Structures de données[[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)
```

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

**Paramètres :**

title (`str`) : Le titre de la Discussion / Pull Request

status (`str`) : L'état de la Discussion / Pull Request. Il doit être l'un des suivants : * `"open"` * `"closed"` * `"merged"` (uniquement pour les Pull Requests) * `"draft"` (uniquement pour les Pull Requests)

num (`int`) : Le numéro de la Discussion / Pull Request.

repo_id (`str`) : l'identifiant (`"{namespace}/{repo_name}"`) du dépôt sur lequel la Discussion / Pull Request était ouverte.

repo_type (`str`) : Le type de dépôt sur lequel la Discussion / Pull Request était ouverte. Les valeurs possibles sont : `"model"`, `"dataset"`, `"space"`.

author (`str`) : Le nom d'utilisateur de l'auteur de la Discussion / Pull Request. Peut être `"deleted"` si l'utilisateur a été supprimé depuis.

is_pull_request (`bool`) : Indique s'il s'agit d'une Pull Request.

created_at (`datetime`) : Le `datetime` de création de la Discussion / Pull Request.

endpoint (`str`) : Point de terminaison du Hub. La valeur par défaut est https://huggingface.co.

git_reference (`str`, *facultatif*) : (propriété) Référence Git vers laquelle les modifications peuvent être poussées s'il s'agit d'une Pull Request, `None` sinon.

url (`str`) : (propriété) URL de la discussion sur le Hub.

Une discussion ou une Pull Request sur le Hub.

Cette dataclass n'est pas destinée à être instanciée directement.

#### 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)
```

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

**Paramètres :**

title (`str`) : Le titre de la Discussion / Pull Request

status (`str`) : L'état de la Discussion / Pull Request. Il peut être l'un des suivants : * `"open"` * `"closed"` * `"merged"` (uniquement pour les Pull Requests) * `"draft"` (uniquement pour les Pull Requests)

num (`int`) : Le numéro de la Discussion / Pull Request.

repo_id (`str`) : l'identifiant (`"{namespace}/{repo_name}"`) du dépôt sur lequel la Discussion / Pull Request était ouverte.

repo_type (`str`) : Le type de dépôt sur lequel la Discussion / Pull Request était ouverte. Les valeurs possibles sont : `"model"`, `"dataset"`, `"space"`.

author (`str`) : Le nom d'utilisateur de l'auteur de la Discussion / Pull Request. Peut être `"deleted"` si l'utilisateur a été supprimé depuis.

is_pull_request (`bool`) : Indique s'il s'agit d'une Pull Request.

created_at (`datetime`) : Le `datetime` de création de la Discussion / Pull Request.

events (`list` de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/fr/package_reference/community#huggingface_hub.DiscussionEvent)) : La liste des `DiscussionEvents` dans cette Discussion ou cette Pull Request.

conflicting_files (`Union[list[str], bool, None]`, *facultatif*) : Une liste de fichiers en conflit s'il s'agit d'une Pull Request. `None` si `self.is_pull_request` est `False`. `True` s'il y a des fichiers en conflit mais que la liste ne peut pas être récupérée.

target_branch (`str`, *facultatif*) : La branche dans laquelle les modifications doivent être fusionnées s'il s'agit d'une Pull Request. `None` si `self.is_pull_request` est `False`.

merge_commit_oid (`str`, *facultatif*) : s'il s'agit d'une Pull Request fusionnée, cette valeur est définie sur l'OID / SHA de la commit de fusion, `None` sinon.

diff (`str`, *facultatif*) : la diff git s'il s'agit d'une Pull Request, `None` sinon.

endpoint (`str`) : Point de terminaison du Hub. La valeur par défaut est https://huggingface.co.

git_reference (`str`, *facultatif*) : (propriété) Référence Git vers laquelle les modifications peuvent être poussées s'il s'agit d'une Pull Request, `None` sinon.

url (`str`) : (propriété) URL de la discussion sur le Hub.

Sous-classe de [Discussion](/docs/huggingface_hub/v2.4.0/fr/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)
```

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

**Paramètres :**

id (`str`) : L'identifiant de l'événement. Une chaîne hexadécimale.

type (`str`) : Le type de l'événement.

created_at (`datetime`) : un objet [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contenant le horodatage de création de l'événement.

author (`str`) : Le nom d'utilisateur de l'auteur de la Discussion / Pull Request. Peut être `"deleted"` si l'utilisateur a été supprimé depuis.

Un événement dans une Discussion ou une Pull Request.

Utilisez des classes concrètes :
* [Commentaire de discussion](/docs/huggingface_hub/v2.4.0/fr/package_reference/community#huggingface_hub.DiscussionComment)
* [DiscussionStatusChange](/docs/huggingface_hub/v2.4.0/fr/package_reference/community#huggingface_hub.DiscussionStatusChange)
* [DiscussionCommit](/docs/huggingface_hub/v2.4.0/fr/package_reference/community#huggingface_hub.DiscussionCommit)
* [DiscussionTitleChange](/docs/huggingface_hub/v2.4.0/fr/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)
```

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

**Paramètres :**

id (`str`) : L'identifiant de l'événement. Une chaîne hexadécimale.

type (`str`) : Le type de l'événement.

created_at (`datetime`) : un objet [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contenant le horodatage de création de l'événement.

author (`str`) : Le nom d'utilisateur de l'auteur de la Discussion / Pull Request. Peut être `"deleted"` si l'utilisateur a été supprimé depuis.

content (`str`) : Le contenu brut en Markdown du commentaire. Les mentions, les liens et les images ne sont pas rendus.

edited (`bool`) : Indique si ce commentaire a été modifié.

hidden (`bool`) : Indique si ce commentaire a été masqué ou non.

Un commentaire dans une Discussion / Pull Request.

Sous-classe de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/fr/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)
```

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

**Paramètres :**

id (`str`) : L'identifiant de l'événement. Une chaîne hexadécimale.

type (`str`) : Le type de l'événement.

created_at (`datetime`) : un objet [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contenant le horodatage de création de l'événement.

author (`str`) : Le nom d'utilisateur de l'auteur de la Discussion / Pull Request. Peut être `"deleted"` si l'utilisateur a été supprimé depuis.

new_status (`str`) : L'état de la Discussion / Pull Request après la modification. Il peut être l'un des suivants : * `"open"` * `"closed"` * `"merged"` (uniquement pour les Pull Requests)

Un changement de statut dans une Discussion / Pull Request.

Sous-classe de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/fr/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)
```

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

**Paramètres :**

id (`str`) : L'identifiant de l'événement. Une chaîne hexadécimale.

type (`str`) : Le type de l'événement.

created_at (`datetime`) : un objet [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contenant le horodatage de création de l'événement.

author (`str`) : Le nom d'utilisateur de l'auteur de la Discussion / Pull Request. Peut être `"deleted"` si l'utilisateur a été supprimé depuis.

summary (`str`) : Le résumé du commit.

oid (`str`) : L'OID / SHA de l'engagement, sous forme de chaîne hexadécimale.

Un commit dans une Pull Request.

Sous-classe de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/fr/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)
```

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

**Paramètres :**

id (`str`) : L'identifiant de l'événement. Une chaîne hexadécimale.

type (`str`) : Le type de l'événement.

created_at (`datetime`) : un objet [`datetime`](https://docs.python.org/3/library/datetime.html?highlight=datetime#datetime.datetime) contenant le horodatage de création de l'événement.

author (`str`) : Le nom d'utilisateur de l'auteur de la Discussion / Pull Request. Peut être `"deleted"` si l'utilisateur a été supprimé depuis.

old_title (`str`) : Le titre précédent de la Discussion / Pull Request.

new_title (`str`) : Le nouveau titre.

Un événement de renommage dans une Discussion / Pull Request.

Sous-classe de [DiscussionEvent](/docs/huggingface_hub/v2.4.0/fr/package_reference/community#huggingface_hub.DiscussionEvent).

