cli[minor]: Add script to generate migrations for partner packages (#20932)

Add script to help generate migrations.

This works well for partner packages. Migrations are generated based on run time rather than static analysis (much simpler to get the correct migrations implemented).

The script for generating migrations from langchain to community still needs work.
This commit is contained in:
Eugene Yurtsev
2024-04-26 11:17:20 -04:00
committed by GitHub
parent fe1304afc4
commit 5653f36adc
10 changed files with 289 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
import pytest
from langchain_cli.namespaces.migrate.generate.partner import (
get_migrations_for_partner_package,
)
pytest.importorskip(modname="langchain_openai")
def test_generate_migrations() -> None:
migrations = get_migrations_for_partner_package("langchain_openai")
assert migrations == [
("langchain_community.llms.openai.OpenAI", "langchain_openai.OpenAI"),
("langchain_community.llms.openai.AzureOpenAI", "langchain_openai.AzureOpenAI"),
(
"langchain_community.embeddings.openai.OpenAIEmbeddings",
"langchain_openai.OpenAIEmbeddings",
),
(
"langchain_community.embeddings.azure_openai.AzureOpenAIEmbeddings",
"langchain_openai.AzureOpenAIEmbeddings",
),
(
"langchain_community.chat_models.openai.ChatOpenAI",
"langchain_openai.ChatOpenAI",
),
(
"langchain_community.chat_models.azure_openai.AzureChatOpenAI",
"langchain_openai.AzureChatOpenAI",
),
]

View File

@@ -0,0 +1,5 @@
from langchain_cli.namespaces.migrate.generate.utils import PKGS_ROOT
def test_root() -> None:
assert PKGS_ROOT.name == "libs"