class_docstr: A class representing a Project object.
  
  Attributes:
      id: (int) The ID of the project.
      archived: (Mutable, bool) True if experiment is archived, else false.
      description: (Mutable, str) The description of the project.
      n_active_experiments: (int) The number of active experiments in the project.
      n_experiments: (Mutable, int) The number of experiments in the project.
      name: (Mutable, str) Human-friendly name of the project.
      notes: (Mutable, List[Dict[str,str]) Notes about the project. As determined upstream,
          each note is a dict with exactly the keys "name" and "contents".
      username: (Mutable, str) The username of the project owner.
      workspace_id: (int) The ID of the workspace this project belongs to.
class_docstr_tok: ["A","class","representing","a","Project","object",".","Attributes",":","id",":","(","int",")","The","ID","of","the","project",".","archived",":","(","Mutable",",","bool",")","True","if","experiment","is","archived",",","else","false",".","description",":","(","Mutable",",","str",")","The","description","of","the","project",".","n_active_experiments",":","(","int",")","The","number","of","active","experiments","in","the","project",".","n_experiments",":","(","Mutable",",","int",")","The","number","of","experiments","in","the","project",".","name",":","(","Mutable",",","str",")","Human-friendly","name","of","the","project",".","notes",":","(","Mutable",",","List","[","Dict","[","str",",","str","]",")","Notes","about","the","project",".","As","determined","upstream",",","each","note","is","a","dict","with","exactly","the","keys","``","name","''","and","``","contents","''",".","username",":","(","Mutable",",","str",")","The","username","of","the","project","owner",".","workspace_id",":","(","int",")","The","ID","of","the","workspace","this","project","belongs","to","."]
docstr: Create a Project object.
  
  Arguments:
      session: The session to use for API calls.
      project_id: ID of the project.
docstr_tok: ["Create","a","Project","object",".","Arguments",":","session",":","The","session","to","use","for","API","calls",".","project_id",":","ID","of","the","project","."]
code: def __init__(
      self,
      session: api.Session,
      project_id: int,
  ):
      """Create a Project object.
  
      Arguments:
          session: The session to use for API calls.
          project_id: ID of the project.
      """
      self._session = session
      self.id = project_id
  
      # These properties may be mutable and will be set by _hydrate()
      self.archived: Optional[bool] = None
      self.description: Optional[str] = None
      self.n_active_experiments: Optional[int] = None
      self.n_experiments: Optional[int] = None
      self.name: Optional[str] = None
      self.notes: Optional[List[Dict[str, str]]] = None
      self.workspace_id: Optional[int] = None
      self.username: Optional[str] = None
  
file_path: determined/harness/determined/common/experimental/project.py
imports: import itertools
  from typing import Dict, List, Optional
  from determined.common import api
  from determined.common.api import bindings
  from determined.common.experimental import experiment
label_desc: Use image node_id 1 to create a new Project object  with example: obj = Project(session, project_id)