partners: add lint docstrings for chroma module (#23249)

Description: add lint docstrings for chroma module
Issue: the issue #23188 @baskaryan

test:  ruff check passed.


![image](https://github.com/langchain-ai/langchain/assets/76683249/5e168a0c-32d0-464f-8ddb-110233918019)

---------

Co-authored-by: gongwn1 <gongwn1@lenovo.com>
pull/23280/head
wenngong 3 months ago committed by GitHub
parent 9eda8f2fe8
commit f9aea3db07
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -1,3 +1,7 @@
"""This is the langchain_chroma package.
It contains the Chroma class for handling various tasks.
"""
from langchain_chroma.vectorstores import Chroma from langchain_chroma.vectorstores import Chroma
__all__ = [ __all__ = [

@ -1,3 +1,7 @@
"""This is the langchain_chroma.vectorstores module.
It contains the Chroma class which is a vector store for handling various tasks.
"""
from __future__ import annotations from __future__ import annotations
import base64 import base64
@ -98,7 +102,6 @@ def maximal_marginal_relevance(
Returns: Returns:
List of indices of embeddings selected by maximal marginal relevance. List of indices of embeddings selected by maximal marginal relevance.
""" """
if min(k, len(embedding_list)) <= 0: if min(k, len(embedding_list)) <= 0:
return [] return []
if query_embedding.ndim == 1: if query_embedding.ndim == 1:
@ -159,7 +162,7 @@ class Chroma(VectorStore):
Args: Args:
collection_name: Name of the collection to create. collection_name: Name of the collection to create.
embedding_function: Embedding class object. Used to embed texts. embedding_function: Embedding class object. Used to embed texts.
persist_director: Directory to persist the collection. persist_directory: Directory to persist the collection.
client_settings: Chroma client settings client_settings: Chroma client settings
collection_metadata: Collection configurations. collection_metadata: Collection configurations.
client: Chroma client. Documentation: client: Chroma client. Documentation:
@ -223,6 +226,7 @@ class Chroma(VectorStore):
@property @property
def embeddings(self) -> Optional[Embeddings]: def embeddings(self) -> Optional[Embeddings]:
"""Access the query embedding object."""
return self._embedding_function return self._embedding_function
@xor_args(("query_texts", "query_embeddings")) @xor_args(("query_texts", "query_embeddings"))
@ -245,6 +249,7 @@ class Chroma(VectorStore):
e.g. {"color" : "red", "price": 4.20}. e.g. {"color" : "red", "price": 4.20}.
where_document: dict used to filter by the documents. where_document: dict used to filter by the documents.
E.g. {$contains: {"text": "hello"}}. E.g. {$contains: {"text": "hello"}}.
**kwargs: Additional keyword arguments to pass to Chroma collection query.
Returns: Returns:
List of `n_results` nearest neighbor embeddings for provided List of `n_results` nearest neighbor embeddings for provided
@ -280,6 +285,7 @@ class Chroma(VectorStore):
metadatas: Optional list of metadatas. metadatas: Optional list of metadatas.
When querying, you can filter on this metadata. When querying, you can filter on this metadata.
ids: Optional list of IDs. ids: Optional list of IDs.
**kwargs: Additional keyword arguments to pass.
Returns: Returns:
List of IDs of the added images. List of IDs of the added images.
@ -367,6 +373,7 @@ class Chroma(VectorStore):
metadatas: Optional list of metadatas. metadatas: Optional list of metadatas.
When querying, you can filter on this metadata. When querying, you can filter on this metadata.
ids: Optional list of IDs. ids: Optional list of IDs.
**kwargs: Additional keyword arguments.
Returns: Returns:
List of IDs of the added texts. List of IDs of the added texts.
@ -374,7 +381,6 @@ class Chroma(VectorStore):
Raises: Raises:
ValueError: When metadata is incorrect. ValueError: When metadata is incorrect.
""" """
if ids is None: if ids is None:
ids = [str(uuid.uuid4()) for _ in texts] ids = [str(uuid.uuid4()) for _ in texts]
embeddings = None embeddings = None
@ -449,6 +455,7 @@ class Chroma(VectorStore):
query: Query text to search for. query: Query text to search for.
k: Number of results to return. Defaults to 4. k: Number of results to return. Defaults to 4.
filter: Filter by metadata. Defaults to None. filter: Filter by metadata. Defaults to None.
**kwargs: Additional keyword arguments to pass to Chroma collection query.
Returns: Returns:
List of documents most similar to the query text. List of documents most similar to the query text.
@ -474,6 +481,7 @@ class Chroma(VectorStore):
filter: Filter by metadata. Defaults to None. filter: Filter by metadata. Defaults to None.
where_document: dict used to filter by the documents. where_document: dict used to filter by the documents.
E.g. {$contains: {"text": "hello"}}. E.g. {$contains: {"text": "hello"}}.
**kwargs: Additional keyword arguments to pass to Chroma collection query.
Returns: Returns:
List of Documents most similar to the query vector. List of Documents most similar to the query vector.
@ -495,8 +503,7 @@ class Chroma(VectorStore):
where_document: Optional[Dict[str, str]] = None, where_document: Optional[Dict[str, str]] = None,
**kwargs: Any, **kwargs: Any,
) -> List[Tuple[Document, float]]: ) -> List[Tuple[Document, float]]:
""" """Return docs most similar to embedding vector and similarity score.
Return docs most similar to embedding vector and similarity score.
Args: Args:
embedding (List[float]): Embedding to look up documents similar to. embedding (List[float]): Embedding to look up documents similar to.
@ -504,6 +511,7 @@ class Chroma(VectorStore):
filter: Filter by metadata. Defaults to None. filter: Filter by metadata. Defaults to None.
where_document: dict used to filter by the documents. where_document: dict used to filter by the documents.
E.g. {$contains: {"text": "hello"}}. E.g. {$contains: {"text": "hello"}}.
**kwargs: Additional keyword arguments to pass to Chroma collection query.
Returns: Returns:
List of documents most similar to the query text and relevance score List of documents most similar to the query text and relevance score
@ -534,6 +542,7 @@ class Chroma(VectorStore):
filter: Filter by metadata. Defaults to None. filter: Filter by metadata. Defaults to None.
where_document: dict used to filter by the documents. where_document: dict used to filter by the documents.
E.g. {$contains: {"text": "hello"}}. E.g. {$contains: {"text": "hello"}}.
**kwargs: Additional keyword arguments to pass to Chroma collection query.
Returns: Returns:
List of documents most similar to the query text and List of documents most similar to the query text and
@ -574,7 +583,6 @@ class Chroma(VectorStore):
Raises: Raises:
ValueError: If the distance metric is not supported. ValueError: If the distance metric is not supported.
""" """
if self.override_relevance_score_fn: if self.override_relevance_score_fn:
return self.override_relevance_score_fn return self.override_relevance_score_fn
@ -623,11 +631,13 @@ class Chroma(VectorStore):
to maximum diversity and 1 to minimum diversity. to maximum diversity and 1 to minimum diversity.
Defaults to 0.5. Defaults to 0.5.
filter: Filter by metadata. Defaults to None. filter: Filter by metadata. Defaults to None.
where_document: dict used to filter by the documents.
E.g. {$contains: {"text": "hello"}}.
**kwargs: Additional keyword arguments to pass to Chroma collection query.
Returns: Returns:
List of Documents selected by maximal marginal relevance. List of Documents selected by maximal marginal relevance.
""" """
results = self.__query_collection( results = self.__query_collection(
query_embeddings=embedding, query_embeddings=embedding,
n_results=fetch_k, n_results=fetch_k,
@ -659,6 +669,7 @@ class Chroma(VectorStore):
**kwargs: Any, **kwargs: Any,
) -> List[Document]: ) -> List[Document]:
"""Return docs selected using the maximal marginal relevance. """Return docs selected using the maximal marginal relevance.
Maximal marginal relevance optimizes for similarity to query AND diversity Maximal marginal relevance optimizes for similarity to query AND diversity
among selected documents. among selected documents.
@ -673,6 +684,7 @@ class Chroma(VectorStore):
filter: Filter by metadata. Defaults to None. filter: Filter by metadata. Defaults to None.
where_document: dict used to filter by the documents. where_document: dict used to filter by the documents.
E.g. {$contains: {"text": "hello"}}. E.g. {$contains: {"text": "hello"}}.
**kwargs: Additional keyword arguments to pass to Chroma collection query.
Returns: Returns:
List of Documents selected by maximal marginal relevance. List of Documents selected by maximal marginal relevance.
@ -701,8 +713,10 @@ class Chroma(VectorStore):
self._chroma_collection = None self._chroma_collection = None
def reset_collection(self) -> None: def reset_collection(self) -> None:
"""Resets the collection by deleting the collection """Resets the collection.
and recreating an empty one."""
Resets the collection by deleting the collection and recreating an empty one.
"""
self.delete_collection() self.delete_collection()
self.__ensure_collection() self.__ensure_collection()
@ -827,9 +841,12 @@ class Chroma(VectorStore):
embedding: Embedding function. Defaults to None. embedding: Embedding function. Defaults to None.
metadatas: List of metadatas. Defaults to None. metadatas: List of metadatas. Defaults to None.
ids: List of document IDs. Defaults to None. ids: List of document IDs. Defaults to None.
client_settings: Chroma client settings client_settings: Chroma client settings.
client: Chroma client. Documentation:
https://docs.trychroma.com/reference/js-client#class:-chromaclient
collection_metadata: Collection configurations. collection_metadata: Collection configurations.
Defaults to None. Defaults to None.
**kwargs: Additional keyword arguments to initialize a Chroma client.
Returns: Returns:
Chroma: Chroma vectorstore. Chroma: Chroma vectorstore.
@ -889,9 +906,12 @@ class Chroma(VectorStore):
ids : List of document IDs. Defaults to None. ids : List of document IDs. Defaults to None.
documents: List of documents to add to the vectorstore. documents: List of documents to add to the vectorstore.
embedding: Embedding function. Defaults to None. embedding: Embedding function. Defaults to None.
client_settings: Chroma client settings client_settings: Chroma client settings.
client: Chroma client. Documentation:
https://docs.trychroma.com/reference/js-client#class:-chromaclient
collection_metadata: Collection configurations. collection_metadata: Collection configurations.
Defaults to None. Defaults to None.
**kwargs: Additional keyword arguments to initialize a Chroma client.
Returns: Returns:
Chroma: Chroma vectorstore. Chroma: Chroma vectorstore.
@ -916,5 +936,6 @@ class Chroma(VectorStore):
Args: Args:
ids: List of ids to delete. ids: List of ids to delete.
**kwargs: Additional keyword arguments.
""" """
self._collection.delete(ids=ids) self._collection.delete(ids=ids)

@ -1288,7 +1288,7 @@ adal = ["adal (>=1.0.2)"]
[[package]] [[package]]
name = "langchain" name = "langchain"
version = "0.2.3" version = "0.2.5"
description = "Building applications with LLMs through composability" description = "Building applications with LLMs through composability"
optional = false optional = false
python-versions = ">=3.8.1,<4.0" python-versions = ">=3.8.1,<4.0"
@ -1298,7 +1298,7 @@ develop = true
[package.dependencies] [package.dependencies]
aiohttp = "^3.8.3" aiohttp = "^3.8.3"
async-timeout = {version = "^4.0.0", markers = "python_version < \"3.11\""} async-timeout = {version = "^4.0.0", markers = "python_version < \"3.11\""}
langchain-core = "^0.2.0" langchain-core = "^0.2.7"
langchain-text-splitters = "^0.2.0" langchain-text-splitters = "^0.2.0"
langsmith = "^0.1.17" langsmith = "^0.1.17"
numpy = [ numpy = [
@ -1309,7 +1309,7 @@ pydantic = ">=1,<3"
PyYAML = ">=5.3" PyYAML = ">=5.3"
requests = "^2" requests = "^2"
SQLAlchemy = ">=1.4,<3" SQLAlchemy = ">=1.4,<3"
tenacity = "^8.1.0" tenacity = "^8.1.0,!=8.4.0"
[package.source] [package.source]
type = "directory" type = "directory"
@ -1317,7 +1317,7 @@ url = "../../langchain"
[[package]] [[package]]
name = "langchain-community" name = "langchain-community"
version = "0.2.4" version = "0.2.5"
description = "Community contributed LangChain integrations." description = "Community contributed LangChain integrations."
optional = false optional = false
python-versions = ">=3.8.1,<4.0" python-versions = ">=3.8.1,<4.0"
@ -1327,8 +1327,8 @@ develop = true
[package.dependencies] [package.dependencies]
aiohttp = "^3.8.3" aiohttp = "^3.8.3"
dataclasses-json = ">= 0.5.7, < 0.7" dataclasses-json = ">= 0.5.7, < 0.7"
langchain = "^0.2.0" langchain = "^0.2.5"
langchain-core = "^0.2.0" langchain-core = "^0.2.7"
langsmith = "^0.1.0" langsmith = "^0.1.0"
numpy = [ numpy = [
{version = ">=1,<2", markers = "python_version < \"3.12\""}, {version = ">=1,<2", markers = "python_version < \"3.12\""},
@ -1337,7 +1337,7 @@ numpy = [
PyYAML = ">=5.3" PyYAML = ">=5.3"
requests = "^2" requests = "^2"
SQLAlchemy = ">=1.4,<3" SQLAlchemy = ">=1.4,<3"
tenacity = "^8.1.0" tenacity = "^8.1.0,!=8.4.0"
[package.source] [package.source]
type = "directory" type = "directory"
@ -1345,7 +1345,7 @@ url = "../../community"
[[package]] [[package]]
name = "langchain-core" name = "langchain-core"
version = "0.2.5" version = "0.2.9"
description = "Building applications with LLMs through composability" description = "Building applications with LLMs through composability"
optional = false optional = false
python-versions = ">=3.8.1,<4.0" python-versions = ">=3.8.1,<4.0"
@ -1356,9 +1356,12 @@ develop = true
jsonpatch = "^1.33" jsonpatch = "^1.33"
langsmith = "^0.1.75" langsmith = "^0.1.75"
packaging = ">=23.2,<25" packaging = ">=23.2,<25"
pydantic = ">=1,<3" pydantic = [
{version = ">=1,<3", markers = "python_full_version < \"3.12.4\""},
{version = ">=2.7.4,<3.0.0", markers = "python_full_version >= \"3.12.4\""},
]
PyYAML = ">=5.3" PyYAML = ">=5.3"
tenacity = "^8.1.0" tenacity = "^8.1.0,!=8.4.0"
[package.source] [package.source]
type = "directory" type = "directory"
@ -1366,7 +1369,7 @@ url = "../../core"
[[package]] [[package]]
name = "langchain-openai" name = "langchain-openai"
version = "0.1.8" version = "0.1.9"
description = "An integration package connecting OpenAI and LangChain" description = "An integration package connecting OpenAI and LangChain"
optional = false optional = false
python-versions = ">=3.8.1,<4.0" python-versions = ">=3.8.1,<4.0"
@ -2318,6 +2321,25 @@ typing-extensions = ">=4.6.1"
[package.extras] [package.extras]
email = ["email-validator (>=2.0.0)"] email = ["email-validator (>=2.0.0)"]
[[package]]
name = "pydantic"
version = "2.7.4"
description = "Data validation using Python type hints"
optional = false
python-versions = ">=3.8"
files = [
{file = "pydantic-2.7.4-py3-none-any.whl", hash = "sha256:ee8538d41ccb9c0a9ad3e0e5f07bf15ed8015b481ced539a1759d8cc89ae90d0"},
{file = "pydantic-2.7.4.tar.gz", hash = "sha256:0c84efd9548d545f63ac0060c1e4d39bb9b14db8b3c0652338aecc07b5adec52"},
]
[package.dependencies]
annotated-types = ">=0.4.0"
pydantic-core = "2.18.4"
typing-extensions = ">=4.6.1"
[package.extras]
email = ["email-validator (>=2.0.0)"]
[[package]] [[package]]
name = "pydantic-core" name = "pydantic-core"
version = "2.18.2" version = "2.18.2"
@ -2409,6 +2431,97 @@ files = [
[package.dependencies] [package.dependencies]
typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
[[package]]
name = "pydantic-core"
version = "2.18.4"
description = "Core functionality for Pydantic validation and serialization"
optional = false
python-versions = ">=3.8"
files = [
{file = "pydantic_core-2.18.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:f76d0ad001edd426b92233d45c746fd08f467d56100fd8f30e9ace4b005266e4"},
{file = "pydantic_core-2.18.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:59ff3e89f4eaf14050c8022011862df275b552caef8082e37b542b066ce1ff26"},
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a55b5b16c839df1070bc113c1f7f94a0af4433fcfa1b41799ce7606e5c79ce0a"},
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4d0dcc59664fcb8974b356fe0a18a672d6d7cf9f54746c05f43275fc48636851"},
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8951eee36c57cd128f779e641e21eb40bc5073eb28b2d23f33eb0ef14ffb3f5d"},
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4701b19f7e3a06ea655513f7938de6f108123bf7c86bbebb1196eb9bd35cf724"},
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e00a3f196329e08e43d99b79b286d60ce46bed10f2280d25a1718399457e06be"},
{file = "pydantic_core-2.18.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:97736815b9cc893b2b7f663628e63f436018b75f44854c8027040e05230eeddb"},
{file = "pydantic_core-2.18.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6891a2ae0e8692679c07728819b6e2b822fb30ca7445f67bbf6509b25a96332c"},
{file = "pydantic_core-2.18.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bc4ff9805858bd54d1a20efff925ccd89c9d2e7cf4986144b30802bf78091c3e"},
{file = "pydantic_core-2.18.4-cp310-none-win32.whl", hash = "sha256:1b4de2e51bbcb61fdebd0ab86ef28062704f62c82bbf4addc4e37fa4b00b7cbc"},
{file = "pydantic_core-2.18.4-cp310-none-win_amd64.whl", hash = "sha256:6a750aec7bf431517a9fd78cb93c97b9b0c496090fee84a47a0d23668976b4b0"},
{file = "pydantic_core-2.18.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:942ba11e7dfb66dc70f9ae66b33452f51ac7bb90676da39a7345e99ffb55402d"},
{file = "pydantic_core-2.18.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b2ebef0e0b4454320274f5e83a41844c63438fdc874ea40a8b5b4ecb7693f1c4"},
{file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a642295cd0c8df1b86fc3dced1d067874c353a188dc8e0f744626d49e9aa51c4"},
{file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f09baa656c904807e832cf9cce799c6460c450c4ad80803517032da0cd062e2"},
{file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98906207f29bc2c459ff64fa007afd10a8c8ac080f7e4d5beff4c97086a3dabd"},
{file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19894b95aacfa98e7cb093cd7881a0c76f55731efad31073db4521e2b6ff5b7d"},
{file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fbbdc827fe5e42e4d196c746b890b3d72876bdbf160b0eafe9f0334525119c8"},
{file = "pydantic_core-2.18.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f85d05aa0918283cf29a30b547b4df2fbb56b45b135f9e35b6807cb28bc47951"},
{file = "pydantic_core-2.18.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e85637bc8fe81ddb73fda9e56bab24560bdddfa98aa64f87aaa4e4b6730c23d2"},
{file = "pydantic_core-2.18.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:2f5966897e5461f818e136b8451d0551a2e77259eb0f73a837027b47dc95dab9"},
{file = "pydantic_core-2.18.4-cp311-none-win32.whl", hash = "sha256:44c7486a4228413c317952e9d89598bcdfb06399735e49e0f8df643e1ccd0558"},
{file = "pydantic_core-2.18.4-cp311-none-win_amd64.whl", hash = "sha256:8a7164fe2005d03c64fd3b85649891cd4953a8de53107940bf272500ba8a788b"},
{file = "pydantic_core-2.18.4-cp311-none-win_arm64.whl", hash = "sha256:4e99bc050fe65c450344421017f98298a97cefc18c53bb2f7b3531eb39bc7805"},
{file = "pydantic_core-2.18.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:6f5c4d41b2771c730ea1c34e458e781b18cc668d194958e0112455fff4e402b2"},
{file = "pydantic_core-2.18.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2fdf2156aa3d017fddf8aea5adfba9f777db1d6022d392b682d2a8329e087cef"},
{file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4748321b5078216070b151d5271ef3e7cc905ab170bbfd27d5c83ee3ec436695"},
{file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:847a35c4d58721c5dc3dba599878ebbdfd96784f3fb8bb2c356e123bdcd73f34"},
{file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c40d4eaad41f78e3bbda31b89edc46a3f3dc6e171bf0ecf097ff7a0ffff7cb1"},
{file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:21a5e440dbe315ab9825fcd459b8814bb92b27c974cbc23c3e8baa2b76890077"},
{file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01dd777215e2aa86dfd664daed5957704b769e726626393438f9c87690ce78c3"},
{file = "pydantic_core-2.18.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4b06beb3b3f1479d32befd1f3079cc47b34fa2da62457cdf6c963393340b56e9"},
{file = "pydantic_core-2.18.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:564d7922e4b13a16b98772441879fcdcbe82ff50daa622d681dd682175ea918c"},
{file = "pydantic_core-2.18.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0eb2a4f660fcd8e2b1c90ad566db2b98d7f3f4717c64fe0a83e0adb39766d5b8"},
{file = "pydantic_core-2.18.4-cp312-none-win32.whl", hash = "sha256:8b8bab4c97248095ae0c4455b5a1cd1cdd96e4e4769306ab19dda135ea4cdb07"},
{file = "pydantic_core-2.18.4-cp312-none-win_amd64.whl", hash = "sha256:14601cdb733d741b8958224030e2bfe21a4a881fb3dd6fbb21f071cabd48fa0a"},
{file = "pydantic_core-2.18.4-cp312-none-win_arm64.whl", hash = "sha256:c1322d7dd74713dcc157a2b7898a564ab091ca6c58302d5c7b4c07296e3fd00f"},
{file = "pydantic_core-2.18.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:823be1deb01793da05ecb0484d6c9e20baebb39bd42b5d72636ae9cf8350dbd2"},
{file = "pydantic_core-2.18.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ebef0dd9bf9b812bf75bda96743f2a6c5734a02092ae7f721c048d156d5fabae"},
{file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae1d6df168efb88d7d522664693607b80b4080be6750c913eefb77e34c12c71a"},
{file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f9899c94762343f2cc2fc64c13e7cae4c3cc65cdfc87dd810a31654c9b7358cc"},
{file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99457f184ad90235cfe8461c4d70ab7dd2680e28821c29eca00252ba90308c78"},
{file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18f469a3d2a2fdafe99296a87e8a4c37748b5080a26b806a707f25a902c040a8"},
{file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7cdf28938ac6b8b49ae5e92f2735056a7ba99c9b110a474473fd71185c1af5d"},
{file = "pydantic_core-2.18.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:938cb21650855054dc54dfd9120a851c974f95450f00683399006aa6e8abb057"},
{file = "pydantic_core-2.18.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:44cd83ab6a51da80fb5adbd9560e26018e2ac7826f9626bc06ca3dc074cd198b"},
{file = "pydantic_core-2.18.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:972658f4a72d02b8abfa2581d92d59f59897d2e9f7e708fdabe922f9087773af"},
{file = "pydantic_core-2.18.4-cp38-none-win32.whl", hash = "sha256:1d886dc848e60cb7666f771e406acae54ab279b9f1e4143babc9c2258213daa2"},
{file = "pydantic_core-2.18.4-cp38-none-win_amd64.whl", hash = "sha256:bb4462bd43c2460774914b8525f79b00f8f407c945d50881568f294c1d9b4443"},
{file = "pydantic_core-2.18.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:44a688331d4a4e2129140a8118479443bd6f1905231138971372fcde37e43528"},
{file = "pydantic_core-2.18.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a2fdd81edd64342c85ac7cf2753ccae0b79bf2dfa063785503cb85a7d3593223"},
{file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:86110d7e1907ab36691f80b33eb2da87d780f4739ae773e5fc83fb272f88825f"},
{file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:46387e38bd641b3ee5ce247563b60c5ca098da9c56c75c157a05eaa0933ed154"},
{file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:123c3cec203e3f5ac7b000bd82235f1a3eced8665b63d18be751f115588fea30"},
{file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dc1803ac5c32ec324c5261c7209e8f8ce88e83254c4e1aebdc8b0a39f9ddb443"},
{file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:53db086f9f6ab2b4061958d9c276d1dbe3690e8dd727d6abf2321d6cce37fa94"},
{file = "pydantic_core-2.18.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:abc267fa9837245cc28ea6929f19fa335f3dc330a35d2e45509b6566dc18be23"},
{file = "pydantic_core-2.18.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a0d829524aaefdebccb869eed855e2d04c21d2d7479b6cada7ace5448416597b"},
{file = "pydantic_core-2.18.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:509daade3b8649f80d4e5ff21aa5673e4ebe58590b25fe42fac5f0f52c6f034a"},
{file = "pydantic_core-2.18.4-cp39-none-win32.whl", hash = "sha256:ca26a1e73c48cfc54c4a76ff78df3727b9d9f4ccc8dbee4ae3f73306a591676d"},
{file = "pydantic_core-2.18.4-cp39-none-win_amd64.whl", hash = "sha256:c67598100338d5d985db1b3d21f3619ef392e185e71b8d52bceacc4a7771ea7e"},
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:574d92eac874f7f4db0ca653514d823a0d22e2354359d0759e3f6a406db5d55d"},
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1f4d26ceb5eb9eed4af91bebeae4b06c3fb28966ca3a8fb765208cf6b51102ab"},
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77450e6d20016ec41f43ca4a6c63e9fdde03f0ae3fe90e7c27bdbeaece8b1ed4"},
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d323a01da91851a4f17bf592faf46149c9169d68430b3146dcba2bb5e5719abc"},
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43d447dd2ae072a0065389092a231283f62d960030ecd27565672bd40746c507"},
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:578e24f761f3b425834f297b9935e1ce2e30f51400964ce4801002435a1b41ef"},
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:81b5efb2f126454586d0f40c4d834010979cb80785173d1586df845a632e4e6d"},
{file = "pydantic_core-2.18.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ab86ce7c8f9bea87b9d12c7f0af71102acbf5ecbc66c17796cff45dae54ef9a5"},
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:90afc12421df2b1b4dcc975f814e21bc1754640d502a2fbcc6d41e77af5ec312"},
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:51991a89639a912c17bef4b45c87bd83593aee0437d8102556af4885811d59f5"},
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:293afe532740370aba8c060882f7d26cfd00c94cae32fd2e212a3a6e3b7bc15e"},
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b48ece5bde2e768197a2d0f6e925f9d7e3e826f0ad2271120f8144a9db18d5c8"},
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:eae237477a873ab46e8dd748e515c72c0c804fb380fbe6c85533c7de51f23a8f"},
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:834b5230b5dfc0c1ec37b2fda433b271cbbc0e507560b5d1588e2cc1148cf1ce"},
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e858ac0a25074ba4bce653f9b5d0a85b7456eaddadc0ce82d3878c22489fa4ee"},
{file = "pydantic_core-2.18.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2fd41f6eff4c20778d717af1cc50eca52f5afe7805ee530a4fbd0bae284f16e9"},
{file = "pydantic_core-2.18.4.tar.gz", hash = "sha256:ec3beeada09ff865c344ff3bc2f427f5e6c26401cc6113d77e372c3fdac73864"},
]
[package.dependencies]
typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
[[package]] [[package]]
name = "pygments" name = "pygments"
version = "2.18.0" version = "2.18.0"

@ -73,9 +73,16 @@ select = [
"F", # pyflakes "F", # pyflakes
"I", # isort "I", # isort
"T201", # print "T201", # print
"D", # pydocstyle
] ]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.ruff.lint.per-file-ignores]
"tests/**" = ["D"] # ignore docstring checks for tests
[tool.mypy] [tool.mypy]
disallow_untyped_defs = "True" disallow_untyped_defs = "True"

@ -1,3 +1,4 @@
"""This module checks if the given python files can be imported without error."""
import sys import sys
import traceback import traceback
from importlib.machinery import SourceFileLoader from importlib.machinery import SourceFileLoader

Loading…
Cancel
Save