From a provider’s release.
To a customer’s
reviewed change.

Versionlane carries a reviewed migration from the team making a change to the teams who depend on it. Every handoff has an owner.

Inspect a migration example
01 / Provider

Prepare the migration.

Define the source and target versions, the supported edits and their limits. Review scope and verification evidence before publishing an immutable migration revision. A campaign distributes that revision through invitations or consented repository connections.

02 / Customer

Choose the campaign.

Read what changes and assess whether your repository fits. A saved connection gives later campaigns a place to arrive; it does not approve them. You approve the exact campaign and revision, choose verification and decide separately whether to request a draft PR.

03 / Customer environment

Verify before proposing a PR.

Preview the affected code without running tests. When requested, verification checks the original repository and the proposed patch in separate restricted containers. Unsupported usage or a failing baseline produces a blocker. Verification must pass before Versionlane publishes a draft PR.

04 / Repository maintainer

Review through the usual process.

Inspect the patch and evidence, then run your repository’s ordinary checks against the current PR commit. Your team decides whether to merge. Missing checks do not count as passing, and later edits need fresh verification and review.

05 / Consented reporting

Close the loop on adoption.

Customers can report bounded progress metadata to the provider. Verification, an open PR and a reported merge remain separate milestones. Source, diffs and test logs stay out of the provider dashboard; repository and PR links require separate consent. A merge does not prove deployment.

See what changes
before you upgrade.

A supported Deepgram import change, with recorded test results and an example draft pull request.

deepgram-sdk
6.1.1 → 7.0.0

Versionlane-curated migration

The proposed change.

The import moves to its new module. The alias and voice settings stay the same.

deepgram-sdk==6.1.1

deepgram-sdk==7.0.0

src/app.pyProposed change
-from deepgram.agent.v1.types.agent_v1settings_agent_speak_one_item import (-    AgentV1SettingsAgentSpeakOneItem as VoiceSettings,-)+from deepgram.types.speak_settings_v1 import SpeakSettingsV1 as VoiceSettings  voice = VoiceSettings(provider={     "type": "deepgram",     "model": "aura-2-asteria-en", })

Test the original and the patch.

Both versions were tested in separate restricted containers. The migration package also has checks against the pinned SDK versions.

Controlled engineering run
8 October 2026

Verification reportPassed
SDK 6.1.1
7 checks passed
SDK 7.0.0
7 checks passed
Repository baseline
1 test passed
Proposed patch
1 test passed
Execution
Restricted Docker

Versionlane verification is separate from your repository’s CI. These results cover this example. If the code changes, run verification again.

A draft for your customer to review.

After verification, the customer can request a draft pull request. They review the patch and run their usual CI checks on the current commit before deciding whether to merge.

Edits made by the maintainer are preserved.

◌ Draft pull requestExample review

Migrate Deepgram Python
6.1.1 → 7.0.0

Updates the SDK pin and the supported imports. Includes verification results for the original code and the patch.

  • Review the diff
  • Run the repository’s CI on the current commit
  • Mark it ready for review, or close it.

Your team decides whether to merge. Deployment follows your usual release process.

Recorded example · 8 October 2026. This was a controlled engineering run, not customer adoption. The draft PR shows the review step. Tabs only change the view.

When a repository doesn’t fit

Python 3.9 blocks this migration.

A project that deploys on Python 3.9 cannot use this SDK version, which needs Python 3.10+. Versionlane reports the runtime blocker and does not create a migration PR. Update the deployment runtime, then preview again.

This package covers specific import changes. Other usages may need a different migration or manual changes. See the requirements →

Deepgram is not a customer or partner. Each migration covers a defined set of changes. Check repository requirements ↗

Start with a
defined change.

Versionlane is in early access for reviewed Python migrations. Current support includes defined import and SDK call-keyword changes, exact dependency updates, and eligible requirements.txt or static PEP 621 pyproject.toml projects.

Each campaign states its tested versions, supported syntax, repository requirements and exclusions. It is not a promise of compatibility with every API, SDK or application.

The example above is Versionlane-curated. It demonstrates a bounded migration, not a full upgrade of every Deepgram integration.

Read current compatibility requirements

Let’s look at
your next release.

Tell us about your API or SDK change and the customers who need to move. We’ll assess the fit together.

Request access