> For the complete documentation index, see [llms.txt](https://docs.datasaur.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.datasaur.ai/api/create-new-project/python-script-example.md).

# Python Script Example

## Usage Requirement

* This feature will only work in a [**team workspace**](/workspace-management/workspace.md).
* Ensure pip3 and the python3 CLI are installed on the machine.

## Installation

1. Download or clone this [repository](https://github.com/datasaur-ai/api-client-example) and go to the directory.
2. Run `pip3 install -r requirements.txt`.

## Guide

#### 1. Generate your OAuth credentials

The instructions can be found [here](/api/credentials.md). Save the credentials securely, we will use it for the next step.

#### 2. Set up a project via Custom Project

We have five steps here. Set up your project until reaching Step 5 (Project Settings). Ensure all desired project configurations are properly set.

#### 3. In the Step 5, click “View Script” in the top right corner

<figure><img src="/files/QrS1g0zNarIZKjCWXqKK" alt=""><figcaption><p>Figure 1: Step 5 of Project Creation Wizard Default UI</p></figcaption></figure>

**4. Copy the configuration by clicking the icon on the top right corner of the UI**

<figure><img src="/files/SILnBwhAFX9VDJfEErEH" alt=""><figcaption><p>Figure 2: Step 5 of Project Creation Wizard View Script</p></figcaption></figure>

#### 5. Paste the configuration to create\_project.json

The file is located in the `api-client-example/create-project-async` folder.

#### 6. Insert your dataset for the project in the `api-client-example/create-project-async/documents` folder

All files inside the folder will be treated as the project's documents. Make sure you remove any files that don't belong to the project.

#### 7. Run the command on your terminal to create the project

Navigate to `api-client-example/create-project-async` first before running the command. Note that this API only submits a job, not a synchronous process. Thus, we need to make sure whether the job is successful which will be covered in the next step.

```python
python3 api_client.py create_project \
  --base_url https://app.datasaur.ai \
  --client_id YOUR_CLIENT_ID \
  --client_secret YOUR_CLIENT_SECRET \
  --team_id YOUR_TEAM_ID
 
# for windows replace \ with ^
```

#### 8. Run this command to track your project creation status

The `job_id` will be provided in the previous step along with the full command in the response. The detailed of this API could be seen [here](/api/get-data/check-job.md).

```bash
python3 api_client.py get_job_status \
  --base_url https://app.datasaur.ai \
  --client_id YOUR_CLIENT_ID \
  --client_secret YOUR_CLIENT_SECRET \
  --job_id YOUR_JOB_ID
 
# for windows replace \ with ^ 
```

With these instructions, you can successfully create a new project by using a Python script via API.
