diff --git a/src/codeocean/client.py b/src/codeocean/client.py index b7d5884..e3b3b6c 100644 --- a/src/codeocean/client.py +++ b/src/codeocean/client.py @@ -33,10 +33,16 @@ class CodeOcean: retries: Optional[Retry | int] = 0 agent_id: Optional[str] = None + # Minimum server version required by this SDK + MIN_SERVER_VERSION = "3.6.0" + def __post_init__(self): self.session = BaseUrlSession(base_url=f"{self.domain}/api/v1/") self.session.auth = (self.token, "") - self.session.headers.update({"Content-Type": "application/json"}) + self.session.headers.update({ + "Content-Type": "application/json", + "Min-Server-Version": CodeOcean.MIN_SERVER_VERSION, + }) if self.agent_id: self.session.headers.update({"Agent-Id": self.agent_id}) self.session.hooks["response"] = [ diff --git a/tests/test_client.py b/tests/test_client.py index ac465b1..e4fd67c 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -31,6 +31,8 @@ def test_basic_init(self): headers = client.session.headers self.assertIn("Content-Type", headers) self.assertEqual(headers["Content-Type"], "application/json") + self.assertIn("Min-Server-Version", headers) + self.assertEqual(headers["Min-Server-Version"], CodeOcean.MIN_SERVER_VERSION) @patch("codeocean.client.TCPKeepAliveAdapter") def test_retry_configuration_types(self, mock_adapter):