{"library":"mistral-common","title":"Mistral Common","description":"Mistral-common is a Python library providing essential utilities for working with Mistral AI models. It encompasses tools for tokenization of text, images, and tool calls, as well as validation and normalization of requests, messages, tool calls, and responses. Built upon Pydantic, it ensures robust data handling for AI interactions. The library is actively maintained, currently at version 1.11.0, and receives regular updates to support new model features and improvements.","language":"python","status":"active","last_verified":"Wed May 13","install":{"commands":["pip install mistral-common","pip install \"mistral-common[image,audio,hf-hub,sentencepiece,server]\""],"cli":null},"imports":["from mistral_common.tokens.tokenizers.mistral import MistralTokenizer","from mistral_common.protocol.instruct.request import ChatCompletionRequest","from mistral_common.protocol.instruct.messages import UserMessage","from mistral_common.protocol.instruct.tool_calls import Tool","from mistral_common.protocol.instruct.tool_calls import Function","from mistral_common.tokens.tokenizers.mistral import MistralCommonBackend"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from mistral_common.protocol.instruct.messages import UserMessage\nfrom mistral_common.protocol.instruct.request import ChatCompletionRequest\nfrom mistral_common.tokens.tokenizers.mistral import MistralTokenizer\nimport os\n\n# NOTE: For actual inference, you would typically load a model tokenizer \n# from a path or Hugging Face Hub. This example uses a placeholder.\n# A real model_name would be 'mistral-large-latest' or 'open-mixtral-8x22b'\n# For local development or specific tokenizer versions, a path can be used.\n# For the purpose of a quickstart demonstration without an actual model download,\n# we'll simulate the tokenizer loading or use a common one if available without heavy downloads.\n# In a real scenario, you might do:\n# tokenizer = MistralTokenizer.from_model(\"open-mixtral-8x22b\")\n# Or, if you have a local tokenizer:\n# tokenizer = MistralTokenizer.from_file(\"path/to/tokenizer.model\")\n\n# For this quickstart, we will attempt to load a tokenizer that is generally available\n# or illustrate the process. Assuming a tokenizer object can be instantiated for tokenization.\n# In a production environment, ensure the tokenizer model is correctly loaded.\n\ntry:\n    # Attempt to load a common tokenizer for demonstration. \n    # 'open-mixtral-8x22b' is often used in examples.\n    tokenizer = MistralTokenizer.from_model(\"open-mixtral-8x22b\")\nexcept Exception as e:\n    print(f\"Could not load tokenizer directly (e.g., model not found or network issue): {e}\")\n    print(\"Please ensure you have the tokenizer model available or use a local path if preferred.\")\n    print(\"For this quickstart, we will use a dummy tokenizer for demonstration purposes only.\")\n\n    # Fallback to a dummy tokenizer if real one fails for demonstration\n    class DummyTokenizer:\n        def encode_chat_completion(self, request):\n            print(\"Using dummy tokenizer. No actual tokenization performed.\")\n            return [1, 2, 3, 4, 5] # Dummy token IDs\n\n    tokenizer = DummyTokenizer()\n\nmessages = [\n    UserMessage(content=\"What is the capital of France?\")\n]\n\nchat_completion_request = ChatCompletionRequest(messages=messages)\n\n# Tokenize the chat completion request\ntoken_ids = tokenizer.encode_chat_completion(chat_completion_request)\n\nprint(f\"Original messages: {messages}\")\nprint(f\"Token IDs: {token_ids}\")","lang":"python","description":"This quickstart demonstrates how to tokenize a simple chat completion request using `mistral-common`. It involves defining user messages, creating a `ChatCompletionRequest`, and then encoding it into token IDs using a `MistralTokenizer`. For a real scenario, ensure the tokenizer model is correctly loaded, typically from a model name or a local file. The example includes a fallback for demonstration if a live tokenizer cannot be loaded.","tag":null,"tag_description":null,"last_tested":"2026-04-25","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":null,"tag_description":null,"last_tested":"2026-05-13","installed_version":"1.8.5","pypi_latest":"1.11.2","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":75,"avg_install_s":13.1,"avg_import_s":1.74,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.53,"mem_mb":32.2,"disk_size":"191.6M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.66,"mem_mb":32.1,"disk_size":"191.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":18.9,"import_time_s":1.31,"mem_mb":33.9,"disk_size":"427M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.22,"mem_mb":33.9,"disk_size":"426M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":9.7,"import_time_s":1.15,"mem_mb":32.2,"disk_size":"187M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.15,"mem_mb":32.1,"disk_size":"187M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":2,"mem_mb":33,"disk_size":"202.5M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.18,"mem_mb":32.9,"disk_size":"202.5M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":17.5,"import_time_s":1.9,"mem_mb":34.8,"disk_size":"444M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.9,"mem_mb":34.7,"disk_size":"443M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8.5,"import_time_s":1.84,"mem_mb":33,"disk_size":"197M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.97,"mem_mb":32.9,"disk_size":"197M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.97,"mem_mb":32.4,"disk_size":"190.4M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.27,"mem_mb":32.3,"disk_size":"190.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":14.4,"import_time_s":2.12,"mem_mb":34.1,"disk_size":"433M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.31,"mem_mb":34,"disk_size":"432M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7,"import_time_s":2,"mem_mb":32.4,"disk_size":"185M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.44,"mem_mb":32.4,"disk_size":"185M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.6,"mem_mb":31.8,"disk_size":"189.1M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.66,"mem_mb":31.7,"disk_size":"188.9M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":14.5,"import_time_s":1.83,"mem_mb":33.5,"disk_size":"432M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.18,"mem_mb":33.4,"disk_size":"430M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":7.4,"import_time_s":1.64,"mem_mb":31.8,"disk_size":"184M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.88,"mem_mb":31.7,"disk_size":"184M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":1.43,"mem_mb":31.4,"disk_size":"192.6M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.6,"mem_mb":31.4,"disk_size":"192.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":21.4,"import_time_s":1.47,"mem_mb":33.2,"disk_size":"429M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"image,audio,hf-hub,sentencepiece,server","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.4,"mem_mb":33.1,"disk_size":"429M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":11.2,"import_time_s":1.37,"mem_mb":31.4,"disk_size":"191M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"mistral-common","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.36,"mem_mb":31.4,"disk_size":"191M"}]}}