[tool.ruff]
ignore = [
    "E501",
]
select = [
    "E",    # pycodestyle errors
    "W",    # pycodestyle warnings
    "F",    # Pyflakes
    "Q",    # flake8-quotes
    "T201"  # flake8-print
]
typing-modules = ['spacy_llm.compat']

[tool.pytest.ini_options]
testpaths = ["tests"]
filterwarnings = [
    "error",
    "ignore:^.*pkg_resources.*:DeprecationWarning",
    "ignore:.*function is now available as sqlalchemy.orm.declarative_base().*:",
    "ignore:^.*You are trying to use a chat model. This way of initializing it is no longer supported. Instead, please use.*:UserWarning",
    "ignore:^.*Xformers is not installed correctly.*:",
    "ignore:^.*The 'warn' method is deprecated, use 'warning' instead.*:DeprecationWarning",
    "ignore:^.*Support for class-based `config` is deprecated.*:",
    "ignore:^.*The `dict` method is deprecated; use `model_dump` instead.*",
    "ignore:^.*The `parse_obj` method is deprecated; use `model_validate` instead.*",
    "ignore:^.*`__get_validators__` is deprecated.*",
    "ignore:^.*The `construct` method is deprecated.*",
    "ignore:^.*Skipping device Apple Paravirtual device that does not support Metal 2.0.*",
    "ignore:^.*Pydantic V1 style `@validator` validators are deprecated.*",
    "ignore:^.*was deprecated in langchain-community.*"
]
markers = [
    "external: interacts with a (potentially cost-incurring) third-party API",
    "gpu: requires a GPU to run"
]

[tool.isort]
multi_line_output = 9
profile = "black"
