# The submodule

A submodule is a foreign repository that is embedded within a dedicated subdirectory of the repositories tree.

`Repository.``lookup_submodule`(path)

`Repository.``listall_submodules`() → [str, ...]

  Return a list with all submodule paths in the repository.

## The Submodule type

`Submodule.``open`()

  Open the repository for a submodule.

`Submodule.``name`

  Name of the submodule.

`Submodule.``path`

  Path of the submodule.

`Submodule.``url`

  URL of the submodule.

`Submodule.``branch`

  Branch that is to be tracked by the submodule.