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

# Registre

export const GitHubLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="github-source-link">
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
    </svg>
    Source GitHub
  </a>;

<GitHubLink url="https://github.com/wandb/wandb/blob/main/wandb/apis/public/registries/registry.py" />

## <kbd>class</kbd> `Registry`

Un registre au sein du registre.

### <kbd>méthode</kbd> `Registry.__init__`

```python theme={null}
__init__(
    service_api: 'ServiceApi',
    organization: 'str',
    entity: 'str',
    name: 'str',
    attrs: 'RegistryFragment | None' = None
)
```

***

### <kbd>propriété</kbd> Registry.allow\_all\_artifact\_types

Indique si tous les types d'artifacts sont autorisés dans le registre.

Si `True`, des artifacts de tout type peuvent être ajoutés. Si `False`, les artifacts sont limités aux types répertoriés dans `artifact_types`.

**Retourne :**

* `bool` : La valeur de la propriété allow\_all\_artifact\_types.

***

### <kbd>propriété</kbd> Registry.artifact\_types

Renvoie les types d'artifact autorisés dans le registre.

Si `allow_all_artifact_types` vaut `True`, `artifact_types` reflète les types précédemment enregistrés ou actuellement utilisés dans le registre. Si `allow_all_artifact_types` vaut `False`, les artifacts sont limités aux types figurant dans `artifact_types`.

**Remarque :**

> Les types d'artifact précédemment enregistrés ne peuvent pas être supprimés.

**Exemple :**

```python theme={null}
import wandb

registry = wandb.Api().create_registry()
registry.artifact_types.append("model")
registry.save()  # une fois sauvegardé, le type d'artifact `model` ne peut plus être supprimé
registry.artifact_types.append("accidentally_added")
registry.artifact_types.remove(
     "accidentally_added"
)  # Les types ne peuvent être supprimés que s'ils n'ont pas encore été sauvegardés
```

**Retourne :**

* `AddOnlyArtifactTypesList` : la valeur de la propriété artifact\_types.

***

### <kbd>propriété</kbd> Registry.created\_at

Horodatage de création du registre.

**Retourne :**

* `str` : La valeur de la propriété created\_at.

***

### <kbd>propriété</kbd> registre.description

Description du registre.

**Retourne :**

* `str | None` : La valeur de la propriété description.

***

### <kbd>propriété</kbd> Registry.entity

Entité de l’organisation du registre.

**Retourne :**

* `str` : La valeur de la propriété entité.

***

### <kbd>propriété</kbd> Registry.full\_name

Nom complet du registre, préfixe `wandb-registry-` inclus.

**Retourne :**

* `str` : La valeur de la propriété `full_name`.

***

### <kbd>propriété</kbd> Registry.id

L’ID unique de ce registre.

**Retourne :**

* `str` : La valeur de la propriété id.

***

### <kbd>propriété</kbd> Registry.name

Nom du registre sans le préfixe `wandb-registry-`.

**Retourne :**

* `str` : La valeur de la propriété `name`.

***

### <kbd>propriété</kbd> Registry.organization

Nom de l’organisation du registre.

**Retourne :**

* `str` : La valeur de la propriété « organisation ».

***

### <kbd>propriété</kbd> Registry.path

***

### <kbd>propriété</kbd> Registry.updated\_at

Horodatage de la dernière mise à jour du registre.

**Retourne :**

* `str` : La valeur de la propriété updated\_at.

***

### <kbd>propriété</kbd> Registry.visibility

Visibilité du registre.

**Retourne :**

* `Literal["organization", "restricted"]` :  Le niveau de visibilité.
  * "organization" : Toute personne de l’organisation peut consulter ce registre. Vous pourrez modifier ses rôles plus tard depuis Settings dans l’interface utilisateur.
  * "restricted" : Seuls les membres invités via l’interface utilisateur peuvent accéder à ce registre. Le partage public est désactivé.

**Retourne :**

* `Literal['organization', 'restricted']` : La valeur de la propriété de visibilité.

***

### <kbd>méthode</kbd> `Registry.add_members`

```python theme={null}
add_members(*members: 'User | UserMember | Team | TeamMember | str') → Self
```

Ajoute des Users ou des équipes à ce registre.

**Arguments :**

* `members`:  Les Users ou équipes à ajouter au registre. Accepte des objets `User`, des objets `Team` ou leurs ID sous forme de chaîne.

**Retourne :**
Ce registre, pour permettre d’enchaîner d’autres méthodes si nécessaire.

**Exceptions levées :**

* `TypeError`:  Si aucun membre n’est passé en argument.
* `ValueError`:  S’il est impossible de déduire ou d’analyser les ID d’utilisateur ou d’équipe.

**Exemples :**

```python theme={null}
import wandb

api = wandb.Api()

<div id="fetch-an-existing-registry">
  # Récupérer un registre existant
</div>

registry = api.registry(name="my-registry", organization="my-org")

user1 = api.user(username="some-user")
user2 = api.user(username="other-user")
registry.add_members(user1, user2)

my_team = api.team(name="my-team")
registry.add_members(my_team)
```

***

### <kbd>méthode</kbd> `Registry.collections`

```python theme={null}
collections(
    filter: 'dict[str, Any] | None' = None,
    order: 'str | None' = None,
    per_page: 'PositiveInt' = 100,
    start: 'str | None' = None
) → Collections
```

Renvoie les collections appartenant à ce registre.

**Arguments :**

* `filter` :  Mappage facultatif des filtres à appliquer à la requête de collections.
* `order` :  Chaîne facultative permettant de spécifier l'ordre des résultats.  S'il est préfixé par '+', le tri est croissant (par défaut).  S'il est préfixé par '-', le tri est décroissant.
* `per_page` :  Nombre de résultats à récupérer par page.  Il n'est généralement pas nécessaire de le modifier.
* `start` :  Curseur de pagination permettant de reprendre une requête antérieure, obtenu à partir de l'attribut `.cursor` d'un paginateur précédent.

***

### <kbd>méthode de classe</kbd> `Registry.create`

```python theme={null}
create(
    api: 'Api',
    organization: 'str',
    name: 'str',
    visibility: "Literal['organization', 'restricted']",
    description: 'str | None' = None,
    artifact_types: 'list[str] | None' = None
) → Self
```

Créer un nouveau registre.

Le nom du registre doit être unique au sein de l’organisation. Cette fonction doit être appelée via `api.create_registry()`

**Arguments :**

* `api`:  L’instance d’API W\&B.
* `organization`:  Le nom de l’organisation.
* `name`:  Le nom du registre (sans le préfixe `wandb-registry-`).
* `visibility`:  Le niveau de visibilité (`'organization'` ou `'restricted'`).
* `description`:  Une description facultative du registre.
* `artifact_types`:  Une liste facultative des types d'artifact autorisés.

**Retourne :**

* `Registre`:  L’objet Registre nouvellement créé.

**Exceptions levées :**

* `ValueError`:  Si un registre portant le même nom existe déjà dans l’organisation, ou si sa création échoue.

***

### <kbd>méthode</kbd> `Registry.delete`

```python theme={null}
delete() → None
```

Supprimez le registre. Cette action est irréversible.

***

### <kbd>méthode</kbd> `Registry.load`

```python theme={null}
load() → None
```

Charge les attributs du registre à partir du backend.

***

### <kbd>méthode</kbd> `Registry.members`

```python theme={null}
members() → list[UserMember | TeamMember]
```

Renvoie les membres actuels (Users et équipes) de ce registre.

***

### <kbd>méthode</kbd> `Registry.remove_members`

```python theme={null}
remove_members(*members: 'User | UserMember | Team | TeamMember | str') → Self
```

Supprime des Users ou des équipes de ce registre.

**Arguments :**

* `members`:  Les Users ou équipes à supprimer du registre. Accepte des objets `User`, des objets `Team` ou leurs ID sous forme de chaîne.

**Retourne :**
Ce registre, pour pouvoir chaîner d'autres méthodes si nécessaire.

**Exceptions levées :**

* `TypeError`:  Si aucun membre n'est passé en argument.
* `ValueError`:  S'il est impossible de déduire ou d'analyser les ID d'utilisateur ou d'équipe.

**Exemples :**

```python theme={null}
import wandb

api = wandb.Api()

<div id="fetch-an-existing-registry">
  # Récupérer un registre existant
</div>

registry = api.registry(name="my-registry", organization="my-org")

user1 = api.user(username="some-user")
user2 = api.user(username="other-user")
registry.remove_members(user1, user2)

old_team = api.team(name="old-team")
registry.remove_members(old_team)
```

***

### <kbd>méthode</kbd> `Registry.save`

```python theme={null}
save() → None
```

Enregistrer les attributs du registre dans le backend.

***

### <kbd>méthode</kbd> `Registry.team_members`

```python theme={null}
team_members() → list[TeamMember]
```

Renvoie les équipes actuellement membres de ce registre.

***

### <kbd>méthode</kbd> `Registry.update_member`

```python theme={null}
update_member(
    member: 'User | UserMember | Team | TeamMember | str',
    role: 'MemberRole | str'
) → Self
```

Met à jour le rôle d’un membre (utilisateur ou équipe) dans ce registre.

**Arguments :**

* `member`:  L’utilisateur ou l’équipe dont le rôle doit être mis à jour.  Accepte un objet `User`, un objet `Team` ou leur ID sous forme de chaîne.
* `role`:  Le nouveau rôle à attribuer au membre. Peut être l’un des suivants :
  * "admin"
  * "member"
  * "viewer"
  * "restricted\_viewer" (si pris en charge par le serveur W\&B)

**Retourne :**
Ce registre, pour permettre un chaînage de méthodes supplémentaire si nécessaire.

**Exceptions levées :**

* `ValueError`:  S’il est impossible de déterminer l’ID de l’utilisateur ou de l’équipe.

**Exemples :**
Attribuez le rôle d’administrateur à tous les utilisateurs du registre \`\`\`python
import wandb

api = wandb.Api()

<div id="fetch-an-existing-registry">
  # Récupérer un registre existant
</div>

registry = api.registry(name="my-registry", organization="my-org")

for member in registry.user\_members():
registry.update\_member(member.user, role="admin")

````

---

### <kbd>méthode</kbd> `Registry.user_members`

```python
user_members() → list[UserMember]
````

Renvoie les utilisateurs actuellement membres de ce registre.

***

### <kbd>méthode</kbd> `Registry.versions`

```python theme={null}
versions(
    filter: 'dict[str, Any] | None' = None,
    per_page: 'PositiveInt' = 100,
    start: 'str | None' = None
) → Versions
```

Renvoie les versions d'artifact de ce registre.

**Arguments :**

* `filter`:  Mappage facultatif des filtres à appliquer à la requête de versions d'artifact.
* `per_page`:  Le nombre de résultats à récupérer par page.  En général, il n'y a aucune raison de modifier cette valeur.
* `start`:  Curseur de pagination pour reprendre une requête précédente, capturé à partir de l'attribut `.cursor` d'un paginateur précédent.
