# Dataset.create\_next\_version

### Dataset.<mark style="color:purple;">create\_next\_version</mark>(\*, *if\_not\_exists=False*) → [Dataset](https://docs.redivis.com/api/client-libraries/redivis-python/reference/dataset)

Create an unreleased "next" version on the dataset. Will throw an error if the dataset already has a next version, unless `if_not_exists` is set to True. Returns a new dataset instance representing the unreleased version.

### **Parameters:**

**`if_not_exists` :&#x20;*****bool, default False***\
If False (the default), this method will raise an error if the dataset already has a next version. If set to True, the error is ignored and the existing next version of the dataset is returned.

### **Returns:**&#x20;

[**Dataset**](https://docs.redivis.com/api/client-libraries/redivis-python/reference/dataset)

### Examples:

{% tabs %}
{% tab title="Create and release a version" %}

```python
dataset = redivis.user("my_username").dataset("My dataset")
dataset = dataset.create_next_version()

upload = dataset.table("My table").upload("data.csv")

# We can upload new data to existing tables once we have a "next" version
with open("data.csv", "rb") as file:
    upload.upload_file(file)
    
dataset.release()
```

{% endtab %}
{% endtabs %}
