# Projects

Model objects representing projects.

class `renku.core.models.projects.``Project`(name=None, created=NOTHING, version='8', agent_version='pre-0.11.0', template_source=None, template_ref=None, template_id=None, template_version=None, template_metadata='{}', immutable_template_files=NOTHING, automated_update=False, client=None, *, creator=None, id=None)

  Represent a project.

  Method generated by attrs for class Project.

  `as_jsonld`()

    Create JSON-LD.

  classmethod `from_jsonld`(data, client=None)

    Create an instance from JSON-LD data.

  classmethod `from_yaml`(path, client=None)

    Return an instance from a YAML file.

  property `project_id`

    Return the id for the project.

  `to_yaml`(path=None)

    Write an instance to the referenced YAML file.

class `renku.core.models.projects.``ProjectCollection`(client=None)

  Represent projects on the server.

  Example

  Create a project and check its name.

  # >>> project = client.projects.create(name=’test-project’) # >>> project.name # ‘test-project’

  Create a representation of objects on the server.

  class `Meta`

    Information about individual projects.

    `model`

      alias of `renku.core.models.projects.Project`

  `create`(name=None, **kwargs)

    Create a new project.

    Parameters

      name – The name of the project.

    Returns

      An instance of the newly create project.

    Return type

      renku.core.models.projects.Project

class `renku.core.models.projects.``ProjectSchema`(*args, commit=None, client=None, **kwargs)

  Project Schema.

  Create an instance.

  class `Meta`

    Meta class.

    `model`

      alias of `renku.core.models.projects.Project`

  `fix_datetimes`(obj, many=False, **kwargs)

    Pre dump hook.

`renku.core.models.projects.``generate_project_id`(client, name, creator)

  Return the id for the project based on the repo origin remote.