coolipy.async_client
Asynchronous coolipy client.
Classes
class AsyncCoolipy (coolify_api_key: str,
coolify_endpoint: str,
coolify_port: int = 8000,
omit_port: bool = False,
http_protocol: str = 'http',
timeout: float = 30.0,
transport: httpx.AsyncBaseTransport | None = None)-
Expand source code
class AsyncCoolipy: """Asynchronous client for the Coolify API. Args: coolify_api_key: Bearer token used to authenticate with the Coolify API. coolify_endpoint: Hostname or IP of the Coolify instance. coolify_port: Port of the Coolify instance (ignored when ``omit_port``). omit_port: When ``True``, build the base URL without a port. http_protocol: ``"http"`` or ``"https"``. timeout: Request timeout in seconds. transport: Optional httpx async transport override (mainly for testing). """ def __init__( self, coolify_api_key: str, coolify_endpoint: str, coolify_port: int = 8000, omit_port: bool = False, http_protocol: str = "http", timeout: float = 30.0, transport: httpx.AsyncBaseTransport | None = None, ) -> None: if not coolify_api_key: raise CoolipyConfigError("coolify_api_key must be a non-empty string.") base_url = build_base_url(http_protocol, coolify_endpoint, coolify_port, omit_port) self._transport = AsyncTransport( base_url, coolify_api_key, timeout=timeout, transport=transport ) self.applications = AsyncApplications(self._transport) self.databases = AsyncDatabases(self._transport) self.services = AsyncServices(self._transport) self.servers = AsyncServers(self._transport) self.projects = AsyncProjects(self._transport) self.teams = AsyncTeams(self._transport) self.deployments = AsyncDeployments(self._transport) self.tags = AsyncTags(self._transport) self.s3_storages = AsyncS3Storages(self._transport) self.security = AsyncSecurity(self._transport) async def version(self) -> CoolipyAPIResponse[str]: """Get the Coolify version.""" return parse_response(await self._transport.request("GET", "/version"), str) async def health(self) -> CoolipyAPIResponse[str]: """Run the Coolify healthcheck.""" return parse_response(await self._transport.request("GET", "/health"), str) async def enable_api(self) -> CoolipyAPIResponse[SystemMessage]: """Enable the Coolify API (requires root permissions).""" return parse_response(await self._transport.request("POST", "/enable"), SystemMessage) async def disable_api(self) -> CoolipyAPIResponse[SystemMessage]: """Disable the Coolify API (requires root permissions).""" return parse_response(await self._transport.request("POST", "/disable"), SystemMessage) async def enable_mcp(self) -> CoolipyAPIResponse[SystemMessage]: """Enable the Coolify MCP server (requires root permissions).""" return parse_response(await self._transport.request("POST", "/mcp/enable"), SystemMessage) async def disable_mcp(self) -> CoolipyAPIResponse[SystemMessage]: """Disable the Coolify MCP server (requires root permissions).""" return parse_response(await self._transport.request("POST", "/mcp/disable"), SystemMessage) async def close(self) -> None: """Close the underlying HTTP client.""" await self._transport.close() async def __aenter__(self) -> AsyncCoolipy: return self async def __aexit__(self, *exc: object) -> None: await self.close()Asynchronous client for the Coolify API.
- Args
- -----=
coolify_api_key- Bearer token used to authenticate with the Coolify API.
coolify_endpoint- Hostname or IP of the Coolify instance.
coolify_port- Port of the Coolify instance (ignored when
omit_port). omit_port- When
True, build the base URL without a port. http_protocol"http"or"https".timeout- Request timeout in seconds.
transport- Optional httpx async transport override (mainly for testing).
Methods
async def close(self) ‑> None-
Expand source code
async def close(self) -> None: """Close the underlying HTTP client.""" await self._transport.close()Close the underlying HTTP client.
async def disable_api(self) ‑> coolipy._response.CoolipyAPIResponse[SystemMessage]-
Expand source code
async def disable_api(self) -> CoolipyAPIResponse[SystemMessage]: """Disable the Coolify API (requires root permissions).""" return parse_response(await self._transport.request("POST", "/disable"), SystemMessage)Disable the Coolify API (requires root permissions).
async def disable_mcp(self) ‑> coolipy._response.CoolipyAPIResponse[SystemMessage]-
Expand source code
async def disable_mcp(self) -> CoolipyAPIResponse[SystemMessage]: """Disable the Coolify MCP server (requires root permissions).""" return parse_response(await self._transport.request("POST", "/mcp/disable"), SystemMessage)Disable the Coolify MCP server (requires root permissions).
async def enable_api(self) ‑> coolipy._response.CoolipyAPIResponse[SystemMessage]-
Expand source code
async def enable_api(self) -> CoolipyAPIResponse[SystemMessage]: """Enable the Coolify API (requires root permissions).""" return parse_response(await self._transport.request("POST", "/enable"), SystemMessage)Enable the Coolify API (requires root permissions).
async def enable_mcp(self) ‑> coolipy._response.CoolipyAPIResponse[SystemMessage]-
Expand source code
async def enable_mcp(self) -> CoolipyAPIResponse[SystemMessage]: """Enable the Coolify MCP server (requires root permissions).""" return parse_response(await self._transport.request("POST", "/mcp/enable"), SystemMessage)Enable the Coolify MCP server (requires root permissions).
async def health(self) ‑> coolipy._response.CoolipyAPIResponse[str]-
Expand source code
async def health(self) -> CoolipyAPIResponse[str]: """Run the Coolify healthcheck.""" return parse_response(await self._transport.request("GET", "/health"), str)Run the Coolify healthcheck.
async def version(self) ‑> coolipy._response.CoolipyAPIResponse[str]-
Expand source code
async def version(self) -> CoolipyAPIResponse[str]: """Get the Coolify version.""" return parse_response(await self._transport.request("GET", "/version"), str)Get the Coolify version.