mirror of
https://github.com/hwchase17/langchain.git
synced 2025-06-23 15:19:33 +00:00
core: Add ruff rules PGH (except PGH003) (#30656)
Add ruff rules PGH: https://docs.astral.sh/ruff/rules/#pygrep-hooks-pgh Except PGH003 which will be dealt in a dedicated PR. --------- Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com> Co-authored-by: Eugene Yurtsev <eugene@langchain.dev>
This commit is contained in:
parent
2491237473
commit
f0159c7125
@ -1,4 +1,3 @@
|
||||
# flake8: noqa
|
||||
"""Global values and configuration that apply to all of LangChain."""
|
||||
|
||||
import warnings
|
||||
@ -27,25 +26,27 @@ def set_verbose(value: bool) -> None:
|
||||
import langchain # type: ignore[import]
|
||||
|
||||
# We're about to run some deprecated code, don't report warnings from it.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get warnings.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get
|
||||
# warnings.
|
||||
with warnings.catch_warnings():
|
||||
warnings.filterwarnings(
|
||||
"ignore",
|
||||
message=(
|
||||
"Importing verbose from langchain root module is no longer supported"
|
||||
"Importing verbose from langchain root module "
|
||||
"is no longer supported"
|
||||
),
|
||||
)
|
||||
# N.B.: This is a workaround for an unfortunate quirk of Python's
|
||||
# module-level `__getattr__()` implementation:
|
||||
# https://github.com/langchain-ai/langchain/pull/11311#issuecomment-1743780004
|
||||
#
|
||||
# Remove it once `langchain.verbose` is no longer supported, and once all users
|
||||
# have migrated to using `set_verbose()` here.
|
||||
# Remove it once `langchain.verbose` is no longer supported, and once all
|
||||
# users have migrated to using `set_verbose()` here.
|
||||
langchain.verbose = value
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
global _verbose
|
||||
global _verbose # noqa: PLW0603
|
||||
_verbose = value
|
||||
|
||||
|
||||
@ -59,30 +60,32 @@ def get_verbose() -> bool:
|
||||
import langchain # type: ignore[import]
|
||||
|
||||
# We're about to run some deprecated code, don't report warnings from it.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get warnings.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get
|
||||
# warnings.
|
||||
with warnings.catch_warnings():
|
||||
warnings.filterwarnings(
|
||||
"ignore",
|
||||
message=(
|
||||
".*Importing verbose from langchain root module is no longer supported"
|
||||
".*Importing verbose from langchain root module "
|
||||
"is no longer supported"
|
||||
),
|
||||
)
|
||||
# N.B.: This is a workaround for an unfortunate quirk of Python's
|
||||
# module-level `__getattr__()` implementation:
|
||||
# https://github.com/langchain-ai/langchain/pull/11311#issuecomment-1743780004
|
||||
#
|
||||
# Remove it once `langchain.verbose` is no longer supported, and once all users
|
||||
# have migrated to using `set_verbose()` here.
|
||||
# Remove it once `langchain.verbose` is no longer supported, and once all
|
||||
# users have migrated to using `set_verbose()` here.
|
||||
#
|
||||
# In the meantime, the `verbose` setting is considered True if either the old
|
||||
# or the new value are True. This accommodates users who haven't migrated
|
||||
# to using `set_verbose()` yet. Those users are getting deprecation warnings
|
||||
# directing them to use `set_verbose()` when they import `langchain.verbose`.
|
||||
# In the meantime, the `verbose` setting is considered True if either the
|
||||
# old or the new value are True. This accommodates users who haven't
|
||||
# migrated to using `set_verbose()` yet. Those users are getting
|
||||
# deprecation warnings directing them to use `set_verbose()` when they
|
||||
# import `langchain.verbose`.
|
||||
old_verbose = langchain.verbose
|
||||
except ImportError:
|
||||
old_verbose = False
|
||||
|
||||
global _verbose
|
||||
return _verbose or old_verbose
|
||||
|
||||
|
||||
@ -96,23 +99,25 @@ def set_debug(value: bool) -> None:
|
||||
import langchain # type: ignore[import]
|
||||
|
||||
# We're about to run some deprecated code, don't report warnings from it.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get warnings.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get
|
||||
# warnings.
|
||||
with warnings.catch_warnings():
|
||||
warnings.filterwarnings(
|
||||
"ignore",
|
||||
message="Importing debug from langchain root module is no longer supported",
|
||||
message="Importing debug from langchain root module "
|
||||
"is no longer supported",
|
||||
)
|
||||
# N.B.: This is a workaround for an unfortunate quirk of Python's
|
||||
# module-level `__getattr__()` implementation:
|
||||
# https://github.com/langchain-ai/langchain/pull/11311#issuecomment-1743780004
|
||||
#
|
||||
# Remove it once `langchain.debug` is no longer supported, and once all users
|
||||
# have migrated to using `set_debug()` here.
|
||||
# Remove it once `langchain.debug` is no longer supported, and once all
|
||||
# users have migrated to using `set_debug()` here.
|
||||
langchain.debug = value
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
global _debug
|
||||
global _debug # noqa: PLW0603
|
||||
_debug = value
|
||||
|
||||
|
||||
@ -126,18 +131,20 @@ def get_debug() -> bool:
|
||||
import langchain # type: ignore[import]
|
||||
|
||||
# We're about to run some deprecated code, don't report warnings from it.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get warnings.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get
|
||||
# warnings.
|
||||
with warnings.catch_warnings():
|
||||
warnings.filterwarnings(
|
||||
"ignore",
|
||||
message="Importing debug from langchain root module is no longer supported",
|
||||
message="Importing debug from langchain root module "
|
||||
"is no longer supported",
|
||||
)
|
||||
# N.B.: This is a workaround for an unfortunate quirk of Python's
|
||||
# module-level `__getattr__()` implementation:
|
||||
# https://github.com/langchain-ai/langchain/pull/11311#issuecomment-1743780004
|
||||
#
|
||||
# Remove it once `langchain.debug` is no longer supported, and once all users
|
||||
# have migrated to using `set_debug()` here.
|
||||
# Remove it once `langchain.debug` is no longer supported, and once all
|
||||
# users have migrated to using `set_debug()` here.
|
||||
#
|
||||
# In the meantime, the `debug` setting is considered True if either the old
|
||||
# or the new value are True. This accommodates users who haven't migrated
|
||||
@ -147,7 +154,6 @@ def get_debug() -> bool:
|
||||
except ImportError:
|
||||
old_debug = False
|
||||
|
||||
global _debug
|
||||
return _debug or old_debug
|
||||
|
||||
|
||||
@ -161,12 +167,14 @@ def set_llm_cache(value: Optional["BaseCache"]) -> None:
|
||||
import langchain # type: ignore[import]
|
||||
|
||||
# We're about to run some deprecated code, don't report warnings from it.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get warnings.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get
|
||||
# warnings.
|
||||
with warnings.catch_warnings():
|
||||
warnings.filterwarnings(
|
||||
"ignore",
|
||||
message=(
|
||||
"Importing llm_cache from langchain root module is no longer supported"
|
||||
"Importing llm_cache from langchain root module "
|
||||
"is no longer supported"
|
||||
),
|
||||
)
|
||||
# N.B.: This is a workaround for an unfortunate quirk of Python's
|
||||
@ -179,7 +187,7 @@ def set_llm_cache(value: Optional["BaseCache"]) -> None:
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
global _llm_cache
|
||||
global _llm_cache # noqa: PLW0603
|
||||
_llm_cache = value
|
||||
|
||||
|
||||
@ -193,12 +201,14 @@ def get_llm_cache() -> "BaseCache":
|
||||
import langchain # type: ignore[import]
|
||||
|
||||
# We're about to run some deprecated code, don't report warnings from it.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get warnings.
|
||||
# The user called the correct (non-deprecated) code path and shouldn't get
|
||||
# warnings.
|
||||
with warnings.catch_warnings():
|
||||
warnings.filterwarnings(
|
||||
"ignore",
|
||||
message=(
|
||||
"Importing llm_cache from langchain root module is no longer supported"
|
||||
"Importing llm_cache from langchain root module "
|
||||
"is no longer supported"
|
||||
),
|
||||
)
|
||||
# N.B.: This is a workaround for an unfortunate quirk of Python's
|
||||
@ -218,5 +228,4 @@ def get_llm_cache() -> "BaseCache":
|
||||
except ImportError:
|
||||
old_llm_cache = None
|
||||
|
||||
global _llm_cache
|
||||
return _llm_cache or old_llm_cache
|
||||
|
@ -1,4 +1,4 @@
|
||||
# flake8: noqa
|
||||
"""Format instructions."""
|
||||
|
||||
JSON_FORMAT_INSTRUCTIONS = """The output should be formatted as a JSON instance that conforms to the JSON schema below.
|
||||
|
||||
@ -8,4 +8,4 @@ the object {{"foo": ["bar", "baz"]}} is a well-formatted instance of the schema.
|
||||
Here is the output schema:
|
||||
```
|
||||
{schema}
|
||||
```"""
|
||||
```""" # noqa: E501
|
||||
|
@ -97,7 +97,6 @@ def _get_jinja2_variables_from_template(template: str) -> set[str]:
|
||||
"Please install it with `pip install jinja2`."
|
||||
)
|
||||
raise ImportError(msg) from e
|
||||
# noqa for insecure warning elsewhere
|
||||
env = Environment() # noqa: S701
|
||||
ast = env.parse(template)
|
||||
return meta.find_undeclared_variables(ast)
|
||||
|
@ -15,7 +15,7 @@ from typing import (
|
||||
from typing_extensions import override
|
||||
|
||||
from langchain_core.callbacks.base import AsyncCallbackHandler, BaseCallbackHandler
|
||||
from langchain_core.exceptions import TracerException # noqa
|
||||
from langchain_core.exceptions import TracerException # noqa: F401
|
||||
from langchain_core.tracers.core import _TracerCore
|
||||
|
||||
if TYPE_CHECKING:
|
||||
|
@ -101,7 +101,7 @@ ignore = [
|
||||
"ERA",
|
||||
"FBT001",
|
||||
"FBT002",
|
||||
"PGH",
|
||||
"PGH003",
|
||||
"PLR",
|
||||
"PYI",
|
||||
"RUF",
|
||||
|
@ -40,4 +40,4 @@ def test_all_imports() -> None:
|
||||
def test_imports_for_specific_funcs() -> None:
|
||||
"""Test that a few specific imports in more internal namespaces."""
|
||||
# create_model implementation has been moved to langchain_core.utils.pydantic
|
||||
from langchain_core.runnables.utils import create_model # noqa
|
||||
from langchain_core.runnables.utils import create_model # noqa: F401
|
||||
|
@ -444,7 +444,7 @@ def test_tree_is_constructed(parent_type: Literal["ls", "lc"]) -> None:
|
||||
metadata={"some_foo": "some_bar"},
|
||||
tags=["afoo"],
|
||||
):
|
||||
collected: dict[str, RunTree] = {} # noqa
|
||||
collected: dict[str, RunTree] = {}
|
||||
|
||||
def collect_run(run: RunTree) -> None:
|
||||
collected[str(run.id)] = run
|
||||
|
Loading…
Reference in New Issue
Block a user