# 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.


---

# 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.datasaur.ai/api/create-new-project/python-script-example.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.
