# get\_or\_create\_project

<pre class="language-python"><code class="lang-python">dbnl.get_or_create_project(
    *,
    name: str,
    description: Optional[str] = None,
) -> <a data-footnote-ref href="#user-content-fn-1">Project</a>:
</code></pre>

## Parameters

<table><thead><tr><th width="173">Arguments</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td>The name for the dbnl <a href="/pages/vfXFauh5ZnUjluqFCP7i">Project</a>. A new Project will be created with this name if there does not exist a Project with this name already. If there does exist a project with this name, the pre-existing Project will be returned.</td></tr><tr><td><code>description</code></td><td>An optional description for the dbnl Project, defaults to <code>None</code>. Description is limited to 255 characters. </td></tr></tbody></table>

{% hint style="warning" %}
Description cannot be updated with this function.
{% endhint %}

## Returns

<table><thead><tr><th width="156">Type</th><th>Description</th></tr></thead><tbody><tr><td><a href="/pages/vfXFauh5ZnUjluqFCP7i">Project</a></td><td>A new Project will be created with the specified name if there does not exist a Project with this name already. If there does exist a project with the name, the pre-existing Project will be returned.</td></tr></tbody></table>

## Examples

```python
import dbnl
dbnl.login()


proj_1 = dbnl.create_project(name="test_p1")
proj_2 = dbnl.get_or_create_project(name="test_p1")

# Calling get_or_create_project will yield same Project object
assert proj_1.id == proj_2.id
```

[^1]: [Project](/v0.20.x/using-distributional/python-sdk/sdk-objects/project.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dbnl.com/v0.20.x/using-distributional/python-sdk/sdk-functions/project/get_or_create_project.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
