Coolipy (coolipy)
The (un)Official Coolify Python Client
pip install coolipy | github
Sub-modules
coolipy.constants
coolipy.exceptions
coolipy.models
coolipy.services
Classes
class Coolipy (coolify_api_key: str, coolify_endpoint: str, coolify_port: int = 8000, omit_port: bool = False, http_protocol: str = 'http')
-
The main entry point for interacting with the Coolify API using Coolipy.
This class provides methods and modules to access various Coolify resources, such as projects, deployments, servers, and more. It handles authentication, API requests, and resource management for easy integration with the Coolify platform.
Attributes
projects
:Projects
- Manages operations related to projects.
deployments
:Deployments
- Handles deployment-related functionalities.
resources
:Resources
- Provides access to resource management.
servers
:Servers
- Facilitates interactions with server-related endpoints.
private_keys
:PrivateKeys
- Manages private keys.
teams
:Teams
- Handles team-related operations.
services
:Services
- Accesses Coolify services.
databases
:Databases
- Interacts with database functionalities.
applications
:Applications
- Manages application-related operations.
Args
coolify_api_key
:str
- The API key for authenticating with the Coolify API.
coolify_endpoint
:str
- The endpoint URL of the Coolify server.
coolify_port
:int
, optional- The port number for the Coolify server. Defaults to 8000.
http_protocol
:str
, optional- The HTTP protocol (e.g., "http" or "https"). Defaults to "http".
Methods
enable_api() -> CoolifyAPIResponse: Enables the Coolify API.
disable_api() -> CoolifyAPIResponse: Disables the Coolify API.
healthcheck() -> CoolifyAPIResponse: Checks the health status of the Coolify server.
version() -> CoolifyAPIResponse: Retrieves the current version of the Coolify server.
Expand source code
class Coolipy: """ The main entry point for interacting with the Coolify API using Coolipy. This class provides methods and modules to access various Coolify resources, such as projects, deployments, servers, and more. It handles authentication, API requests, and resource management for easy integration with the Coolify platform. Attributes: projects (Projects): Manages operations related to projects. deployments (Deployments): Handles deployment-related functionalities. resources (Resources): Provides access to resource management. servers (Servers): Facilitates interactions with server-related endpoints. private_keys (PrivateKeys): Manages private keys. teams (Teams): Handles team-related operations. services (Services): Accesses Coolify services. databases (Databases): Interacts with database functionalities. applications (Applications): Manages application-related operations. Args: coolify_api_key (str): The API key for authenticating with the Coolify API. coolify_endpoint (str): The endpoint URL of the Coolify server. coolify_port (int, optional): The port number for the Coolify server. Defaults to 8000. http_protocol (str, optional): The HTTP protocol (e.g., "http" or "https"). Defaults to "http". Methods: enable_api() -> CoolifyAPIResponse: Enables the Coolify API. disable_api() -> CoolifyAPIResponse: Disables the Coolify API. healthcheck() -> CoolifyAPIResponse: Checks the health status of the Coolify server. version() -> CoolifyAPIResponse: Retrieves the current version of the Coolify server. """ def __init__( self, coolify_api_key: str, coolify_endpoint: str, coolify_port: int = 8000, omit_port: bool = False, http_protocol: str = "http", ): self._coolify_url = f"{http_protocol}://{coolify_endpoint}" if omit_port else f"{http_protocol}://{coolify_endpoint}:{coolify_port}" self._api_base_endpoint = f"{self._coolify_url}{API_BASE_ENTRYPOINT}" self._coolify_api_key = coolify_api_key self._http = HttpService( api_base_endpoint=self._api_base_endpoint, bearer_token=self._coolify_api_key, ) self.projects = Projects( http_service=self._http, base_service_url=URL_MAP.projects ) self.deployments = Deployments( http_service=self._http, base_service_url=URL_MAP.deployments ) self.resources = Resources( http_service=self._http, base_service_url=URL_MAP.resources ) self.servers = Servers( http_service=self._http, base_service_url=URL_MAP.servers ) self.private_keys = PrivatetKeys( http_service=self._http, base_service_url=URL_MAP.private_keys ) self.teams = Teams(http_service=self._http, base_service_url=URL_MAP.teams) self.services = Services( http_service=self._http, base_service_url=URL_MAP.services ) self.databases = Databases( http_service=self._http, base_service_url=URL_MAP.databases ) self.applications = Applications( http_service=self._http, base_service_url=URL_MAP.applications ) def enable_api(self) -> CoolifyAPIResponse: """ Enables the Coolify API. This method sends a request to enable the Coolify API on the target server. Returns: CoolifyAPIResponse: The response object containing the status of the operation. """ content = self._http.get(f"{self._coolify_url}{URL_MAP.enable}") return content def disable_api(self) -> CoolifyAPIResponse: """ Disables the Coolify API. This method sends a request to disable the Coolify API on the target server. Returns: CoolifyAPIResponse: The response object containing the status of the operation. """ content = self._http.get(f"{self._coolify_url}{URL_MAP.disable}") return content def healthcheck(self) -> CoolifyAPIResponse: """ Performs a health check on the Coolify server. This method verifies the server's status and ensures it is operational. Returns: CoolifyAPIResponse: The response object containing the server's health status. """ content = self._http.get(f"{self._coolify_url}{URL_MAP.health}") return content def version(self) -> CoolifyAPIResponse: """ Retrieves the current version of the Coolify server. This method fetches version details from the server, including the API version. Returns: CoolifyAPIResponse: The response object containing the server version information. """ content = self._http.get(f"{self._coolify_url}{URL_MAP.version}") return content
Methods
def disable_api(self) ‑> CoolifyAPIResponse
-
Disables the Coolify API.
This method sends a request to disable the Coolify API on the target server.
Returns
CoolifyAPIResponse
- The response object containing the status of the operation.
def enable_api(self) ‑> CoolifyAPIResponse
-
Enables the Coolify API.
This method sends a request to enable the Coolify API on the target server.
Returns
CoolifyAPIResponse
- The response object containing the status of the operation.
def healthcheck(self) ‑> CoolifyAPIResponse
-
Performs a health check on the Coolify server.
This method verifies the server's status and ensures it is operational.
Returns
CoolifyAPIResponse
- The response object containing the server's health status.
def version(self) ‑> CoolifyAPIResponse
-
Retrieves the current version of the Coolify server.
This method fetches version details from the server, including the API version.
Returns
CoolifyAPIResponse
- The response object containing the server version information.