{"library":"microsoft-kiota-abstractions","title":"Microsoft Kiota Abstractions (Python)","description":"The `microsoft-kiota-abstractions` library provides core interfaces and base classes for Python SDKs generated by Microsoft Kiota. These abstractions define how HTTP requests are built, how data is serialized and deserialized, and the fundamental structure for models used in API clients. It is currently at version 1.10.1 and follows a frequent release cadence, often synchronized with other Kiota Python packages.","language":"python","status":"active","last_verified":"Wed May 13","install":{"commands":["pip install microsoft-kiota-abstractions"],"cli":null},"imports":["from kiota_abstractions.request_information import RequestInformation","from kiota_abstractions.request_adapter import RequestAdapter","from kiota_abstractions.serialization import Parsable","from kiota_abstractions.serialization import ParseNode","from kiota_abstractions.serialization import SerializationWriter","from kiota_abstractions.http.method import HttpMethod","from kiota_abstractions.base_request_builder import BaseRequestBuilder"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import datetime\nfrom typing import Dict, Optional\n\nfrom kiota_abstractions.serialization import Parsable, ParseNode, SerializationWriter\n\n\nclass MySimpleModel(Parsable):\n    \"\"\"Represents a simple data model implementing Parsable.\"\"\"\n\n    def __init__(self) -> None:\n        self._id: Optional[str] = None\n        self._name: Optional[str] = None\n        self._created_at: Optional[datetime.datetime] = None\n\n    @property\n    def id(self) -> Optional[str]:\n        return self._id\n\n    @id.setter\n    def id(self, value: Optional[str]) -> None:\n        self._id = value\n\n    @property\n    def name(self) -> Optional[str]:\n        return self._name\n\n    @name.setter\n    def name(self, value: Optional[str]) -> None:\n        self._name = value\n\n    @property\n    def created_at(self) -> Optional[datetime.datetime]:\n        return self._created_at\n\n    @created_at.setter\n    def created_at(self, value: Optional[datetime.datetime]) -> None:\n        self._created_at = value\n\n    def get_field_deserializers(self) -> Dict[str, callable]:\n        \"\"\"The deserialization information for the current model\"\"\"\n        return {\n            \"id\": lambda n: setattr(self, 'id', n.get_str_value()),\n            \"name\": lambda n: setattr(self, 'name', n.get_str_value()),\n            \"createdAt\": lambda n: setattr(self, 'created_at', n.get_datetime_value())\n        }\n\n    def serialize(self, writer: SerializationWriter) -> None:\n        \"\"\"Serializes information the current object\"\"\"\n        if not writer:\n            raise TypeError(\"writer cannot be None\")\n        writer.write_str_value(\"id\", self.id)\n        writer.write_str_value(\"name\", self.name)\n        writer.write_datetime_value(\"createdAt\", self.created_at)\n\n\n# Example usage (typically handled by Kiota-generated code)\nmodel = MySimpleModel()\nmodel.id = \"123\"\nmodel.name = \"Test Model\"\nmodel.created_at = datetime.datetime.now(datetime.timezone.utc)\n\nprint(f\"Model ID: {model.id}, Name: {model.name}, Created At: {model.created_at}\")","lang":"python","description":"This quickstart demonstrates how to implement the `Parsable` interface, a core abstraction for data models in Kiota. While typically Kiota generates these implementations, understanding `get_field_deserializers` and `serialize` is fundamental when working with or extending Kiota-generated SDKs. This example defines a simple model with string and datetime fields.","tag":null,"tag_description":null,"last_tested":"2026-04-24","results":[{"runtime":"python:3.10-alpine","exit_code":0},{"runtime":"python:3.10-slim","exit_code":0},{"runtime":"python:3.11-alpine","exit_code":0},{"runtime":"python:3.11-slim","exit_code":0},{"runtime":"python:3.12-alpine","exit_code":0},{"runtime":"python:3.12-slim","exit_code":0},{"runtime":"python:3.13-alpine","exit_code":0},{"runtime":"python:3.13-slim","exit_code":0},{"runtime":"python:3.9-alpine","exit_code":0},{"runtime":"python:3.9-slim","exit_code":0}]},"compatibility":{"tag":"verified","tag_description":"installs cleanly on critical runtimes, fast import, recently tested","last_tested":"2026-05-13","installed_version":"1.9.10","pypi_latest":"1.10.1","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":2.2,"avg_import_s":0.21,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.19,"mem_mb":6.4,"disk_size":"23.0M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.2,"mem_mb":6.4,"disk_size":"23.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.13,"mem_mb":6.4,"disk_size":"24M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.14,"mem_mb":6.4,"disk_size":"24M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.27,"mem_mb":7,"disk_size":"25.4M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.31,"mem_mb":7,"disk_size":"25.4M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.3,"import_time_s":0.23,"mem_mb":7,"disk_size":"26M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.23,"mem_mb":7,"disk_size":"26M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.21,"mem_mb":6.7,"disk_size":"17.1M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.33,"mem_mb":6.7,"disk_size":"17.1M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.1,"import_time_s":0.22,"mem_mb":6.7,"disk_size":"18M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.24,"mem_mb":6.7,"disk_size":"18M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.2,"mem_mb":6.8,"disk_size":"16.8M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.22,"mem_mb":6.8,"disk_size":"16.7M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.2,"mem_mb":6.8,"disk_size":"17M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.21,"mem_mb":6.8,"disk_size":"17M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.16,"mem_mb":6.3,"disk_size":"22.5M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.18,"mem_mb":6.3,"disk_size":"22.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2.5,"import_time_s":0.14,"mem_mb":6.3,"disk_size":"23M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"microsoft-kiota-abstractions","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.15,"mem_mb":6.3,"disk_size":"23M"}]}}