gitcode_api

Public package exports for the GitCode SDK.

class AsyncGitCode(*, api_key: str | None = None, owner: str | None = None, repo: str | None = None, base_url: str = 'https://api.gitcode.com/api/v5', timeout: float | None = None, http_client: AsyncClient | None = None, decrypt: Callable | None = None)

Bases: AsyncAPIClient

Asynchronous GitCode API client.

Parameters:
  • api_key – Personal access token used for GitCode API requests.

  • owner – Default repository owner used by repository-scoped helpers.

  • repo – Default repository name used by repository-scoped helpers.

  • base_url – Base URL for the GitCode REST API.

  • timeout – Request timeout in seconds.

  • http_client – Optional pre-configured httpx.AsyncClient instance.

  • decrypt – Optional decryption function for encrypted access token.

Create an asynchronous client and attach resource groups.

repos: AsyncReposResource

Repository endpoints exposed as client.repos.

contents: AsyncRepoContentsResource

Repository content endpoints exposed as client.contents.

branches: AsyncBranchesResource

Repository branch endpoints exposed as client.branches.

commits: AsyncCommitsResource

Repository commit endpoints exposed as client.commits.

issues: AsyncIssuesResource

Issue endpoints exposed as client.issues.

pulls: AsyncPullsResource

Pull request endpoints exposed as client.pulls.

labels: AsyncLabelsResource

Label endpoints exposed as client.labels.

milestones: AsyncMilestonesResource

Milestone endpoints exposed as client.milestones.

members: AsyncMembersResource

Repository member endpoints exposed as client.members.

releases: AsyncReleasesResource

Release endpoints exposed as client.releases.

tags: AsyncTagsResource

Tag endpoints exposed as client.tags.

webhooks: AsyncWebhooksResource

Webhook endpoints exposed as client.webhooks.

users: AsyncUsersResource

User endpoints exposed as client.users.

orgs: AsyncOrgsResource

Organization endpoints exposed as client.orgs.

search: AsyncSearchResource

Search endpoints exposed as client.search.

oauth: AsyncOAuthResource

OAuth helper endpoints exposed as client.oauth.

class GitCode(*, api_key: str | None = None, owner: str | None = None, repo: str | None = None, base_url: str = 'https://api.gitcode.com/api/v5', timeout: float | None = None, http_client: Client | None = None, decrypt: Callable | None = None)

Bases: SyncAPIClient

Synchronous GitCode API client.

Parameters:
  • api_key – Personal access token used for GitCode API requests.

  • owner – Default repository owner used by repository-scoped helpers.

  • repo – Default repository name used by repository-scoped helpers.

  • base_url – Base URL for the GitCode REST API.

  • timeout – Request timeout in seconds.

  • http_client – Optional pre-configured httpx.Client instance.

  • decrypt – Optional decryption function for encrypted access token.

Create a synchronous client and attach resource groups.

repos: ReposResource

Repository endpoints exposed as client.repos.

contents: RepoContentsResource

Repository content endpoints exposed as client.contents.

branches: BranchesResource

Repository branch endpoints exposed as client.branches.

commits: CommitsResource

Repository commit endpoints exposed as client.commits.

issues: IssuesResource

Issue endpoints exposed as client.issues.

pulls: PullsResource

Pull request endpoints exposed as client.pulls.

labels: LabelsResource

Label endpoints exposed as client.labels.

milestones: MilestonesResource

Milestone endpoints exposed as client.milestones.

members: MembersResource

Repository member endpoints exposed as client.members.

releases: ReleasesResource

Release endpoints exposed as client.releases.

tags: TagsResource

Tag endpoints exposed as client.tags.

webhooks: WebhooksResource

Webhook endpoints exposed as client.webhooks.

users: UsersResource

User endpoints exposed as client.users.

orgs: OrgsResource

Organization endpoints exposed as client.orgs.

search: SearchResource

Search endpoints exposed as client.search.

oauth: OAuthResource

OAuth helper endpoints exposed as client.oauth.

exception GitCodeAPIError(message: str, *, status_code: int, request_id: str | None = None, payload: Any = None)

Bases: GitCodeError

Raised when the GitCode API returns an error response.

Parameters:
  • message – Human-readable error message.

  • status_code – HTTP status code returned by the API.

  • request_id – Optional GitCode request identifier.

  • payload – Parsed error payload when available.

Store structured error metadata from a failed API response.

exception GitCodeConfigurationError

Bases: GitCodeError

Raised when client configuration is incomplete or invalid.

exception GitCodeError

Bases: Exception

Base exception for all GitCode SDK errors.

exception GitCodeHTTPStatusError(message: str, *, status_code: int, request_id: str | None = None, payload: Any = None)

Bases: GitCodeAPIError

Raised for non-success HTTP responses from the GitCode API.

Store structured error metadata from a failed API response.

as_dict(data: APIObject, deep_copy: bool = False) Dict[str, Any]
as_dict(data: List[APIObject], deep_copy: bool = False) List[Dict[str, Any]]

Convert one APIObject to a plain dict, or several to a list of dicts.

Similar to dataclasses.asdict(). Input is converted with to_dict(). When deep_copy is true, each mapping is copied with copy.deepcopy().

Parameters:
  • data – A single response model or a list of them.

  • deep_copy – When true, return deep-copied dicts.

Returns:

A dict for a single input, or a list of dicts for a list input.