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: andrejsim/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: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 15 commits
  • 472 files changed
  • 6 contributors

Commits on May 20, 2026

  1. ci: split run_examples to keep PR runs unsecured and gate API runs to…

    … main (mistralai#531)
    
    - run_examples: build + install only, no secrets, no env, runs on PR + push
    - examples: build + run examples with CI_MISTRAL_API_KEY_PYTHON_*, environment: publish, push-to-main only
    
    Pins runners to ubuntu-24.04 while here.
    Nelson-PROIA authored May 20, 2026
    Configuration menu
    Copy the full SHA
    8e8bedf View commit details
    Browse the repository at this point in the history
  2. ci: scope secrets to publish environment (mistralai#527)

    ci: rename environment to publish
    Nelson-PROIA authored May 20, 2026
    Configuration menu
    Copy the full SHA
    0ff6ee9 View commit details
    Browse the repository at this point in the history
  3. ci: publish Python SDKs to PyPI with OIDC (mistralai#529)

    * ci: publish Python SDKs to PyPI with OIDC
    
    * ci: pin PyPI publish runner
    IxayWolf authored May 20, 2026
    Configuration menu
    Copy the full SHA
    3acff98 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2026

  1. ci: migrate SDK generation to speakeasy ci CLI (mistralai#533)

    Replaces Speakeasy's reusable workflow with a steps-based job invoking
    the speakeasy ci generate CLI directly. This lets the generate job
    declare environment: publish, gating secrets access behind the required
    reviewer approval.
    
    Also bumps speakeasyVersion to 1.763.2, which includes the upstream
    fix for the go-git push bug in CommitAndPush
    (speakeasy-api/speakeasy#2043).
    
    Three generation workflows updated: mistralai-sdk, mistralai-azure-sdk,
    mistralai-gcp-sdk.
    Nelson-PROIA authored May 21, 2026
    Configuration menu
    Copy the full SHA
    63d49fd View commit details
    Browse the repository at this point in the history
  2. Workflows: Add JSONPatch events partial decryption (mistralai#530)

    * Workflows: Add JSONPatch events partial decryption
    
    * Update to new format
    
    * Improvement
    mistralai-nfau authored May 21, 2026
    Configuration menu
    Copy the full SHA
    d60af25 View commit details
    Browse the repository at this point in the history
  3. docs: sync accesses delete description with current spec (mistralai#538)

    The persistent-edits baseline in .speakeasy/gen.lock anchors this paragraph
    to text that the upstream OpenAPI spec has since updated (typo fix and
    deprecation warning). Every speakeasy run produces a 3-way merge conflict
    on this single line, blocking the entire mistralai-sdk gen workflow.
    
    Updating the file in-tree re-anchors the persistent edit so the next gen
    run can proceed cleanly and produce a normal regen PR with the accumulated
    spec changes.
    Nelson-PROIA authored May 21, 2026
    Configuration menu
    Copy the full SHA
    91f067b View commit details
    Browse the repository at this point in the history
  4. ci: generate README-PYPI.md before aligning azure/gcp versions (mistr…

    …alai#537)
    
    uv version <new> triggers a hatchling editable build which validates
    pyproject.toml. The azure and gcp packages declare readme = "README-PYPI.md"
    but the file is generated at publish time by scripts/prepare_readme.py and
    not committed. On fresh CI checkouts hatchling raises OSError: Readme file
    does not exist: README-PYPI.md before the version is bumped.
    
    Run prepare_readme.py before uv version so the file exists for validation,
    mirroring what publish.sh already does at release time.
    Nelson-PROIA authored May 21, 2026
    Configuration menu
    Copy the full SHA
    a2fd94d View commit details
    Browse the repository at this point in the history
  5. feat: add Azure DefaultAzureCredential support for blob storage (mist…

    …ralai#508)
    
    * feat: add Azure DefaultAzureCredential support for blob storage
    
    * fix: narrow account_url type for mypy/pyright
    AkhilGNair authored May 21, 2026
    Configuration menu
    Copy the full SHA
    55c6318 View commit details
    Browse the repository at this point in the history
  6. ci: commit README-PYPI.md for azure and gcp to match main package (mi…

    …stralai#543)
    
    The mistralai-{azure,gcp} pyproject.toml files reference README-PYPI.md
    which is generated by scripts/prepare_readme.py from the regular README.md
    with relative links rewritten to absolute GitHub URLs.
    
    Until now, the file was gitignored per package and only generated at
    publish time. This caused align-version to fail in CI because uv version
    triggers a hatchling editable build which validates pyproject.toml, and
    hatchling refuses to validate a non-existent readme file.
    
    The root mistralai package already commits its README-PYPI.md (added in
    mistralai#518) and works fine. Apply the same pattern to azure and gcp:
    
    - Remove README-PYPI.md from each package's .gitignore
    - Commit the generated file
    - Drop the prepare_readme step from gen workflows (added in mistralai#537)
      since the file is now always present on disk
    
    prepare_readme.py is still called by publish.sh and the publish workflow
    to refresh the file at release time, so it stays accurate.
    Nelson-PROIA authored May 21, 2026
    Configuration menu
    Copy the full SHA
    90c2bed View commit details
    Browse the repository at this point in the history

Commits on May 22, 2026

  1. chore: bump speakeasyVersion to 1.763.6 (mistralai#547)

    Picks up two upstream Python generator fixes:
    - envVarPrefix fallback when SDK is constructed without security args
      (1.763.4 + 1.763.6) — Mistral() now correctly reads MISTRAL_API_KEY
      from the environment when no api_key argument is passed, matching
      the standard pattern used by OpenAI, Anthropic, Cohere, etc.
    - Types package support exports preserved correctly
    - General multi-SDK fixes for async declarations, doc rendering, exports
    
    Validated locally with speakeasy run -t mistralai-sdk: regen is clean
    and the generated src/mistralai/client/sdk.py contains the security
    fallback patch. Confirmed Mistral() + MISTRAL_API_KEY env var
    correctly resolves the api_key via get_security_from_env.
    Nelson-PROIA authored May 22, 2026
    Configuration menu
    Copy the full SHA
    f409a73 View commit details
    Browse the repository at this point in the history
  2. ci: rename publish env from public-sdk to publish (mistralai#551)

    Aligns the python publish workflow with the env name used by all other
    workflows. The public-sdk environment no longer exists on the repo
    (removed when renaming to publish), so the publish workflow currently
    references a non-existent environment.
    Nelson-PROIA authored May 22, 2026
    Configuration menu
    Copy the full SHA
    79e10e1 View commit details
    Browse the repository at this point in the history
  3. ci: narrow publish trigger to root RELEASES.md only (mistralai#552)

    The publish workflow builds a single bundled mistralai wheel from root
    pyproject.toml that includes the sub-packages as source. Only the root
    RELEASES.md changing reflects a new release. Sub-package RELEASES.md
    changes (packages/azure, packages/gcp) shouldn't trigger publish runs
    since they don't produce a new wheel.
    Nelson-PROIA authored May 22, 2026
    Configuration menu
    Copy the full SHA
    6fc2ef0 View commit details
    Browse the repository at this point in the history
  4. chore: 🐝 Update SDK - Generate MISTRAL-PYTHON-SDK-GOOGLE-CLOUD MISTRA…

    …LAI-GCP-SDK [speakeasy/mistralai-gcp-sdk-26292830187-1] 2.1.0 (mistralai#548)
    
    * ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.763.6
    
    * chore: align pyproject.toml and uv.lock to version 2.1.0
    
    * fix(tests): top_p, stop, presence_penalty, frequency_penalty default to UNSET
    
    The regenerated SDK uses the UNSET sentinel instead of None as the
    default value for these parameters in the GCP chat client. Update
    the parity tests to match.
    
    * fix(tests): Fim top_p and stop default to UNSET
    
    The regenerated SDK uses UNSET for these parameters on Fim too.
    
    * fix(tests): Fim top_p default test asserts UNSET
    
    The regenerated SDK uses UNSET for Fim.complete/stream top_p, not 1.
    
    ---------
    
    Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
    maiengineering and speakeasybot authored May 22, 2026
    Configuration menu
    Copy the full SHA
    66b2945 View commit details
    Browse the repository at this point in the history
  5. chore: 🐝 Update SDK - Generate MISTRAL-PYTHON-SDK-AZURE MISTRALAI-AZU…

    …RE-SDK [speakeasy/mistralai-azure-sdk-26292833044-1] 2.1.0 (mistralai#549)
    
    * ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.763.6
    
    * chore: align pyproject.toml and uv.lock to version 2.1.0
    
    * fix(examples,tests): adapt to regenerated SDK changes
    
    - examples/azure/chat_no_streaming.py: guard against None message
      (message can now be AssistantMessage | None in the new generation)
    - tests/test_azure_v2_parity.py: top_p, stop, presence_penalty, and
      frequency_penalty now default to UNSET instead of None
    
    * fix(tests): remove id from OCR_PROCESS_PARAMS
    
    The regenerated SDK no longer exposes the id parameter on Ocr.process
    (removed from the spec). Drop the obsolete test entry.
    
    ---------
    
    Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
    maiengineering and speakeasybot authored May 22, 2026
    Configuration menu
    Copy the full SHA
    59f1bf7 View commit details
    Browse the repository at this point in the history
  6. chore: 🐝 Update SDK - Generate MISTRALAI MISTRALAI-SDK [speakeasy/mis…

    …tralai-sdk-26292816554-1] 2.4.7 (mistralai#550)
    
    * ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.763.6
    
    * chore: align pyproject.toml and uv.lock to version 2.4.7
    
    * fix: use is_error_status_code callable in workflow helper
    
    The regenerated SDK changed BaseSDK.do_request_async signature from
    error_status_codes (List[str]) to is_error_status_code (Callable[[int], bool]).
    Update the workflow helper to use the new callable form.
    
    ---------
    
    Co-authored-by: speakeasybot <bot@speakeasyapi.dev>
    maiengineering and speakeasybot authored May 22, 2026
    Configuration menu
    Copy the full SHA
    091c57f View commit details
    Browse the repository at this point in the history
Loading