gitcode_api.resources.repositories

Repository, contents, branch, and commit resource groups.

Classes

AsyncBranchesResource(client)

Asynchronous branch endpoints.

AsyncCommitsResource(client)

Asynchronous commit endpoints.

AsyncRepoContentsResource(client)

Asynchronous repository contents endpoints.

AsyncReposResource(client)

Asynchronous repository endpoints.

BranchesResource(client)

Synchronous branch endpoints.

CommitsResource(client)

Synchronous commit endpoints.

RepoContentsResource(client)

Synchronous repository contents endpoints.

ReposResource(client)

Synchronous repository endpoints.

class ReposResource(client: SyncAPIClient)

Bases: SyncResource

Synchronous repository endpoints.

Bind the resource to a synchronous API client.

get(*, owner: str | None = None, repo: str | None = None) Repository

Get a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository metadata.

list_user(*, visibility: str | None = None, affiliation: str | None = None, type: str | None = None, sort: str | None = None, direction: str | None = None, q: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List repositories visible to the authenticated user.

Parameters:
  • visibility – Visibility filter such as public, private, or all.

  • affiliation – Ownership filter accepted by the REST API.

  • type – Repository type filter.

  • sort – Sort field such as created or full_name.

  • direction – Sort direction.

  • q – Optional keyword filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

list_for_owner(*, owner: str, type: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List public repositories for a user or owner path.

Parameters:
  • owner – Repository owner path or username.

  • type – Repository type filter.

  • sort – Sort field.

  • direction – Sort direction.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

create_personal(*, name: str, description: str | None = None, path: str | None = None, private: bool | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository for the authenticated user.

Parameters:
  • name – Repository name.

  • description – Repository description.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

create_for_org(*, org: str, name: str, description: str | None = None, homepage: str | None = None, path: str | None = None, private: bool | None = None, public: int | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, can_comment: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository under an organization.

Parameters:
  • org – Organization path or login.

  • name – Repository name.

  • description – Repository description.

  • homepage – Repository homepage URL.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • public – Visibility mode used by the GitCode API.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • can_comment – Whether comments are enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

update(*, owner: str | None = None, repo: str | None = None, **changes) Repository

Update repository metadata.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • changes – Repository fields accepted by the update endpoint.

Returns:

Updated repository metadata.

delete(*, owner: str | None = None, repo: str | None = None) None

Delete a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

fork(*, owner: str | None = None, repo: str | None = None, namespace: str | None = None, path: str | None = None, name: str | None = None) Repository

Fork a repository.

Parameters:
  • owner – Source repository owner path.

  • repo – Source repository name.

  • namespace – Optional destination namespace.

  • path – Optional destination repository path.

  • name – Optional destination repository name.

Returns:

Forked repository metadata.

list_forks(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List forks of a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field.

  • page – Page number.

  • per_page – Page size.

Returns:

Fork repositories.

list_contributors(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Contributor]

List repository contributors.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Contributors for the repository.

list_languages(*, owner: str | None = None, repo: str | None = None) Dict[str, int]

List language statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Mapping of language names to byte counts.

list_stargazers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users who starred a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Users who starred the repository.

list_subscribers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users watching a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Subscribers for the repository.

update_module_settings(*, owner: str | None = None, repo: str | None = None, **settings) ApiStatusResponse

Update repository module settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Module settings accepted by the GitCode API.

Returns:

API response payload.

update_reviewer_settings(*, owner: str | None = None, repo: str | None = None, **settings) RepositoryReviewerSettingsUpdate

Update repository reviewer settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Reviewer settings accepted by the GitCode API.

Returns:

API response payload.

set_org_repo_status(*, org: str, repo: str, **payload) ApiStatusResponse

Update organization repository status metadata.

Parameters:
  • org – Organization path.

  • repo – Repository path.

  • payload – Status fields accepted by the API.

Returns:

API response payload.

transfer_to_org(*, org: str, repo: str, **payload) ApiStatusResponse

Transfer a repository to an organization.

Parameters:
  • org – Destination organization path.

  • repo – Repository path.

  • payload – Transfer options accepted by the API.

Returns:

API response payload.

get_transition(*, owner: str | None = None, repo: str | None = None) RepositoryPermissionMode

Get repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Transition configuration.

update_transition(*, owner: str | None = None, repo: str | None = None, **payload) ApiStatusResponse

Update repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Transition settings accepted by the API.

Returns:

API response payload.

update_push_config(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryPushConfig

Update repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Push configuration values accepted by the API.

Returns:

API response payload.

get_push_config(*, owner: str | None = None, repo: str | None = None) RepositoryPushConfig

Get repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Push configuration payload.

upload_image(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult

Upload an image asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Upload fields accepted by the API.

Returns:

Uploaded image metadata.

upload_file(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult

Upload a file asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Upload fields accepted by the API.

Returns:

Uploaded file metadata.

update_repo_settings(*, owner: str | None = None, repo: str | None = None, **payload) RepositorySettings

Update repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Settings fields accepted by the API.

Returns:

API response payload.

get_repo_settings(*, owner: str | None = None, repo: str | None = None) RepositorySettings

Get repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository settings payload.

get_pull_request_settings(*, owner: str | None = None, repo: str | None = None) PullRequestSettings

Get pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Pull request settings payload.

update_pull_request_settings(*, owner: str | None = None, repo: str | None = None, **payload) PullRequestSettings

Update pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Pull request settings accepted by the API.

Returns:

API response payload.

set_member_role(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember

Set a repository member role.

Parameters:
  • username – Member username or login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • permission – Permission or role name accepted by the API.

Returns:

API response payload.

transfer(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryTransferResult

Transfer a repository to another owner or namespace.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Transfer options accepted by the API.

Returns:

API response payload.

list_customized_roles(*, owner: str | None = None, repo: str | None = None) List[RepositoryCustomizedRole]

List customized roles for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Customized role definitions.

get_download_statistics(*, owner: str | None = None, repo: str | None = None, **params) RepositoryDownloadStatistics

Get download statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters accepted by the statistics endpoint.

Returns:

Download statistics payload.

get_contributor_statistics(*, owner: str | None = None, repo: str | None = None) List[ContributorStatistics]

Get code contribution statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Contributor statistics payload.

list_events(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[APIObject]

List repository events.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository event payloads.

class RepoContentsResource(client: SyncAPIClient)

Bases: SyncResource

Synchronous repository contents endpoints.

Bind the resource to a synchronous API client.

get(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) ContentObject

Get a file or directory entry from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Content metadata and payload details.

create(*, path: str, content: str, message: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Create a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – File content, typically base64-encoded for this API.

  • message – Commit message.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

update(*, path: str, content: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Update a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – Updated file content, typically base64-encoded.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

delete(*, path: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Delete a file from a repository.

Parameters:
  • path – Repository-relative file path.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

list_paths(*, owner: str | None = None, repo: str | None = None, ref_name: str | None = None, file_name: str | None = None) List[str]

List repository paths known to GitCode.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref_name – Optional ref name to inspect.

  • file_name – Optional filename filter.

Returns:

Matching repository paths.

get_tree(*, sha: str, owner: str | None = None, repo: str | None = None, recursive: int | None = None, page: int | None = None, per_page: int | None = None) Tree

Get a Git tree object.

Parameters:
  • sha – Tree SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • recursive – Pass 1 to fetch the tree recursively (query parameter per Repository API).

  • page – Page number for large trees.

  • per_page – Page size for large trees.

Returns:

Tree metadata and entries.

get_blob(*, sha: str, owner: str | None = None, repo: str | None = None) Blob

Get a Git blob object by SHA.

Parameters:
  • sha – Blob SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Blob metadata and content.

get_raw(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) bytes

Download raw file bytes from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Raw file bytes.

class BranchesResource(client: SyncAPIClient)

Bases: SyncResource

Synchronous branch endpoints.

Bind the resource to a synchronous API client.

list(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Branch]

List branches in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field such as name or updated.

  • direction – Sort direction, usually asc or desc.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository branches.

get(*, branch: str, owner: str | None = None, repo: str | None = None) BranchDetail

Get a single branch.

Parameters:
  • branch – Branch name.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Branch details.

create(*, branch: str, ref: str, owner: str | None = None, repo: str | None = None) Branch

Create a branch from an existing ref.

Parameters:
  • branch – New branch name.

  • ref – Starting ref such as a branch, tag, or commit SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Created branch details.

list_protected(*, owner: str | None = None, repo: str | None = None) List[ProtectedBranch]

List protected branch rules for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Protected branch rules.

class CommitsResource(client: SyncAPIClient)

Bases: SyncResource

Synchronous commit endpoints.

Bind the resource to a synchronous API client.

list(*, owner: str | None = None, repo: str | None = None, sha: str | None = None, path: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitSummary]

List commits in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sha – Optional starting SHA or ref.

  • path – Optional file path filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching commits.

get(*, sha: str, owner: str | None = None, repo: str | None = None) Commit

Get a single commit.

Parameters:
  • sha – Commit SHA or branch name accepted by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit details.

compare(*, base: str, head: str, owner: str | None = None, repo: str | None = None) CommitComparison

Compare two refs in a repository.

Parameters:
  • base – Base commit SHA, branch, or tag.

  • head – Head commit SHA, branch, or tag.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comparison payload.

list_comments(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitComment]

List commit comments for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Commit comments.

get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) CommitComment

Get a single commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comment details.

create_comment(*, sha: str, body: str, owner: str | None = None, repo: str | None = None, path: str | None = None, position: int | None = None) CommitComment

Create a comment on a commit.

Parameters:
  • sha – Commit SHA.

  • body – Comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • path – Optional file path associated with the comment.

  • position – Optional diff position.

Returns:

Created commit comment.

update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) CommitComment

Update a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • body – Updated comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Updated commit comment.

delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

class AsyncReposResource(client: AsyncAPIClient)

Bases: AsyncResource

Asynchronous repository endpoints.

Mirrors ReposResource; see that class for parameters and JSON fields (Repository API in docs/rest_api/repos).

Bind the resource to an asynchronous API client.

async get(*, owner: str | None = None, repo: str | None = None) Repository

Get a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository metadata.

async list_user(*, visibility: str | None = None, affiliation: str | None = None, type: str | None = None, sort: str | None = None, direction: str | None = None, q: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List repositories visible to the authenticated user.

Parameters:
  • visibility – Visibility filter such as public, private, or all.

  • affiliation – Ownership filter accepted by the REST API.

  • type – Repository type filter.

  • sort – Sort field such as created or full_name.

  • direction – Sort direction.

  • q – Optional keyword filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

async list_for_owner(*, owner: str, type: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List public repositories for a user or owner path.

Parameters:
  • owner – Repository owner path or username.

  • type – Repository type filter.

  • sort – Sort field.

  • direction – Sort direction.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching repositories.

async create_personal(*, name: str, description: str | None = None, path: str | None = None, private: bool | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository for the authenticated user.

Parameters:
  • name – Repository name.

  • description – Repository description.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

async create_for_org(*, org: str, name: str, description: str | None = None, homepage: str | None = None, path: str | None = None, private: bool | None = None, public: int | None = None, auto_init: bool | None = None, has_issues: bool | None = None, has_wiki: bool | None = None, can_comment: bool | None = None, default_branch: str | None = None, gitignore_template: str | None = None, license_template: str | None = None) Repository

Create a repository under an organization.

Parameters:
  • org – Organization path or login.

  • name – Repository name.

  • description – Repository description.

  • homepage – Repository homepage URL.

  • path – Optional repository path.

  • private – Whether the repository should be private.

  • public – Visibility mode used by the GitCode API.

  • auto_init – Whether to initialize the repository with a README.

  • has_issues – Whether issues are enabled.

  • has_wiki – Whether wiki support is enabled.

  • can_comment – Whether comments are enabled.

  • default_branch – Default branch name when initializing.

  • gitignore_template – Optional gitignore template.

  • license_template – Optional license template.

Returns:

Created repository metadata.

async update(*, owner: str | None = None, repo: str | None = None, **changes) Repository

Update repository metadata.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • changes – Repository fields accepted by the update endpoint.

Returns:

Updated repository metadata.

async delete(*, owner: str | None = None, repo: str | None = None) None

Delete a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

async fork(*, owner: str | None = None, repo: str | None = None, namespace: str | None = None, path: str | None = None, name: str | None = None) Repository

Fork a repository.

Parameters:
  • owner – Source repository owner path.

  • repo – Source repository name.

  • namespace – Optional destination namespace.

  • path – Optional destination repository path.

  • name – Optional destination repository name.

Returns:

Forked repository metadata.

async list_forks(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, page: int | None = None, per_page: int | None = None) List[Repository]

List forks of a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field.

  • page – Page number.

  • per_page – Page size.

Returns:

Fork repositories.

async list_contributors(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[Contributor]

List repository contributors.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Contributors for the repository.

async list_languages(*, owner: str | None = None, repo: str | None = None) Dict[str, int]

List language statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Mapping of language names to byte counts.

async list_stargazers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users who starred a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Users who starred the repository.

async list_subscribers(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[UserSummary]

List users watching a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Subscribers for the repository.

async update_module_settings(*, owner: str | None = None, repo: str | None = None, **settings) ApiStatusResponse

Update repository module settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Module settings accepted by the GitCode API.

Returns:

API response payload.

async update_reviewer_settings(*, owner: str | None = None, repo: str | None = None, **settings) RepositoryReviewerSettingsUpdate

Update repository reviewer settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • settings – Reviewer settings accepted by the GitCode API.

Returns:

API response payload.

async set_org_repo_status(*, org: str, repo: str, **payload) ApiStatusResponse

Update organization repository status metadata.

Parameters:
  • org – Organization path.

  • repo – Repository path.

  • payload – Status fields accepted by the API.

Returns:

API response payload.

async transfer_to_org(*, org: str, repo: str, **payload) ApiStatusResponse

Transfer a repository to an organization.

Parameters:
  • org – Destination organization path.

  • repo – Repository path.

  • payload – Transfer options accepted by the API.

Returns:

API response payload.

async get_transition(*, owner: str | None = None, repo: str | None = None) RepositoryPermissionMode

Get repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Transition configuration.

async update_transition(*, owner: str | None = None, repo: str | None = None, **payload) ApiStatusResponse

Update repository transition settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Transition settings accepted by the API.

Returns:

API response payload.

async update_push_config(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryPushConfig

Update repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Push configuration values accepted by the API.

Returns:

API response payload.

async get_push_config(*, owner: str | None = None, repo: str | None = None) RepositoryPushConfig

Get repository push configuration.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Push configuration payload.

async upload_image(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult

Upload an image asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Upload fields accepted by the API.

Returns:

Uploaded image metadata.

async upload_file(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryUploadResult

Upload a file asset for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Upload fields accepted by the API.

Returns:

Uploaded file metadata.

async update_repo_settings(*, owner: str | None = None, repo: str | None = None, **payload) RepositorySettings

Update repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Settings fields accepted by the API.

Returns:

API response payload.

async get_repo_settings(*, owner: str | None = None, repo: str | None = None) RepositorySettings

Get repository settings.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Repository settings payload.

async get_pull_request_settings(*, owner: str | None = None, repo: str | None = None) PullRequestSettings

Get pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Pull request settings payload.

async update_pull_request_settings(*, owner: str | None = None, repo: str | None = None, **payload) PullRequestSettings

Update pull request settings for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Pull request settings accepted by the API.

Returns:

API response payload.

async set_member_role(*, username: str, owner: str | None = None, repo: str | None = None, permission: str | None = None) RepoMember

Set a repository member role.

Parameters:
  • username – Member username or login.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • permission – Permission or role name accepted by the API.

Returns:

API response payload.

async transfer(*, owner: str | None = None, repo: str | None = None, **payload) RepositoryTransferResult

Transfer a repository to another owner or namespace.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • payload – Transfer options accepted by the API.

Returns:

API response payload.

async list_customized_roles(*, owner: str | None = None, repo: str | None = None) List[RepositoryCustomizedRole]

List customized roles for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Customized role definitions.

async get_download_statistics(*, owner: str | None = None, repo: str | None = None, **params) RepositoryDownloadStatistics

Get download statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • params – Query parameters accepted by the statistics endpoint.

Returns:

Download statistics payload.

async get_contributor_statistics(*, owner: str | None = None, repo: str | None = None) List[ContributorStatistics]

Get code contribution statistics for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Contributor statistics payload.

async list_events(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[APIObject]

List repository events.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository event payloads.

class AsyncRepoContentsResource(client: AsyncAPIClient)

Bases: AsyncResource

Asynchronous repository contents endpoints.

Mirrors RepoContentsResource (contents, trees, blobs, raw files; see docs/rest_api/repos).

Bind the resource to an asynchronous API client.

async get(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) ContentObject

Get a file or directory entry from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Content metadata and payload details.

async create(*, path: str, content: str, message: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Create a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – File content, typically base64-encoded for this API.

  • message – Commit message.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

async update(*, path: str, content: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Update a file in a repository.

Parameters:
  • path – Repository-relative file path.

  • content – Updated file content, typically base64-encoded.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

async delete(*, path: str, message: str, sha: str, owner: str | None = None, repo: str | None = None, branch: str | None = None, author_name: str | None = None, author_email: str | None = None) CommitResult

Delete a file from a repository.

Parameters:
  • path – Repository-relative file path.

  • message – Commit message.

  • sha – Current blob SHA required by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • branch – Optional target branch.

  • author_name – Optional commit author name.

  • author_email – Optional commit author email.

Returns:

Commit result payload.

async list_paths(*, owner: str | None = None, repo: str | None = None, ref_name: str | None = None, file_name: str | None = None) List[str]

List repository paths known to GitCode.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref_name – Optional ref name to inspect.

  • file_name – Optional filename filter.

Returns:

Matching repository paths.

async get_tree(*, sha: str, owner: str | None = None, repo: str | None = None, recursive: int | None = None, page: int | None = None, per_page: int | None = None) Tree

Get a Git tree object.

Parameters:
  • sha – Tree SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • recursive – Pass 1 to fetch the tree recursively (query parameter per Repository API).

  • page – Page number for large trees.

  • per_page – Page size for large trees.

Returns:

Tree metadata and entries.

async get_blob(*, sha: str, owner: str | None = None, repo: str | None = None) Blob

Get a Git blob object by SHA.

Parameters:
  • sha – Blob SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Blob metadata and content.

async get_raw(*, path: str, owner: str | None = None, repo: str | None = None, ref: str | None = None) bytes

Download raw file bytes from a repository.

Parameters:
  • path – Repository-relative file path.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • ref – Optional branch, tag, or commit SHA.

Returns:

Raw file bytes.

class AsyncBranchesResource(client: AsyncAPIClient)

Bases: AsyncResource

Asynchronous branch endpoints.

Mirrors BranchesResource (docs/rest_api/repos/branch).

Bind the resource to an asynchronous API client.

async list(*, owner: str | None = None, repo: str | None = None, sort: str | None = None, direction: str | None = None, page: int | None = None, per_page: int | None = None) List[Branch]

List branches in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sort – Optional sort field such as name or updated.

  • direction – Sort direction, usually asc or desc.

  • page – Page number.

  • per_page – Page size.

Returns:

Repository branches.

async get(*, branch: str, owner: str | None = None, repo: str | None = None) BranchDetail

Get a single branch.

Parameters:
  • branch – Branch name.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Branch details.

async create(*, branch: str, ref: str, owner: str | None = None, repo: str | None = None) Branch

Create a branch from an existing ref.

Parameters:
  • branch – New branch name.

  • ref – Starting ref such as a branch, tag, or commit SHA.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Created branch details.

async list_protected(*, owner: str | None = None, repo: str | None = None) List[ProtectedBranch]

List protected branch rules for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Protected branch rules.

class AsyncCommitsResource(client: AsyncAPIClient)

Bases: AsyncResource

Asynchronous commit endpoints.

Mirrors CommitsResource (docs/rest_api/repos/commit).

Bind the resource to an asynchronous API client.

async list(*, owner: str | None = None, repo: str | None = None, sha: str | None = None, path: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitSummary]

List commits in a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • sha – Optional starting SHA or ref.

  • path – Optional file path filter.

  • page – Page number.

  • per_page – Page size.

Returns:

Matching commits.

async get(*, sha: str, owner: str | None = None, repo: str | None = None) Commit

Get a single commit.

Parameters:
  • sha – Commit SHA or branch name accepted by the API.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit details.

async compare(*, base: str, head: str, owner: str | None = None, repo: str | None = None) CommitComparison

Compare two refs in a repository.

Parameters:
  • base – Base commit SHA, branch, or tag.

  • head – Head commit SHA, branch, or tag.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comparison payload.

async list_comments(*, owner: str | None = None, repo: str | None = None, page: int | None = None, per_page: int | None = None) List[CommitComment]

List commit comments for a repository.

Parameters:
  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • page – Page number.

  • per_page – Page size.

Returns:

Commit comments.

async get_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) CommitComment

Get a single commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Commit comment details.

async create_comment(*, sha: str, body: str, owner: str | None = None, repo: str | None = None, path: str | None = None, position: int | None = None) CommitComment

Create a comment on a commit.

Parameters:
  • sha – Commit SHA.

  • body – Comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

  • path – Optional file path associated with the comment.

  • position – Optional diff position.

Returns:

Created commit comment.

async update_comment(*, comment_id: int | str, body: str, owner: str | None = None, repo: str | None = None) CommitComment

Update a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • body – Updated comment body.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.

Returns:

Updated commit comment.

async delete_comment(*, comment_id: int | str, owner: str | None = None, repo: str | None = None) None

Delete a commit comment.

Parameters:
  • comment_id – Commit comment identifier.

  • owner – Repository owner path. Uses the client default when omitted.

  • repo – Repository name. Uses the client default when omitted.