docs: def create(self, title, description=None, document_ids=None):
          """
          Creates a new project.
  
          Returns its unique identifer in documentcloud
  
          Example usage:
  
              >> documentcloud.projects.create("The Ruben Salazar Files")
  
          """
          params = {
              'title': title,
          }
          if description:
              params['description'] = description
          params = urllib.parse.urlencode(params, doseq=True)
          if document_ids:
              # These need to be specially formatted in the style documentcloud
              # expects arrays. The example they provide is:
              # ?document_ids[]=28-boumediene&document_ids[]=207-academy\
              # &document_ids[]=30-insider-trading
              params += "".join([
                  '&document_ids[]=%s' % id for id in document_ids
              ])
          response = self._make_request(
              self.BASE_URI + "projects.json",
              params.encode("utf-8")
          )
          new_id = json.loads(response.decode("utf-8"))['project']['id']
          # If it doesn't exist, that suggests the project already exists
          if not new_id:
              raise DuplicateObjectError("The Project title you tried to create \
                  already exists")
          # Fetch the actual project object from the API and return that.
          return self.get(new_id)