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

# Project Basics

## Create Projects

To create a Project using the SDK:

1. [Create a Workflow template in the Encord platform](/platform-documentation/Annotate/annotate-projects/annotate-workflows-and-templates#creating-templates).
2. Use the Workflow template ID, highlighted in the screenshot below, as a parameters to the [create\_project()](/sdk-documentation/sdk-references/user_client#create-project) method.

<Tip>To use an existing template when creating a Project, users must have Admin privileges on the template. We recommend creating a copy of the Workflow template before Project creation, to ensure you have Admin privileges. </Tip>

<div class="flex justify-center">
  <img src="https://storage.googleapis.com/docs-media.encord.com/static/img/template-id.png" width="700" />
</div>

<Note>Projects cannot be deleted using the SDK or the API. Use the Encord platform to delete Projects. </Note>

<CodeGroup>
  ```python Sample Code theme={"dark"}
  # Import dependencies
  from encord.user_client import EncordUserClient

  #Authenticate using the path to your private key
  user_client = EncordUserClient.create_with_ssh_private_key(
      ssh_private_key_path="<private_key_path>"
      )

  # Create a project. Substitute a project title, and dataset hashes of the datasets you'd like to attach, as well as the has of the template you want to use
  project = user_client.create_project(
      project_title="<project_title>",
      dataset_hashes=["<dataset_hash_1>", "<dataset_hash_2>"],
      workflow_template_hash="<template_hash>"
  )

  # Prints the hash of the project you've just created
  print(project)

  ```

  ```python Example Output theme={"dark"}
  # The <project_hash>
  "046550d1-13fe-4052-ac99-e6a2d84f9b72"  
  ```
</CodeGroup>

## View Project Details

The following example shows how to retrieve a Project’s status. You can access other Project details in a similar way. For a complete list of available methods, refer to our [SDK reference for the project class](/sdk-documentation/sdk-references/project).

In the following script replace `<project_hash>` with the unique ID of your Project.

<Tip>
  The project ID can be found within the URL once a project has been selected:

  > app.encord.com/projects/view/\<project\_hash>/summary

  > app.us.encord.com/projects/view/\<project\_hash>/summary
</Tip>

<CodeGroup>
  ```python Global theme={"dark"}

  # Import dependencies 
  from encord import EncordUserClient

  # Authenticate using the path to your private key
  user_client = EncordUserClient.create_with_ssh_private_key(ssh_private_key_path="<private_key_path>")

  # Get Project details using the "<project_hash>" as an identifier
  project = user_client.get_project("<project_hash>")

  # Get Project status
  project_status = project.status

  # Print Project status
  print (project.status)

  ```

  ```python US theme={"dark"}

  # Import dependencies 
  from encord import EncordUserClient

  # Authenticate using the path to your private key
  user_client = EncordUserClient.create_with_ssh_private_key(ssh_private_key_path="<private_key_path>", domain="https://api.us.encord.com")

  # Get Project details using the "<project_hash>" as an identifier
  project = user_client.get_project("<project_hash>")

  # Get Project status
  project_status = project.status

  # Print Project status
  print (project.status)

  ```
</CodeGroup>

### View Collaborator Session Information

<Warning>
  This endpoint is deprecated and retrieves collaborator timers from the Legacy Performance Dashboards, not the Upgraded Analytics Dashboard.

  If you want to access the new Analytics Dashboards using the API or SDK contact your Encord team.
</Warning>

Use the `list_collaborator_timers()` method on a ‘project’ object to obtain session information for each collaborator that has worked on the project within a specified range of dates.

<CodeGroup>
  ```python Global theme={"dark"}

  import datetime

  from encord import EncordUserClient, Project

  user_client: EncordUserClient = EncordUserClient.create_with_ssh_private_key(
      "<your_private_key>"
  )
  project: Project = user_client.get_project("<project_hash>")

  for timer in project.list_collaborator_timers(
      after=datetime.datetime.now(datetime.timezone.utc)
      - datetime.timedelta(weeks=1)
  ):
      print(f"Collaborator session: {timer}")
  ```

  ```python US theme={"dark"}

  import datetime

  from encord import EncordUserClient, Project

  user_client: EncordUserClient = EncordUserClient.create_with_ssh_private_key(
      "<your_private_key>", domain="https://api.us.encord.com"
  )
  project: Project = user_client.get_project("<project_hash>")

  for timer in project.list_collaborator_timers(
      after=datetime.datetime.now(datetime.timezone.utc)
      - datetime.timedelta(weeks=1)
  ):
      print(f"Collaborator session: {timer}")
  ```
</CodeGroup>
