gitcode_api._base_client
Shared transport helpers for the GitCode SDK.
The classes in this module normalize authentication, URL construction, payload cleanup, and response parsing for both sync and async clients.
Classes
|
Low-level asynchronous HTTP transport used by async resource classes. |
|
Base configuration shared by synchronous and asynchronous clients. |
|
Low-level synchronous HTTP transport used by resource classes. |
- class BaseGitCodeClient(*, 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, decrypt: Callable | None = None)
Bases:
objectBase configuration shared by synchronous and asynchronous clients.
- Parameters:
api_key – Personal access token for the GitCode API.
owner – Default repository owner for repository-scoped calls.
repo – Default repository name for repository-scoped calls.
base_url – Base URL for the GitCode REST API.
timeout – Request timeout in seconds.
decrypt – Optional decryption function for encrypted access token.
Store client configuration and resolve authentication.
- class SyncAPIClient(*, 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:
BaseGitCodeClientLow-level synchronous HTTP transport used by resource classes.
- Parameters:
api_key – Personal access token for the GitCode API.
owner – Default repository owner for repository-scoped calls.
repo – Default repository name for repository-scoped calls.
base_url – Base URL for the GitCode REST API.
timeout – Request timeout in seconds.
http_client – Optional pre-configured
httpx.Clientinstance.decrypt – Optional decryption function for encrypted access token.
Create or reuse an
httpx.Clientfor synchronous requests.- request(method: str, path: str, *, params: Dict[str, Any] | None = None, json: Any = None, data: Dict[str, Any] | None = None, headers: Dict[str, str] | None = None, raw: bool = False) Any
Send an HTTP request to the GitCode API and parse the response.
- Parameters:
method – HTTP method such as
"GET"or"POST".path – Relative API path or absolute URL.
params – Optional query parameters.
json – Optional JSON request body.
data – Optional form payload.
headers – Optional extra HTTP headers.
raw – When
True, return response bytes instead of parsed JSON.
- Returns:
Parsed JSON payload, raw bytes, text, or
None.
- close() None
Close the underlying HTTP client and clear cache for garbage collection.
- class AsyncAPIClient(*, 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:
BaseGitCodeClientLow-level asynchronous HTTP transport used by async resource classes.
- Parameters:
api_key – Personal access token for the GitCode API.
owner – Default repository owner for repository-scoped calls.
repo – Default repository name for repository-scoped calls.
base_url – Base URL for the GitCode REST API.
timeout – Request timeout in seconds.
http_client – Optional pre-configured
httpx.AsyncClientinstance.decrypt – Optional decryption function for encrypted access token.
Create or reuse an
httpx.AsyncClientfor asynchronous requests.- async request(method: str, path: str, *, params: Dict[str, Any] | None = None, json: Any = None, data: Dict[str, Any] | None = None, headers: Dict[str, str] | None = None, raw: bool = False) Any
Send an asynchronous HTTP request to the GitCode API.
- Parameters:
method – HTTP method such as
"GET"or"POST".path – Relative API path or absolute URL.
params – Optional query parameters.
json – Optional JSON request body.
data – Optional form payload.
headers – Optional extra HTTP headers.
raw – When
True, return response bytes instead of parsed JSON.
- Returns:
Parsed JSON payload, raw bytes, text, or
None.
- async close() None
Close the underlying async HTTP client and clear cache for garbage collection.