gigachain-standard-tests


Namegigachain-standard-tests JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/ai-forever/gigachain
SummaryStandard tests for GigaChain implementations
upload_time2024-07-04 15:41:57
maintainerNone
docs_urlNone
authorErick Friis
requires_python<4.0,>=3.8.1
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # gigachain-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`:
    
```python
"""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`:
    
```python
"""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')`

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ai-forever/gigachain",
    "name": "gigachain-standard-tests",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8.1",
    "maintainer_email": null,
    "keywords": null,
    "author": "Erick Friis",
    "author_email": "erick@langchain.dev",
    "download_url": "https://files.pythonhosted.org/packages/a4/a1/e9c9c7f529d2c16236c19466dca46273723dde28a9fe3229b26274410cd1/gigachain_standard_tests-0.1.1.tar.gz",
    "platform": null,
    "description": "# gigachain-standard-tests\n\nThis is an INTERNAL library for the LangChain project. It contains the base classes for\na standard set of tests.\n\n## Installation\n\nThis package will NOT be regularly published to pypi. It is intended to be installed\ndirectly from github at test time.\n\nPip:\n    \n    ```bash\n    pip install git+https://github.com/langchain-ai/langchain.git#subdirectory=libs/standard-tests\n    ```\n\nPoetry:\n    \n    ```bash\n    poetry add git+https://github.com/langchain-ai/langchain.git#subdirectory=libs/standard-tests\n    ```\n\n## Usage\n\nTo add standard tests to an integration package's e.g. ChatModel, you need to create\n\n1. A unit test class that inherits from ChatModelUnitTests\n2. An integration test class that inherits from ChatModelIntegrationTests\n\n`tests/unit_tests/test_standard.py`:\n    \n```python\n\"\"\"Standard LangChain interface tests\"\"\"\n\nfrom typing import Type\n\nimport pytest\nfrom langchain_core.language_models import BaseChatModel\nfrom langchain_standard_tests.unit_tests import ChatModelUnitTests\n\nfrom langchain_parrot_chain import ChatParrotChain\n\n\nclass TestParrotChainStandard(ChatModelUnitTests):\n    @pytest.fixture\n    def chat_model_class(self) -> Type[BaseChatModel]:\n        return ChatParrotChain\n```\n\n`tests/integration_tests/test_standard.py`:\n    \n```python\n\"\"\"Standard LangChain interface tests\"\"\"\n\nfrom typing import Type\n\nimport pytest\nfrom langchain_core.language_models import BaseChatModel\nfrom langchain_standard_tests.integration_tests import ChatModelIntegrationTests\n\nfrom langchain_parrot_chain import ChatParrotChain\n\n\nclass TestParrotChainStandard(ChatModelIntegrationTests):\n    @pytest.fixture\n    def chat_model_class(self) -> Type[BaseChatModel]:\n        return ChatParrotChain\n```\n\n## Reference\n\nThe following fixtures are configurable in the test classes. Anything not marked\nas required is optional.\n\n- `chat_model_class` (required): The class of the chat model to be tested\n- `chat_model_params`: The keyword arguments to pass to the chat model constructor\n- `chat_model_has_tool_calling`: Whether the chat model can call tools. By default, this is set to `hasattr(chat_model_class, 'bind_tools)`\n- `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')`\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Standard tests for GigaChain implementations",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/ai-forever/gigachain",
        "Repository": "https://github.com/ai-forever/gigachain",
        "Source Code": "https://github.com/ai-forever/gigachain/tree/master/libs/standard-tests"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "60215d13701287fb8bdf7b53dd7633a0e95390cb1670dba5ac0a529452479506",
                "md5": "01f662265e8bb04a778be8a0ca03593b",
                "sha256": "793d0c0f8a72be460f0e2d68a3754f1b306f396b5b1f4ebb76238bf1986b5323"
            },
            "downloads": -1,
            "filename": "gigachain_standard_tests-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "01f662265e8bb04a778be8a0ca03593b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8.1",
            "size": 10961,
            "upload_time": "2024-07-04T15:41:55",
            "upload_time_iso_8601": "2024-07-04T15:41:55.943447Z",
            "url": "https://files.pythonhosted.org/packages/60/21/5d13701287fb8bdf7b53dd7633a0e95390cb1670dba5ac0a529452479506/gigachain_standard_tests-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a4a1e9c9c7f529d2c16236c19466dca46273723dde28a9fe3229b26274410cd1",
                "md5": "54d13c6f82c26f49b3d9e337f38e33d5",
                "sha256": "be89f0c068d6d041c52b3118d5c631f303ec61191f7b4d5247a55de283e97d48"
            },
            "downloads": -1,
            "filename": "gigachain_standard_tests-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "54d13c6f82c26f49b3d9e337f38e33d5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8.1",
            "size": 9005,
            "upload_time": "2024-07-04T15:41:57",
            "upload_time_iso_8601": "2024-07-04T15:41:57.179795Z",
            "url": "https://files.pythonhosted.org/packages/a4/a1/e9c9c7f529d2c16236c19466dca46273723dde28a9fe3229b26274410cd1/gigachain_standard_tests-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-04 15:41:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ai-forever",
    "github_project": "gigachain",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "gigachain-standard-tests"
}
        
Elapsed time: 0.44892s