*recursively scan this taskpaper object to find a descendant project by name*

        **Key Arguments:**
            - ``projectName`` -- the name, or title, of the project you want to return

        **Return:**
            - ``project`` -- the taskpaper project object you requested (or ``None`` if no project was matched)

        **Usage:**

            .. code-block:: python

                archiveProject = doc.get_project("Archive")

def get_project(
            self,
            projectName):
        """*recursively scan this taskpaper object to find a descendant project by name*

        **Key Arguments:**
            - ``projectName`` -- the name, or title, of the project you want to return

        **Return:**
            - ``project`` -- the taskpaper project object you requested (or ``None`` if no project was matched)

        **Usage:**

            .. code-block:: python

                archiveProject = doc.get_project("Archive")
        """

        if projectName[-1] != ":":
            projectName += ":"
        project = None
        for p in self.projects:
            if p.title.lower() == projectName.lower():
                project = p
                break

        if project == None:
            for p in self.projects:
                project = p.get_project(projectName)
                if project:
                    break

        return project