Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mistralai/client-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: mistralai/client-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 8 commits
  • 255 files changed
  • 6 contributors

Commits on Feb 11, 2026

  1. chore: 🐝 Update SDK - Generate MISTRALAI MISTRALAI-SDK [v1] 1.12.1 (#344

    )
    
    * ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.685.0
    
    * Fixing the version in pyproject.toml and removing opentelemetry-semantic-conventions
    
    ---------
    
    Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
    Co-authored-by: Guillaume Dumont <guillaume.dumont@mistral.ai>
    3 people authored Feb 11, 2026
    Configuration menu
    Copy the full SHA
    7970744 View commit details
    Browse the repository at this point in the history
  2. chore: 🐝 Update SDK - Generate MISTRALAI MISTRALAI-SDK [v1] 1.12.2 (#348

    )
    
    * ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.685.0
    
    * Removing opentelemetry-semantic-conventions
    
    ---------
    
    Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
    Co-authored-by: Guillaume Dumont <guillaume.dumont@mistral.ai>
    3 people authored Feb 11, 2026
    Configuration menu
    Copy the full SHA
    cb3622c View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2026

  1. Bump version from 1.12.1 to 1.12.2 (#350)

    * Bump version from 1.12.1 to 1.12.2
    
    This change was omitted during the last version bump since it is not taken care of my the Speakeasy CI (file is in .genignore).
    
    * Update locks
    
    * Readding code samples
    dumontg authored Feb 13, 2026
    Configuration menu
    Copy the full SHA
    2ca81d4 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2026

  1. chore: 🐝 Update SDK - Generate MISTRALAI MISTRALAI-SDK [v1] 1.12.3 (#353

    )
    
    * ## Python SDK Changes:
    * `mistral.fine-tuning.jobs.create()`: 
      *  `request` **Changed** **Breaking** ⚠️
      *  `response` **Changed** **Breaking** ⚠️
    * `mistral.models.update()`:  `response` **Changed** **Breaking** ⚠️
    * `mistral.models.archive()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.models.unarchive()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.batch.jobs.cancel()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.batch.jobs.get()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.batch.jobs.create()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.batch.jobs.list()`: 
      *  `request.order_by` **Added**
      *  `response` **Changed** **Breaking** ⚠️
    * `mistral.fine-tuning.jobs.start()`:  `response` **Changed** **Breaking** ⚠️
    * `mistral.fine-tuning.jobs.cancel()`:  `response` **Changed** **Breaking** ⚠️
    * `mistral.fine-tuning.jobs.get()`:  `response` **Changed** **Breaking** ⚠️
    * `mistral.fine-tuning.jobs.list()`:  `response` **Changed** **Breaking** ⚠️
    * `mistral.beta.agents.list()`: 
      *  `request.search` **Added**
      *  `response.[].version_message` **Added**
    * `mistral.beta.agents.get_version()`:  `response.version_message` **Added**
    * `mistral.beta.agents.list_versions()`:  `response.[].version_message` **Added**
    * `mistral.beta.agents.update_version()`:  `response.version_message` **Added**
    * `mistral.beta.agents.update()`: 
      *  `request.version_message` **Added**
      *  `response.version_message` **Added**
    * `mistral.beta.agents.get()`:  `response.version_message` **Added**
    * `mistral.beta.agents.delete_version_alias()`: **Added**
    * `mistral.beta.agents.create()`: 
      *  `request.version_message` **Added**
      *  `response.version_message` **Added**
    
    * ci
    
    * fix: run on v1
    
    * feat(ci): add manual confirmation for v2 SDK publishing
    
    This change introduces a workflow modification that requires manual confirmation before publishing the v2 SDK (mistralai.client namespace), which is still in WIP/alpha status. The workflow now also auto-publishes from the v1 branch without requiring manual confirmation. This ensures that only intentional publishing of the v2 SDK occurs while maintaining automated publishing for the stable v1 SDK.
    
    * feat(realtime): add support for target streaming delay in realtime transcription
    
    This commit introduces the ability to specify a target streaming delay in milliseconds for realtime transcription sessions. The feature is implemented across the library and examples, allowing users to control the latency between audio input and transcription output.
    
    The changes include:
    - Adding a new parameter to the `transcribe_stream` method and related functions
    - Updating the RealtimeConnection class to handle streaming delay updates
    - Modifying the example scripts to demonstrate dual-delay transcription
    - Adding proper type hints and documentation for the new functionality
    
    The feature is backward compatible, maintaining existing behavior when no delay is specified.
    
    ---------
    
    Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
    Co-authored-by: jean-malo <jm@mistral.ai>
    3 people authored Feb 17, 2026
    Configuration menu
    Copy the full SHA
    01e7b82 View commit details
    Browse the repository at this point in the history
  2. fix/jm bump pyproject (#354)

    * fix: 1.12.3
    
    * lock
    jean-malo authored Feb 17, 2026
    Configuration menu
    Copy the full SHA
    d6a7fb5 View commit details
    Browse the repository at this point in the history
  3. feat(audio): add PyAudio initialization check and error handling (#355)

    This commit introduces proper initialization checks for PyAudio in both realtime transcription examples. It adds:
    
    1. A new utility function `load_pyaudio()` to handle PyAudio initialization
    2. Error handling for cases where PyAudio cannot be initialized
    3. Early termination with error message when PyAudio is not available
    4. Consistent error handling across both microphone examples
    
    The changes ensure the applications fail gracefully when PyAudio is not available or cannot be initialized, providing better user feedback.
    jean-malo authored Feb 17, 2026
    Configuration menu
    Copy the full SHA
    25d4457 View commit details
    Browse the repository at this point in the history
  4. fix (#356)

    jean-malo authored Feb 17, 2026
    Configuration menu
    Copy the full SHA
    2b8a126 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2026

  1. fix: change constFieldCasing from upper to normal (#361)

    * fix: change constFieldCasing from upper to normal
    
    Keep const fields lowercase (e.g., `role` instead of `ROLE`) to match
    the actual API values and align with the private SDK.
    
    * fix: rm outdated examples and add flush
    
    * chore: update excluded files list in run_examples.sh
    
    Add async_realtime_transcription_dual_delay_microphone.py to the excluded files list in the run_examples.sh script to prevent it from being executed during example runs.
    
    * fix(examples): update excluded job example file name
    
    The script was excluding an incorrect file name ("job.py") in the exclude_files array, which has been updated to the correct name ("jobs.py") to ensure the proper example is skipped during execution.
    
    * fix: typing
    
    * chore(version): bump version to 1.12.4
    
    Update the package version to 1.12.4 in preparation for a new release.
    
    * ## Python SDK Changes: (#365)
    
    * `mistral.beta.conversations.start()`: 
      *  `request.inputs.[array].[]` **Changed** **Breaking** ⚠️
      *  `response` **Changed** **Breaking** ⚠️
    * `mistral.beta.conversations.list()`:  `response.[]` **Changed** **Breaking** ⚠️
    * `mistral.beta.conversations.get()`:  `response` **Changed** **Breaking** ⚠️
    * `mistral.beta.conversations.append()`: 
      *  `request.inputs.[array].[]` **Changed** **Breaking** ⚠️
      *  `response` **Changed** **Breaking** ⚠️
    * `mistral.beta.conversations.get_history()`:  `response` **Changed** **Breaking** ⚠️
    * `mistral.beta.conversations.get_messages()`:  `response` **Changed** **Breaking** ⚠️
    * `mistral.beta.conversations.restart()`: 
      *  `request.inputs.[array].[]` **Changed** **Breaking** ⚠️
      *  `response` **Changed** **Breaking** ⚠️
    * `mistral.beta.conversations.start_stream()`: 
      *  `request.inputs.[array].[]` **Changed** **Breaking** ⚠️
      *  `response.[].data` **Changed** **Breaking** ⚠️
    * `mistral.beta.conversations.append_stream()`: 
      *  `request.inputs.[array].[]` **Changed** **Breaking** ⚠️
      *  `response.[].data` **Changed** **Breaking** ⚠️
    * `mistral.beta.conversations.restart_stream()`: 
      *  `request.inputs.[array].[]` **Changed** **Breaking** ⚠️
      *  `response.[].data` **Changed** **Breaking** ⚠️
    * `mistral.beta.agents.create()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.beta.agents.list()`:  `response.[].object` **Changed** **Breaking** ⚠️
    * `mistral.beta.agents.get()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.beta.agents.update()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.beta.agents.update_version()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.beta.agents.list_versions()`:  `response.[].object` **Changed** **Breaking** ⚠️
    * `mistral.beta.agents.get_version()`:  `response.object` **Changed** **Breaking** ⚠️
    * `mistral.chat.complete()`: 
      *  `request.messages.[]` **Changed** **Breaking** ⚠️
      *  `response.choices.[].message` **Changed** **Breaking** ⚠️
    * `mistral.chat.stream()`: 
      *  `request.messages.[]` **Changed** **Breaking** ⚠️
      *  `response.[].data.choices.[].delta.content.[array].[]` **Changed** **Breaking** ⚠️
    * `mistral.fim.complete()`:  `response.choices.[].message` **Changed** **Breaking** ⚠️
    * `mistral.fim.stream()`:  `response.[].data.choices.[].delta.content.[array].[]` **Changed** **Breaking** ⚠️
    * `mistral.agents.complete()`: 
      *  `request.messages.[]` **Changed** **Breaking** ⚠️
      *  `response.choices.[].message` **Changed** **Breaking** ⚠️
    * `mistral.agents.stream()`: 
      *  `request.messages.[]` **Changed** **Breaking** ⚠️
      *  `response.[].data.choices.[].delta.content.[array].[]` **Changed** **Breaking** ⚠️
    * `mistral.classifiers.moderate_chat()`: 
      *  `request.inputs.[array].[]` **Changed** **Breaking** ⚠️
    * `mistral.classifiers.classify_chat()`: 
      *  `request.inputs.[inputs].messages.[]` **Changed** **Breaking** ⚠️
    * `mistral.ocr.process()`:  `request.document` **Changed** **Breaking** ⚠️
    * `mistral.audio.transcriptions.complete()`:  `response.segments.[].type` **Changed** **Breaking** ⚠️
    * `mistral.audio.transcriptions.stream()`:  `response.[].data` **Changed** **Breaking** ⚠️
    
    Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
    
    ---------
    
    Co-authored-by: jean-malo <jm@mistral.ai>
    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
    4 people authored Feb 20, 2026
    Configuration menu
    Copy the full SHA
    c3f22d3 View commit details
    Browse the repository at this point in the history
Loading