Skip to main content

langchain-standard-tests

This is an INTERNAL library for the LangChain project. It contains the base classes for a standard set of tests.

Installation

This package will NOT be regularly published to pypi. It is intended to be installed directly from github at test time.

Pip:

```bash
pip install git+https://github.com/langchain-ai/langchain.git#subdirectory=libs/standard-tests
```

Poetry:

```bash
poetry add git+https://github.com/langchain-ai/langchain.git#subdirectory=libs/standard-tests
```

Usage

To add standard tests to an integration package's e.g. ChatModel, you need to create

  1. A unit test class that inherits from ChatModelUnitTests
  2. An integration test class that inherits from ChatModelIntegrationTests

tests/unit_tests/test_standard.py:

"""Standard LangChain interface tests"""

from typing import Type

import pytest
from langchain_core.language_models import BaseChatModel
from langchain_standard_tests.unit_tests import ChatModelUnitTests

from langchain_parrot_chain import ChatParrotChain


class TestParrotChainStandard(ChatModelUnitTests):
    @pytest.fixture
    def chat_model_class(self) -> Type[BaseChatModel]:
        return ChatParrotChain

tests/integration_tests/test_standard.py:

"""Standard LangChain interface tests"""

from typing import Type

import pytest
from langchain_core.language_models import BaseChatModel
from langchain_standard_tests.integration_tests import ChatModelIntegrationTests

from langchain_parrot_chain import ChatParrotChain


class TestParrotChainStandard(ChatModelIntegrationTests):
    @pytest.fixture
    def chat_model_class(self) -> Type[BaseChatModel]:
        return ChatParrotChain

Reference

The following fixtures are configurable in the test classes. Anything not marked as required is optional.

  • chat_model_class (required): The class of the chat model to be tested
  • chat_model_params: The keyword arguments to pass to the chat model constructor
  • chat_model_has_tool_calling: Whether the chat model can call tools. By default, this is set to hasattr(chat_model_class, 'bind_tools)
  • chat_model_has_structured_output: Whether the chat model can structured output. By default, this is set to hasattr(chat_model_class, 'with_structured_output')

Metadata

Release files for langchain-base-tests 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langchain-base-tests 0.3.0
File Size Uploaded Provenance
langchain_base_tests-0.3.0.tar.gz 17.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for langchain-base-tests 0.3.0
File Interpreter ABI Platform
langchain_base_tests-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 39.2 kB

Release files / langchain_base_tests-0.3.0.tar.gz

Download URL langchain_base_tests-0.3.0.tar.gz
Size 17.1 kB
Tags Source
SHA-256 checksum
How to use checksums
259321b1965c682b5313fadde669d928163e32b633ac21227ff199f777b90a31
BLAKE2b-256 checksum
How to use checksums
354bbb3e100fb5b43d51d6ffecab3fe74361dd890080f0844b93f79ea3258e4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.4 Darwin/23.5.0

Release files / langchain_base_tests-0.3.0-py3-none-any.whl

Download URL langchain_base_tests-0.3.0-py3-none-any.whl
Size 22.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0ac75dd4363bb6c995febcb1bb4e593e619a58e8239fadc12d637e7fd00d9a2e
BLAKE2b-256 checksum
How to use checksums
ec5872122252dc619d211481116af693cfc47750c679b5a42c53d771e422672f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.11.4 Darwin/23.5.0

Security for langchain-base-tests 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page