gitcode_api.resources.repositories

Classes for resource groups: branches, commits, file contents, and repositories.

class AsyncBranchesResource(client: AsyncAPIClient)

Bases: AsyncResource, AbstractBranchesResource

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, AbstractCommitsResource

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.

class AsyncRepoContentsResource(client: AsyncAPIClient)

Bases: AsyncResource, AbstractRepoContentsResource

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 AsyncReposResource(client: AsyncAPIClient)

Bases: AsyncResource, AbstractReposResource

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 BranchesResource(client: SyncAPIClient)

Bases: SyncResource, AbstractBranchesResource

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, AbstractCommitsResource

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 RepoContentsResource(client: SyncAPIClient)

Bases: SyncResource, AbstractRepoContentsResource

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 ReposResource(client: SyncAPIClient)

Bases: SyncResource, AbstractReposResource

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.