diff --git a/.gitignore b/.gitignore index d01b965..97f2b38 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .env *.bin .envrc +.vscode models/** db/ diff --git a/loaders/README.md b/loaders/README.md new file mode 100644 index 0000000..028cad8 --- /dev/null +++ b/loaders/README.md @@ -0,0 +1,33 @@ +# Loaders Module + +This module contains data loaders for the ChatKNML chatbot. + +## Installation + +To install the loaders module, run the following command: + +```bash +poetry install +``` + +## Testing + +To run tests, run the following command: + +```bash +poetry run pytest +``` + +## Formatting and linting + +Formatting: + +```bash +poetry run black . +``` + +Linting + +```bash +poetry run flake8 +``` diff --git a/loaders/__init__.py b/loaders/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/loaders/clean_web_loader.py b/loaders/clean_web_loader.py new file mode 100644 index 0000000..7ad93f4 --- /dev/null +++ b/loaders/clean_web_loader.py @@ -0,0 +1,140 @@ +from newspaper import Article +from functools import reduce +from typing import List, Optional +from langchain_core.documents import Document +from langchain.document_loaders.base import BaseLoader +from langchain.document_loaders.recursive_url_loader import RecursiveUrlLoader +from langchain.text_splitter import TextSplitter, SpacyTextSplitter + + +class CleanWebLoader(BaseLoader): + """ + A class for loading web content, extracting and cleaning text using the 'newspaper' library, + and converting it into a specific data structure. + + Attributes: + url_list (list[str] | str): Either a string or a list of strings representing URLs. + depth (int): Maximum depth for recursive extraction (default is 1). + + Methods: + newspaper_extractor(html): Extracts and cleans text content from HTML using the 'newspaper' library. + ds_converter(docs): Converts a list of documents into a specific data structure. + junk_remover(docs): Identifies and returns a list of suspected junk documents based on specific criteria. + load(): Loads web content from specified URLs, extracts text, and converts it into a specific data structure. + load_and_split(text_splitter, chunk, chunk_overlap): Loads web content, splits it into chunks, and converts it into a specific data structure. + + """ + + article = Article("") + + def __init__(self, url_list: list[str] | str, depth: int = 1): + """ + Initializes the CleanWebLoader instance. + + :param url_list: Either a string or a list of strings representing URLs. + :param depth: Maximum depth for recursive extraction (default is 1). + """ + super().__init__() + self.url_list = url_list + self.depth = depth + + @staticmethod + def newspaper_extractor(html: str): + """ + Extracts and cleans text content from HTML using the 'newspaper' library. + + :param html: HTML content to be processed. + :return: Cleaned and concatenated text extracted from the HTML. + """ + CleanWebLoader.article.set_html(html) + CleanWebLoader.article.parse() + return " ".join(CleanWebLoader.article.text.split()) + + @staticmethod + def ds_converter(docs: list[Document]): + """ + Converts a list of documents into a specific data structure. + + :param docs: List of documents to be converted. + :return: List of dictionaries, each representing a document with 'text' key. + """ + return [{"text": doc.page_content} for doc in docs] + + @staticmethod + def junk_remover(docs: list[Document]): + """ + Identifies and returns a list of suspected junk documents based on specific criteria. + + :param docs: A list of documents, where each document is represented as a dictionary. + Each dictionary should have a "text" key containing the text content of the document. + :return: A list of suspected junk documents based on the criteria of having less than 300 characters + or having the same text as another document in the input list. + """ + junk_docs = [doc for doc in docs if len(doc.page_content) < 300] + seen_texts = set() + clear_docs = [] + for doc in docs: + if "title" not in doc.metadata.keys(): + junk_docs.append(doc) + elif doc.page_content not in seen_texts and doc not in junk_docs: + clear_docs.append(doc) + seen_texts.add(doc.page_content) + else: + pass + return clear_docs + + def load(self) -> List[dict]: + """ + Loads web content from specified URLs, extracts text using the 'newspaper' library, + and converts it into a specific data structure using the ds_converter and junk_remover methods. + + :return: List of dictionaries, each representing a document with 'text' key. + """ + docs = [] + if isinstance(self.url_list, str): + self.url_list = [self.url_list] + for address in self.url_list: + try: + loader = RecursiveUrlLoader( + url=address, + max_depth=self.depth, + extractor=CleanWebLoader.newspaper_extractor, + ) + docs.extend(loader.load()) + except Exception as e: + print(f"Exception: {e}") + break + docs = reduce( + lambda data, method: method(data), + [CleanWebLoader.junk_remover, CleanWebLoader.ds_converter], + docs, + ) + return docs + + def load_and_split( + self, + text_splitter: Optional[TextSplitter] = None, + chunk: int = 400, + chunk_overlap: int = 80, + ) -> List[dict]: + """ + Loads web content from specified URLs, extracts text using the 'newspaper' library, + splits it into chunks using the provided or default TextSplitter, + and converts it into a specific data structure using the ds_converter and junk_remover methods. + + :param text_splitter: Optional TextSplitter instance to use for splitting documents. + :param chunk: Chunk size for text splitting (default is 400). + :param chunk_overlap: Overlap size between chunks (default is 80). + :return: List of dictionaries, each representing a document with 'text' key. + """ + _text_splitter: text_splitter or TextSplitter = SpacyTextSplitter( + pipeline="pl_core_news_sm", + chunk_size=chunk, + chunk_overlap=chunk_overlap, + ) + docs = reduce( + lambda data, method: method(data), + [CleanWebLoader.junk_remover, CleanWebLoader.ds_converter], + self.load(), + ) + return _text_splitter.split_documents(docs) diff --git a/loaders/local_data_loader.py b/loaders/local_data_loader.py new file mode 100644 index 0000000..f2f577f --- /dev/null +++ b/loaders/local_data_loader.py @@ -0,0 +1,117 @@ +import os +import logging +from langchain.document_loaders.base import BaseLoader +from langchain.document_loaders import PyPDFLoader, JSONLoader +from langchain.document_loaders.text import TextLoader +from langchain.document_loaders.csv_loader import CSVLoader +from typing import Union, List + + +class LocalDataLoader(BaseLoader): + + loaders = { + ".pdf": PyPDFLoader, + ".json": JSONLoader, + ".txt": TextLoader, + ".csv": CSVLoader, + } + + def __init__(self, path: Union[List[str], str]): + """ + Initialize the LocalDataLoader instance. + + :param path: A list of paths or a single path pointing to the location of data files. + """ + super().__init__() + self.path_list = path + + @staticmethod + def ds_converter(docs): + """ + Converts a list of documents into a specific data structure. + + :param docs: List of documents to be converted. + :return: List of dictionaries, each representing a document with 'text' and 'url' keys. + """ + return [{"text": doc.page_content} for doc in docs] + + @staticmethod + def junk_remover(docs): + """ + Identifies and returns a list of suspected junk documents based on specific criteria. + + :param docs: A list of documents, where each document is represented as a dictionary. + Each dictionary should have a "text" key containing the text content of the document. + :return: A list of suspected junk documents based on the criteria of having less than 300 characters + or having the same text as another document in the input list. + """ + junk_docs = [doc for doc in docs if len(doc.page_content) < 300] + seen_texts = {} + clear_docs = [] + for doc in docs: + if doc.page_content not in seen_texts and doc not in junk_docs: + clear_docs.append(doc) + seen_texts.add(doc.page_content) + return clear_docs + + def load(self) -> List[dict]: + """ + Load data from the specified paths using registered data loaders. + + This method iterates through each path in the 'path_list', explores the directories, and processes each file + using the appropriate data loader based on the file extension. The loaded data is then appended to a list, + which is further processed to remove junk and convert the data structure. The final list of dictionaries is returned. + + :return: A list of dictionaries representing the loaded and processed data. + """ + docs = [] + for path in self.path_list: + docs.extend(self._process_directory(path)) + + docs = self._process_loaded_data(docs) + return docs + + def _process_directory(self, path: str) -> List[dict]: + """ + Process all files in the given directory path using the appropriate loaders. + + :param path: The path to the directory containing the files. + :return: A list of dictionaries with loaded data. + """ + loaded_docs = [] + for root, _, files in os.walk(path): + for file in files: + file_path = os.path.join(root, file) + doc = self._load_file(file_path) + if doc: + loaded_docs.append(doc) + return loaded_docs + + def _load_file(self, file_path: str) -> dict: + """ + Load a single file using the appropriate loader based on its extension. + + :param file_path: The full path to the file. + :return: A dictionary with loaded data or None if an error occurred. + """ + file_extension = os.path.splitext(file_path)[1].lower() + loader = LocalDataLoader.loaders.get(file_extension) + + if loader: + try: + return loader(file_path).load()[0] + except Exception as e: + logging.error(f"Error loading file {file_path}: {e}") + else: + logging.warning(f"No loader found for file type: {file_extension}") + return None + + def _process_loaded_data(self, docs: List[dict]) -> List[dict]: + """ + Process loaded data by removing junk and converting the data structure. + + :param docs: A list of dictionaries with raw loaded data. + :return: A list of dictionaries with cleaned and processed data. + """ + docs = LocalDataLoader.junk_remover(docs) + return LocalDataLoader.ds_converter(docs) diff --git a/loaders/poetry.lock b/loaders/poetry.lock new file mode 100644 index 0000000..a37284c --- /dev/null +++ b/loaders/poetry.lock @@ -0,0 +1,2007 @@ +# This file is automatically @generated by Poetry 1.8.1 and should not be changed by hand. + +[[package]] +name = "aiohttp" +version = "3.9.3" +description = "Async http client/server framework (asyncio)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:939677b61f9d72a4fa2a042a5eee2a99a24001a67c13da113b2e30396567db54"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1f5cd333fcf7590a18334c90f8c9147c837a6ec8a178e88d90a9b96ea03194cc"}, + {file = "aiohttp-3.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:82e6aa28dd46374f72093eda8bcd142f7771ee1eb9d1e223ff0fa7177a96b4a5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f56455b0c2c7cc3b0c584815264461d07b177f903a04481dfc33e08a89f0c26b"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bca77a198bb6e69795ef2f09a5f4c12758487f83f33d63acde5f0d4919815768"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e083c285857b78ee21a96ba1eb1b5339733c3563f72980728ca2b08b53826ca5"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab40e6251c3873d86ea9b30a1ac6d7478c09277b32e14745d0d3c6e76e3c7e29"}, + {file = "aiohttp-3.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:df822ee7feaaeffb99c1a9e5e608800bd8eda6e5f18f5cfb0dc7eeb2eaa6bbec"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:acef0899fea7492145d2bbaaaec7b345c87753168589cc7faf0afec9afe9b747"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:cd73265a9e5ea618014802ab01babf1940cecb90c9762d8b9e7d2cc1e1969ec6"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:a78ed8a53a1221393d9637c01870248a6f4ea5b214a59a92a36f18151739452c"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:6b0e029353361f1746bac2e4cc19b32f972ec03f0f943b390c4ab3371840aabf"}, + {file = "aiohttp-3.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7cf5c9458e1e90e3c390c2639f1017a0379a99a94fdfad3a1fd966a2874bba52"}, + {file = "aiohttp-3.9.3-cp310-cp310-win32.whl", hash = "sha256:3e59c23c52765951b69ec45ddbbc9403a8761ee6f57253250c6e1536cacc758b"}, + {file = "aiohttp-3.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:055ce4f74b82551678291473f66dc9fb9048a50d8324278751926ff0ae7715e5"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6b88f9386ff1ad91ace19d2a1c0225896e28815ee09fc6a8932fded8cda97c3d"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c46956ed82961e31557b6857a5ca153c67e5476972e5f7190015018760938da2"}, + {file = "aiohttp-3.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:07b837ef0d2f252f96009e9b8435ec1fef68ef8b1461933253d318748ec1acdc"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad46e6f620574b3b4801c68255492e0159d1712271cc99d8bdf35f2043ec266"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ed3e046ea7b14938112ccd53d91c1539af3e6679b222f9469981e3dac7ba1ce"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:039df344b45ae0b34ac885ab5b53940b174530d4dd8a14ed8b0e2155b9dddccb"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7943c414d3a8d9235f5f15c22ace69787c140c80b718dcd57caaade95f7cd93b"}, + {file = "aiohttp-3.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84871a243359bb42c12728f04d181a389718710129b36b6aad0fc4655a7647d4"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:5eafe2c065df5401ba06821b9a054d9cb2848867f3c59801b5d07a0be3a380ae"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:9d3c9b50f19704552f23b4eaea1fc082fdd82c63429a6506446cbd8737823da3"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:f033d80bc6283092613882dfe40419c6a6a1527e04fc69350e87a9df02bbc283"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:2c895a656dd7e061b2fd6bb77d971cc38f2afc277229ce7dd3552de8313a483e"}, + {file = "aiohttp-3.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1f5a71d25cd8106eab05f8704cd9167b6e5187bcdf8f090a66c6d88b634802b4"}, + {file = "aiohttp-3.9.3-cp311-cp311-win32.whl", hash = "sha256:50fca156d718f8ced687a373f9e140c1bb765ca16e3d6f4fe116e3df7c05b2c5"}, + {file = "aiohttp-3.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:5fe9ce6c09668063b8447f85d43b8d1c4e5d3d7e92c63173e6180b2ac5d46dd8"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:38a19bc3b686ad55804ae931012f78f7a534cce165d089a2059f658f6c91fa60"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:770d015888c2a598b377bd2f663adfd947d78c0124cfe7b959e1ef39f5b13869"}, + {file = "aiohttp-3.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ee43080e75fc92bf36219926c8e6de497f9b247301bbf88c5c7593d931426679"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52df73f14ed99cee84865b95a3d9e044f226320a87af208f068ecc33e0c35b96"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc9b311743a78043b26ffaeeb9715dc360335e5517832f5a8e339f8a43581e4d"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b955ed993491f1a5da7f92e98d5dad3c1e14dc175f74517c4e610b1f2456fb11"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:504b6981675ace64c28bf4a05a508af5cde526e36492c98916127f5a02354d53"}, + {file = "aiohttp-3.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a6fe5571784af92b6bc2fda8d1925cccdf24642d49546d3144948a6a1ed58ca5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ba39e9c8627edc56544c8628cc180d88605df3892beeb2b94c9bc857774848ca"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e5e46b578c0e9db71d04c4b506a2121c0cb371dd89af17a0586ff6769d4c58c1"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:938a9653e1e0c592053f815f7028e41a3062e902095e5a7dc84617c87267ebd5"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:c3452ea726c76e92f3b9fae4b34a151981a9ec0a4847a627c43d71a15ac32aa6"}, + {file = "aiohttp-3.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ff30218887e62209942f91ac1be902cc80cddb86bf00fbc6783b7a43b2bea26f"}, + {file = "aiohttp-3.9.3-cp312-cp312-win32.whl", hash = "sha256:38f307b41e0bea3294a9a2a87833191e4bcf89bb0365e83a8be3a58b31fb7f38"}, + {file = "aiohttp-3.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:b791a3143681a520c0a17e26ae7465f1b6f99461a28019d1a2f425236e6eedb5"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:0ed621426d961df79aa3b963ac7af0d40392956ffa9be022024cd16297b30c8c"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7f46acd6a194287b7e41e87957bfe2ad1ad88318d447caf5b090012f2c5bb528"}, + {file = "aiohttp-3.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:feeb18a801aacb098220e2c3eea59a512362eb408d4afd0c242044c33ad6d542"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f734e38fd8666f53da904c52a23ce517f1b07722118d750405af7e4123933511"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b40670ec7e2156d8e57f70aec34a7216407848dfe6c693ef131ddf6e76feb672"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdd215b7b7fd4a53994f238d0f46b7ba4ac4c0adb12452beee724ddd0743ae5d"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:017a21b0df49039c8f46ca0971b3a7fdc1f56741ab1240cb90ca408049766168"}, + {file = "aiohttp-3.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e99abf0bba688259a496f966211c49a514e65afa9b3073a1fcee08856e04425b"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:648056db9a9fa565d3fa851880f99f45e3f9a771dd3ff3bb0c048ea83fb28194"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8aacb477dc26797ee089721536a292a664846489c49d3ef9725f992449eda5a8"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:522a11c934ea660ff8953eda090dcd2154d367dec1ae3c540aff9f8a5c109ab4"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:5bce0dc147ca85caa5d33debc4f4d65e8e8b5c97c7f9f660f215fa74fc49a321"}, + {file = "aiohttp-3.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b4af9f25b49a7be47c0972139e59ec0e8285c371049df1a63b6ca81fdd216a2"}, + {file = "aiohttp-3.9.3-cp38-cp38-win32.whl", hash = "sha256:298abd678033b8571995650ccee753d9458dfa0377be4dba91e4491da3f2be63"}, + {file = "aiohttp-3.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:69361bfdca5468c0488d7017b9b1e5ce769d40b46a9f4a2eed26b78619e9396c"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0fa43c32d1643f518491d9d3a730f85f5bbaedcbd7fbcae27435bb8b7a061b29"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:835a55b7ca49468aaaac0b217092dfdff370e6c215c9224c52f30daaa735c1c1"}, + {file = "aiohttp-3.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:06a9b2c8837d9a94fae16c6223acc14b4dfdff216ab9b7202e07a9a09541168f"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abf151955990d23f84205286938796c55ff11bbfb4ccfada8c9c83ae6b3c89a3"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59c26c95975f26e662ca78fdf543d4eeaef70e533a672b4113dd888bd2423caa"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f95511dd5d0e05fd9728bac4096319f80615aaef4acbecb35a990afebe953b0e"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:595f105710293e76b9dc09f52e0dd896bd064a79346234b521f6b968ffdd8e58"}, + {file = "aiohttp-3.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7c8b816c2b5af5c8a436df44ca08258fc1a13b449393a91484225fcb7545533"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f1088fa100bf46e7b398ffd9904f4808a0612e1d966b4aa43baa535d1b6341eb"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f59dfe57bb1ec82ac0698ebfcdb7bcd0e99c255bd637ff613760d5f33e7c81b3"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:361a1026c9dd4aba0109e4040e2aecf9884f5cfe1b1b1bd3d09419c205e2e53d"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:363afe77cfcbe3a36353d8ea133e904b108feea505aa4792dad6585a8192c55a"}, + {file = "aiohttp-3.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e2c45c208c62e955e8256949eb225bd8b66a4c9b6865729a786f2aa79b72e9d"}, + {file = "aiohttp-3.9.3-cp39-cp39-win32.whl", hash = "sha256:f7217af2e14da0856e082e96ff637f14ae45c10a5714b63c77f26d8884cf1051"}, + {file = "aiohttp-3.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:27468897f628c627230dba07ec65dc8d0db566923c48f29e084ce382119802bc"}, + {file = "aiohttp-3.9.3.tar.gz", hash = "sha256:90842933e5d1ff760fae6caca4b2b3edba53ba8f4b71e95dacf2818a2aca06f7"}, +] + +[package.dependencies] +aiosignal = ">=1.1.2" +async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} +attrs = ">=17.3.0" +frozenlist = ">=1.1.1" +multidict = ">=4.5,<7.0" +yarl = ">=1.0,<2.0" + +[package.extras] +speedups = ["Brotli", "aiodns", "brotlicffi"] + +[[package]] +name = "aiosignal" +version = "1.3.1" +description = "aiosignal: a list of registered asynchronous callbacks" +optional = false +python-versions = ">=3.7" +files = [ + {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, + {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, +] + +[package.dependencies] +frozenlist = ">=1.1.0" + +[[package]] +name = "annotated-types" +version = "0.6.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, + {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, +] + +[[package]] +name = "anyio" +version = "4.3.0" +description = "High level compatibility layer for multiple asynchronous event loop implementations" +optional = false +python-versions = ">=3.8" +files = [ + {file = "anyio-4.3.0-py3-none-any.whl", hash = "sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8"}, + {file = "anyio-4.3.0.tar.gz", hash = "sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6"}, +] + +[package.dependencies] +exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} +idna = ">=2.8" +sniffio = ">=1.1" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} + +[package.extras] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (>=0.23)"] + +[[package]] +name = "async-timeout" +version = "4.0.3" +description = "Timeout context manager for asyncio programs" +optional = false +python-versions = ">=3.7" +files = [ + {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, + {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, +] + +[[package]] +name = "attrs" +version = "23.2.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.7" +files = [ + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, +] + +[package.extras] +cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] +dev = ["attrs[tests]", "pre-commit"] +docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] +tests = ["attrs[tests-no-zope]", "zope-interface"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] + +[[package]] +name = "beautifulsoup4" +version = "4.12.3" +description = "Screen-scraping library" +optional = false +python-versions = ">=3.6.0" +files = [ + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, +] + +[package.dependencies] +soupsieve = ">1.2" + +[package.extras] +cchardet = ["cchardet"] +chardet = ["chardet"] +charset-normalizer = ["charset-normalizer"] +html5lib = ["html5lib"] +lxml = ["lxml"] + +[[package]] +name = "black" +version = "24.2.0" +description = "The uncompromising code formatter." +optional = false +python-versions = ">=3.8" +files = [ + {file = "black-24.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6981eae48b3b33399c8757036c7f5d48a535b962a7c2310d19361edeef64ce29"}, + {file = "black-24.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d533d5e3259720fdbc1b37444491b024003e012c5173f7d06825a77508085430"}, + {file = "black-24.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61a0391772490ddfb8a693c067df1ef5227257e72b0e4108482b8d41b5aee13f"}, + {file = "black-24.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:992e451b04667116680cb88f63449267c13e1ad134f30087dec8527242e9862a"}, + {file = "black-24.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:163baf4ef40e6897a2a9b83890e59141cc8c2a98f2dda5080dc15c00ee1e62cd"}, + {file = "black-24.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e37c99f89929af50ffaf912454b3e3b47fd64109659026b678c091a4cd450fb2"}, + {file = "black-24.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9de21bafcba9683853f6c96c2d515e364aee631b178eaa5145fc1c61a3cc92"}, + {file = "black-24.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:9db528bccb9e8e20c08e716b3b09c6bdd64da0dd129b11e160bf082d4642ac23"}, + {file = "black-24.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d84f29eb3ee44859052073b7636533ec995bd0f64e2fb43aeceefc70090e752b"}, + {file = "black-24.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e08fb9a15c914b81dd734ddd7fb10513016e5ce7e6704bdd5e1251ceee51ac9"}, + {file = "black-24.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:810d445ae6069ce64030c78ff6127cd9cd178a9ac3361435708b907d8a04c693"}, + {file = "black-24.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ba15742a13de85e9b8f3239c8f807723991fbfae24bad92d34a2b12e81904982"}, + {file = "black-24.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7e53a8c630f71db01b28cd9602a1ada68c937cbf2c333e6ed041390d6968faf4"}, + {file = "black-24.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:93601c2deb321b4bad8f95df408e3fb3943d85012dddb6121336b8e24a0d1218"}, + {file = "black-24.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0057f800de6acc4407fe75bb147b0c2b5cbb7c3ed110d3e5999cd01184d53b0"}, + {file = "black-24.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:faf2ee02e6612577ba0181f4347bcbcf591eb122f7841ae5ba233d12c39dcb4d"}, + {file = "black-24.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:057c3dc602eaa6fdc451069bd027a1b2635028b575a6c3acfd63193ced20d9c8"}, + {file = "black-24.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:08654d0797e65f2423f850fc8e16a0ce50925f9337fb4a4a176a7aa4026e63f8"}, + {file = "black-24.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca610d29415ee1a30a3f30fab7a8f4144e9d34c89a235d81292a1edb2b55f540"}, + {file = "black-24.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:4dd76e9468d5536abd40ffbc7a247f83b2324f0c050556d9c371c2b9a9a95e31"}, + {file = "black-24.2.0-py3-none-any.whl", hash = "sha256:e8a6ae970537e67830776488bca52000eaa37fa63b9988e8c487458d9cd5ace6"}, + {file = "black-24.2.0.tar.gz", hash = "sha256:bce4f25c27c3435e4dace4815bcb2008b87e167e3bf4ee47ccdc5ce906eb4894"}, +] + +[package.dependencies] +click = ">=8.0.0" +mypy-extensions = ">=0.4.3" +packaging = ">=22.0" +pathspec = ">=0.9.0" +platformdirs = ">=2" +tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} + +[package.extras] +colorama = ["colorama (>=0.4.3)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] +jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] +uvloop = ["uvloop (>=0.15.2)"] + +[[package]] +name = "certifi" +version = "2024.2.2" +description = "Python package for providing Mozilla's CA Bundle." +optional = false +python-versions = ">=3.6" +files = [ + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, +] + +[[package]] +name = "charset-normalizer" +version = "3.3.2" +description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, + {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, + {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, + {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, + {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, + {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, + {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, + {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, +] + +[[package]] +name = "click" +version = "8.1.7" +description = "Composable command line interface toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[[package]] +name = "colorama" +version = "0.4.6" +description = "Cross-platform colored terminal text." +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "cssselect" +version = "1.2.0" +description = "cssselect parses CSS3 Selectors and translates them to XPath 1.0" +optional = false +python-versions = ">=3.7" +files = [ + {file = "cssselect-1.2.0-py2.py3-none-any.whl", hash = "sha256:da1885f0c10b60c03ed5eccbb6b68d6eff248d91976fcde348f395d54c9fd35e"}, + {file = "cssselect-1.2.0.tar.gz", hash = "sha256:666b19839cfaddb9ce9d36bfe4c969132c647b92fc9088c4e23f786b30f1b3dc"}, +] + +[[package]] +name = "dataclasses-json" +version = "0.6.4" +description = "Easily serialize dataclasses to and from JSON." +optional = false +python-versions = ">=3.7,<4.0" +files = [ + {file = "dataclasses_json-0.6.4-py3-none-any.whl", hash = "sha256:f90578b8a3177f7552f4e1a6e535e84293cd5da421fcce0642d49c0d7bdf8df2"}, + {file = "dataclasses_json-0.6.4.tar.gz", hash = "sha256:73696ebf24936560cca79a2430cbc4f3dd23ac7bf46ed17f38e5e5e7657a6377"}, +] + +[package.dependencies] +marshmallow = ">=3.18.0,<4.0.0" +typing-inspect = ">=0.4.0,<1" + +[[package]] +name = "exceptiongroup" +version = "1.2.0" +description = "Backport of PEP 654 (exception groups)" +optional = false +python-versions = ">=3.7" +files = [ + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, +] + +[package.extras] +test = ["pytest (>=6)"] + +[[package]] +name = "feedfinder2" +version = "0.0.4" +description = "Find the feed URLs for a website." +optional = false +python-versions = "*" +files = [ + {file = "feedfinder2-0.0.4.tar.gz", hash = "sha256:3701ee01a6c85f8b865a049c30ba0b4608858c803fe8e30d1d289fdbe89d0efe"}, +] + +[package.dependencies] +beautifulsoup4 = "*" +requests = "*" +six = "*" + +[[package]] +name = "feedparser" +version = "6.0.11" +description = "Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds" +optional = false +python-versions = ">=3.6" +files = [ + {file = "feedparser-6.0.11-py3-none-any.whl", hash = "sha256:0be7ee7b395572b19ebeb1d6aafb0028dee11169f1c934e0ed67d54992f4ad45"}, + {file = "feedparser-6.0.11.tar.gz", hash = "sha256:c9d0407b64c6f2a065d0ebb292c2b35c01050cc0dc33757461aaabdc4c4184d5"}, +] + +[package.dependencies] +sgmllib3k = "*" + +[[package]] +name = "filelock" +version = "3.13.1" +description = "A platform independent file lock." +optional = false +python-versions = ">=3.8" +files = [ + {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, + {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +typing = ["typing-extensions (>=4.8)"] + +[[package]] +name = "flake8" +version = "7.0.0" +description = "the modular source code checker: pep8 pyflakes and co" +optional = false +python-versions = ">=3.8.1" +files = [ + {file = "flake8-7.0.0-py2.py3-none-any.whl", hash = "sha256:a6dfbb75e03252917f2473ea9653f7cd799c3064e54d4c8140044c5c065f53c3"}, + {file = "flake8-7.0.0.tar.gz", hash = "sha256:33f96621059e65eec474169085dc92bf26e7b2d47366b70be2f67ab80dc25132"}, +] + +[package.dependencies] +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.11.0,<2.12.0" +pyflakes = ">=3.2.0,<3.3.0" + +[[package]] +name = "frozenlist" +version = "1.4.1" +description = "A list-like structure which implements collections.abc.MutableSequence" +optional = false +python-versions = ">=3.8" +files = [ + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, + {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, + {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, + {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, + {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, + {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, + {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, + {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, + {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, + {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, + {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, + {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, + {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, +] + +[[package]] +name = "greenlet" +version = "3.0.3" +description = "Lightweight in-process concurrent programming" +optional = false +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, + {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, + {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, + {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, + {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, + {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, + {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, + {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, + {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, + {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, + {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, + {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, + {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, + {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, + {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, + {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, +] + +[package.extras] +docs = ["Sphinx", "furo"] +test = ["objgraph", "psutil"] + +[[package]] +name = "idna" +version = "3.6" +description = "Internationalized Domain Names in Applications (IDNA)" +optional = false +python-versions = ">=3.5" +files = [ + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, +] + +[[package]] +name = "jieba3k" +version = "0.35.1" +description = "Chinese Words Segementation Utilities" +optional = false +python-versions = "*" +files = [ + {file = "jieba3k-0.35.1.zip", hash = "sha256:980a4f2636b778d312518066be90c7697d410dd5a472385f5afced71a2db1c10"}, +] + +[[package]] +name = "joblib" +version = "1.3.2" +description = "Lightweight pipelining with Python functions" +optional = false +python-versions = ">=3.7" +files = [ + {file = "joblib-1.3.2-py3-none-any.whl", hash = "sha256:ef4331c65f239985f3f2220ecc87db222f08fd22097a3dd5698f693875f8cbb9"}, + {file = "joblib-1.3.2.tar.gz", hash = "sha256:92f865e621e17784e7955080b6d042489e3b8e294949cc44c6eac304f59772b1"}, +] + +[[package]] +name = "jsonpatch" +version = "1.33" +description = "Apply JSON-Patches (RFC 6902)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, + {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, +] + +[package.dependencies] +jsonpointer = ">=1.9" + +[[package]] +name = "jsonpointer" +version = "2.4" +description = "Identify specific nodes in a JSON document (RFC 6901)" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" +files = [ + {file = "jsonpointer-2.4-py2.py3-none-any.whl", hash = "sha256:15d51bba20eea3165644553647711d150376234112651b4f1811022aecad7d7a"}, + {file = "jsonpointer-2.4.tar.gz", hash = "sha256:585cee82b70211fa9e6043b7bb89db6e1aa49524340dde8ad6b63206ea689d88"}, +] + +[[package]] +name = "langchain" +version = "0.1.9" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain-0.1.9-py3-none-any.whl", hash = "sha256:1436a9f4e498bb9f8e01e0ab8d185771d49c0fc96b3d2da4d5bed5055015746f"}, + {file = "langchain-0.1.9.tar.gz", hash = "sha256:da1f89aeaf5cbc225eb1d6523af0f273c062fdc40a76ec455486c3c184f741b1"}, +] + +[package.dependencies] +aiohttp = ">=3.8.3,<4.0.0" +async-timeout = {version = ">=4.0.0,<5.0.0", markers = "python_version < \"3.11\""} +dataclasses-json = ">=0.5.7,<0.7" +jsonpatch = ">=1.33,<2.0" +langchain-community = ">=0.0.21,<0.1" +langchain-core = ">=0.1.26,<0.2" +langsmith = ">=0.1.0,<0.2.0" +numpy = ">=1,<2" +pydantic = ">=1,<3" +PyYAML = ">=5.3" +requests = ">=2,<3" +SQLAlchemy = ">=1.4,<3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +azure = ["azure-ai-formrecognizer (>=3.2.1,<4.0.0)", "azure-ai-textanalytics (>=5.3.0,<6.0.0)", "azure-ai-vision (>=0.11.1b1,<0.12.0)", "azure-cognitiveservices-speech (>=1.28.0,<2.0.0)", "azure-core (>=1.26.4,<2.0.0)", "azure-cosmos (>=4.4.0b1,<5.0.0)", "azure-identity (>=1.12.0,<2.0.0)", "azure-search-documents (==11.4.0b8)", "openai (<2)"] +clarifai = ["clarifai (>=9.1.0)"] +cli = ["typer (>=0.9.0,<0.10.0)"] +cohere = ["cohere (>=4,<5)"] +docarray = ["docarray[hnswlib] (>=0.32.0,<0.33.0)"] +embeddings = ["sentence-transformers (>=2,<3)"] +extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.0,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cohere (>=4,<5)", "couchbase (>=4.1.9,<5.0.0)", "dashvector (>=1.0.1,<2.0.0)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "langchain-openai (>=0.0.2,<0.1)", "lxml (>=4.9.2,<5.0.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "rdflib (==7.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "upstash-redis (>=0.15.0,<0.16.0)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)"] +javascript = ["esprima (>=4.0.1,<5.0.0)"] +llms = ["clarifai (>=9.1.0)", "cohere (>=4,<5)", "huggingface_hub (>=0,<1)", "manifest-ml (>=0.0.1,<0.0.2)", "nlpcloud (>=1,<2)", "openai (<2)", "openlm (>=0.0.5,<0.0.6)", "torch (>=1,<3)", "transformers (>=4,<5)"] +openai = ["openai (<2)", "tiktoken (>=0.3.2,<0.6.0)"] +qdrant = ["qdrant-client (>=1.3.1,<2.0.0)"] +text-helpers = ["chardet (>=5.1.0,<6.0.0)"] + +[[package]] +name = "langchain-community" +version = "0.0.24" +description = "Community contributed LangChain integrations." +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_community-0.0.24-py3-none-any.whl", hash = "sha256:575e776817d6f5e3dfdff0230049de342e06aaa60fb1924316cf82b4e710fe84"}, + {file = "langchain_community-0.0.24.tar.gz", hash = "sha256:fd609f6c962cca4b7b75f2159f1fbf74b14fdd45011ee2be53e95db4e678837f"}, +] + +[package.dependencies] +aiohttp = ">=3.8.3,<4.0.0" +dataclasses-json = ">=0.5.7,<0.7" +langchain-core = ">=0.1.26,<0.2" +langsmith = ">=0.1.0,<0.2.0" +numpy = ">=1,<2" +PyYAML = ">=5.3" +requests = ">=2,<3" +SQLAlchemy = ">=1.4,<3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +cli = ["typer (>=0.9.0,<0.10.0)"] +extended-testing = ["aiosqlite (>=0.19.0,<0.20.0)", "aleph-alpha-client (>=2.15.0,<3.0.0)", "anthropic (>=0.3.11,<0.4.0)", "arxiv (>=1.4,<2.0)", "assemblyai (>=0.17.0,<0.18.0)", "atlassian-python-api (>=3.36.0,<4.0.0)", "azure-ai-documentintelligence (>=1.0.0b1,<2.0.0)", "beautifulsoup4 (>=4,<5)", "bibtexparser (>=1.4.0,<2.0.0)", "cassio (>=0.1.0,<0.2.0)", "chardet (>=5.1.0,<6.0.0)", "cohere (>=4,<5)", "databricks-vectorsearch (>=0.21,<0.22)", "datasets (>=2.15.0,<3.0.0)", "dgml-utils (>=0.3.0,<0.4.0)", "elasticsearch (>=8.12.0,<9.0.0)", "esprima (>=4.0.1,<5.0.0)", "faiss-cpu (>=1,<2)", "feedparser (>=6.0.10,<7.0.0)", "fireworks-ai (>=0.9.0,<0.10.0)", "geopandas (>=0.13.1,<0.14.0)", "gitpython (>=3.1.32,<4.0.0)", "google-cloud-documentai (>=2.20.1,<3.0.0)", "gql (>=3.4.1,<4.0.0)", "gradientai (>=1.4.0,<2.0.0)", "hdbcli (>=2.19.21,<3.0.0)", "hologres-vector (>=0.0.6,<0.0.7)", "html2text (>=2020.1.16,<2021.0.0)", "httpx (>=0.24.1,<0.25.0)", "javelin-sdk (>=0.1.8,<0.2.0)", "jinja2 (>=3,<4)", "jq (>=1.4.1,<2.0.0)", "jsonschema (>1)", "lxml (>=4.9.2,<5.0.0)", "markdownify (>=0.11.6,<0.12.0)", "motor (>=3.3.1,<4.0.0)", "msal (>=1.25.0,<2.0.0)", "mwparserfromhell (>=0.6.4,<0.7.0)", "mwxml (>=0.3.3,<0.4.0)", "newspaper3k (>=0.2.8,<0.3.0)", "numexpr (>=2.8.6,<3.0.0)", "nvidia-riva-client (>=2.14.0,<3.0.0)", "oci (>=2.119.1,<3.0.0)", "openai (<2)", "openapi-pydantic (>=0.3.2,<0.4.0)", "oracle-ads (>=2.9.1,<3.0.0)", "pandas (>=2.0.1,<3.0.0)", "pdfminer-six (>=20221105,<20221106)", "pgvector (>=0.1.6,<0.2.0)", "praw (>=7.7.1,<8.0.0)", "psychicapi (>=0.8.0,<0.9.0)", "py-trello (>=0.19.0,<0.20.0)", "pymupdf (>=1.22.3,<2.0.0)", "pypdf (>=3.4.0,<4.0.0)", "pypdfium2 (>=4.10.0,<5.0.0)", "pyspark (>=3.4.0,<4.0.0)", "rank-bm25 (>=0.2.2,<0.3.0)", "rapidfuzz (>=3.1.1,<4.0.0)", "rapidocr-onnxruntime (>=1.3.2,<2.0.0)", "rdflib (==7.0.0)", "requests-toolbelt (>=1.0.0,<2.0.0)", "rspace_client (>=2.5.0,<3.0.0)", "scikit-learn (>=1.2.2,<2.0.0)", "sqlite-vss (>=0.1.2,<0.2.0)", "streamlit (>=1.18.0,<2.0.0)", "sympy (>=1.12,<2.0)", "telethon (>=1.28.5,<2.0.0)", "timescale-vector (>=0.0.1,<0.0.2)", "tqdm (>=4.48.0)", "tree-sitter (>=0.20.2,<0.21.0)", "tree-sitter-languages (>=1.8.0,<2.0.0)", "upstash-redis (>=0.15.0,<0.16.0)", "xata (>=1.0.0a7,<2.0.0)", "xmltodict (>=0.13.0,<0.14.0)", "zhipuai (>=1.0.7,<2.0.0)"] + +[[package]] +name = "langchain-core" +version = "0.1.26" +description = "Building applications with LLMs through composability" +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langchain_core-0.1.26-py3-none-any.whl", hash = "sha256:4f54cd26c27473172d7a214a5507a4c0e3255c6d8c25d9087afdc967f5588516"}, + {file = "langchain_core-0.1.26.tar.gz", hash = "sha256:6186758d62015723aac67ef1a2055695d03e82c4dd4074217975b0c62faf4b17"}, +] + +[package.dependencies] +anyio = ">=3,<5" +jsonpatch = ">=1.33,<2.0" +langsmith = ">=0.1.0,<0.2.0" +packaging = ">=23.2,<24.0" +pydantic = ">=1,<3" +PyYAML = ">=5.3" +requests = ">=2,<3" +tenacity = ">=8.1.0,<9.0.0" + +[package.extras] +extended-testing = ["jinja2 (>=3,<4)"] + +[[package]] +name = "langsmith" +version = "0.1.8" +description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform." +optional = false +python-versions = ">=3.8.1,<4.0" +files = [ + {file = "langsmith-0.1.8-py3-none-any.whl", hash = "sha256:f4320fd80ec9d311a648e7d4c44e0814e6e5454772c5026f40db0307bc07e287"}, + {file = "langsmith-0.1.8.tar.gz", hash = "sha256:ab5f1cdfb7d418109ea506d41928fb8708547db2f6c7f7da7cfe997f3c55767b"}, +] + +[package.dependencies] +orjson = ">=3.9.14,<4.0.0" +pydantic = ">=1,<3" +requests = ">=2,<3" + +[[package]] +name = "lxml" +version = "5.1.0" +description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." +optional = false +python-versions = ">=3.6" +files = [ + {file = "lxml-5.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:704f5572ff473a5f897745abebc6df40f22d4133c1e0a1f124e4f2bd3330ff7e"}, + {file = "lxml-5.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9d3c0f8567ffe7502d969c2c1b809892dc793b5d0665f602aad19895f8d508da"}, + {file = "lxml-5.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5fcfbebdb0c5d8d18b84118842f31965d59ee3e66996ac842e21f957eb76138c"}, + {file = "lxml-5.1.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f37c6d7106a9d6f0708d4e164b707037b7380fcd0b04c5bd9cae1fb46a856fb"}, + {file = "lxml-5.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2befa20a13f1a75c751f47e00929fb3433d67eb9923c2c0b364de449121f447c"}, + {file = "lxml-5.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22b7ee4c35f374e2c20337a95502057964d7e35b996b1c667b5c65c567d2252a"}, + {file = "lxml-5.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bf8443781533b8d37b295016a4b53c1494fa9a03573c09ca5104550c138d5c05"}, + {file = "lxml-5.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:82bddf0e72cb2af3cbba7cec1d2fd11fda0de6be8f4492223d4a268713ef2147"}, + {file = "lxml-5.1.0-cp310-cp310-win32.whl", hash = "sha256:b66aa6357b265670bb574f050ffceefb98549c721cf28351b748be1ef9577d93"}, + {file = "lxml-5.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:4946e7f59b7b6a9e27bef34422f645e9a368cb2be11bf1ef3cafc39a1f6ba68d"}, + {file = "lxml-5.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:14deca1460b4b0f6b01f1ddc9557704e8b365f55c63070463f6c18619ebf964f"}, + {file = "lxml-5.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed8c3d2cd329bf779b7ed38db176738f3f8be637bb395ce9629fc76f78afe3d4"}, + {file = "lxml-5.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:436a943c2900bb98123b06437cdd30580a61340fbdb7b28aaf345a459c19046a"}, + {file = "lxml-5.1.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:acb6b2f96f60f70e7f34efe0c3ea34ca63f19ca63ce90019c6cbca6b676e81fa"}, + {file = "lxml-5.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:af8920ce4a55ff41167ddbc20077f5698c2e710ad3353d32a07d3264f3a2021e"}, + {file = "lxml-5.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cfced4a069003d8913408e10ca8ed092c49a7f6cefee9bb74b6b3e860683b45"}, + {file = "lxml-5.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9e5ac3437746189a9b4121db2a7b86056ac8786b12e88838696899328fc44bb2"}, + {file = "lxml-5.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f4c9bda132ad108b387c33fabfea47866af87f4ea6ffb79418004f0521e63204"}, + {file = "lxml-5.1.0-cp311-cp311-win32.whl", hash = "sha256:bc64d1b1dab08f679fb89c368f4c05693f58a9faf744c4d390d7ed1d8223869b"}, + {file = "lxml-5.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:a5ab722ae5a873d8dcee1f5f45ddd93c34210aed44ff2dc643b5025981908cda"}, + {file = "lxml-5.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9aa543980ab1fbf1720969af1d99095a548ea42e00361e727c58a40832439114"}, + {file = "lxml-5.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6f11b77ec0979f7e4dc5ae081325a2946f1fe424148d3945f943ceaede98adb8"}, + {file = "lxml-5.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a36c506e5f8aeb40680491d39ed94670487ce6614b9d27cabe45d94cd5d63e1e"}, + {file = "lxml-5.1.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f643ffd2669ffd4b5a3e9b41c909b72b2a1d5e4915da90a77e119b8d48ce867a"}, + {file = "lxml-5.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16dd953fb719f0ffc5bc067428fc9e88f599e15723a85618c45847c96f11f431"}, + {file = "lxml-5.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16018f7099245157564d7148165132c70adb272fb5a17c048ba70d9cc542a1a1"}, + {file = "lxml-5.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:82cd34f1081ae4ea2ede3d52f71b7be313756e99b4b5f829f89b12da552d3aa3"}, + {file = "lxml-5.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:19a1bc898ae9f06bccb7c3e1dfd73897ecbbd2c96afe9095a6026016e5ca97b8"}, + {file = "lxml-5.1.0-cp312-cp312-win32.whl", hash = "sha256:13521a321a25c641b9ea127ef478b580b5ec82aa2e9fc076c86169d161798b01"}, + {file = "lxml-5.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:1ad17c20e3666c035db502c78b86e58ff6b5991906e55bdbef94977700c72623"}, + {file = "lxml-5.1.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:24ef5a4631c0b6cceaf2dbca21687e29725b7c4e171f33a8f8ce23c12558ded1"}, + {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d2900b7f5318bc7ad8631d3d40190b95ef2aa8cc59473b73b294e4a55e9f30f"}, + {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:601f4a75797d7a770daed8b42b97cd1bb1ba18bd51a9382077a6a247a12aa38d"}, + {file = "lxml-5.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4b68c961b5cc402cbd99cca5eb2547e46ce77260eb705f4d117fd9c3f932b95"}, + {file = "lxml-5.1.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:afd825e30f8d1f521713a5669b63657bcfe5980a916c95855060048b88e1adb7"}, + {file = "lxml-5.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:262bc5f512a66b527d026518507e78c2f9c2bd9eb5c8aeeb9f0eb43fcb69dc67"}, + {file = "lxml-5.1.0-cp36-cp36m-win32.whl", hash = "sha256:e856c1c7255c739434489ec9c8aa9cdf5179785d10ff20add308b5d673bed5cd"}, + {file = "lxml-5.1.0-cp36-cp36m-win_amd64.whl", hash = "sha256:c7257171bb8d4432fe9d6fdde4d55fdbe663a63636a17f7f9aaba9bcb3153ad7"}, + {file = "lxml-5.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b9e240ae0ba96477682aa87899d94ddec1cc7926f9df29b1dd57b39e797d5ab5"}, + {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a96f02ba1bcd330807fc060ed91d1f7a20853da6dd449e5da4b09bfcc08fdcf5"}, + {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e3898ae2b58eeafedfe99e542a17859017d72d7f6a63de0f04f99c2cb125936"}, + {file = "lxml-5.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61c5a7edbd7c695e54fca029ceb351fc45cd8860119a0f83e48be44e1c464862"}, + {file = "lxml-5.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3aeca824b38ca78d9ee2ab82bd9883083d0492d9d17df065ba3b94e88e4d7ee6"}, + {file = "lxml-5.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8f52fe6859b9db71ee609b0c0a70fea5f1e71c3462ecf144ca800d3f434f0764"}, + {file = "lxml-5.1.0-cp37-cp37m-win32.whl", hash = "sha256:d42e3a3fc18acc88b838efded0e6ec3edf3e328a58c68fbd36a7263a874906c8"}, + {file = "lxml-5.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:eac68f96539b32fce2c9b47eb7c25bb2582bdaf1bbb360d25f564ee9e04c542b"}, + {file = "lxml-5.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ae15347a88cf8af0949a9872b57a320d2605ae069bcdf047677318bc0bba45b1"}, + {file = "lxml-5.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c26aab6ea9c54d3bed716b8851c8bfc40cb249b8e9880e250d1eddde9f709bf5"}, + {file = "lxml-5.1.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:342e95bddec3a698ac24378d61996b3ee5ba9acfeb253986002ac53c9a5f6f84"}, + {file = "lxml-5.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:725e171e0b99a66ec8605ac77fa12239dbe061482ac854d25720e2294652eeaa"}, + {file = "lxml-5.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d184e0d5c918cff04cdde9dbdf9600e960161d773666958c9d7b565ccc60c45"}, + {file = "lxml-5.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:98f3f020a2b736566c707c8e034945c02aa94e124c24f77ca097c446f81b01f1"}, + {file = "lxml-5.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6d48fc57e7c1e3df57be5ae8614bab6d4e7b60f65c5457915c26892c41afc59e"}, + {file = "lxml-5.1.0-cp38-cp38-win32.whl", hash = "sha256:7ec465e6549ed97e9f1e5ed51c657c9ede767bc1c11552f7f4d022c4df4a977a"}, + {file = "lxml-5.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:b21b4031b53d25b0858d4e124f2f9131ffc1530431c6d1321805c90da78388d1"}, + {file = "lxml-5.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:52427a7eadc98f9e62cb1368a5079ae826f94f05755d2d567d93ee1bc3ceb354"}, + {file = "lxml-5.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6a2a2c724d97c1eb8cf966b16ca2915566a4904b9aad2ed9a09c748ffe14f969"}, + {file = "lxml-5.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:843b9c835580d52828d8f69ea4302537337a21e6b4f1ec711a52241ba4a824f3"}, + {file = "lxml-5.1.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9b99f564659cfa704a2dd82d0684207b1aadf7d02d33e54845f9fc78e06b7581"}, + {file = "lxml-5.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f8b0c78e7aac24979ef09b7f50da871c2de2def043d468c4b41f512d831e912"}, + {file = "lxml-5.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9bcf86dfc8ff3e992fed847c077bd875d9e0ba2fa25d859c3a0f0f76f07f0c8d"}, + {file = "lxml-5.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:49a9b4af45e8b925e1cd6f3b15bbba2c81e7dba6dce170c677c9cda547411e14"}, + {file = "lxml-5.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:280f3edf15c2a967d923bcfb1f8f15337ad36f93525828b40a0f9d6c2ad24890"}, + {file = "lxml-5.1.0-cp39-cp39-win32.whl", hash = "sha256:ed7326563024b6e91fef6b6c7a1a2ff0a71b97793ac33dbbcf38f6005e51ff6e"}, + {file = "lxml-5.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:8d7b4beebb178e9183138f552238f7e6613162a42164233e2bda00cb3afac58f"}, + {file = "lxml-5.1.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9bd0ae7cc2b85320abd5e0abad5ccee5564ed5f0cc90245d2f9a8ef330a8deae"}, + {file = "lxml-5.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8c1d679df4361408b628f42b26a5d62bd3e9ba7f0c0e7969f925021554755aa"}, + {file = "lxml-5.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2ad3a8ce9e8a767131061a22cd28fdffa3cd2dc193f399ff7b81777f3520e372"}, + {file = "lxml-5.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:304128394c9c22b6569eba2a6d98392b56fbdfbad58f83ea702530be80d0f9df"}, + {file = "lxml-5.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d74fcaf87132ffc0447b3c685a9f862ffb5b43e70ea6beec2fb8057d5d2a1fea"}, + {file = "lxml-5.1.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:8cf5877f7ed384dabfdcc37922c3191bf27e55b498fecece9fd5c2c7aaa34c33"}, + {file = "lxml-5.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:877efb968c3d7eb2dad540b6cabf2f1d3c0fbf4b2d309a3c141f79c7e0061324"}, + {file = "lxml-5.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f14a4fb1c1c402a22e6a341a24c1341b4a3def81b41cd354386dcb795f83897"}, + {file = "lxml-5.1.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:25663d6e99659544ee8fe1b89b1a8c0aaa5e34b103fab124b17fa958c4a324a6"}, + {file = "lxml-5.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8b9f19df998761babaa7f09e6bc169294eefafd6149aaa272081cbddc7ba4ca3"}, + {file = "lxml-5.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e53d7e6a98b64fe54775d23a7c669763451340c3d44ad5e3a3b48a1efbdc96f"}, + {file = "lxml-5.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:c3cd1fc1dc7c376c54440aeaaa0dcc803d2126732ff5c6b68ccd619f2e64be4f"}, + {file = "lxml-5.1.0.tar.gz", hash = "sha256:3eea6ed6e6c918e468e693c41ef07f3c3acc310b70ddd9cc72d9ef84bc9564ca"}, +] + +[package.extras] +cssselect = ["cssselect (>=0.7)"] +html5 = ["html5lib"] +htmlsoup = ["BeautifulSoup4"] +source = ["Cython (>=3.0.7)"] + +[[package]] +name = "marshmallow" +version = "3.20.2" +description = "A lightweight library for converting complex datatypes to and from native Python datatypes." +optional = false +python-versions = ">=3.8" +files = [ + {file = "marshmallow-3.20.2-py3-none-any.whl", hash = "sha256:c21d4b98fee747c130e6bc8f45c4b3199ea66bc00c12ee1f639f0aeca034d5e9"}, + {file = "marshmallow-3.20.2.tar.gz", hash = "sha256:4c1daff273513dc5eb24b219a8035559dc573c8f322558ef85f5438ddd1236dd"}, +] + +[package.dependencies] +packaging = ">=17.0" + +[package.extras] +dev = ["pre-commit (>=2.4,<4.0)", "pytest", "pytz", "simplejson", "tox"] +docs = ["alabaster (==0.7.15)", "autodocsumm (==0.2.12)", "sphinx (==7.2.6)", "sphinx-issues (==3.0.1)", "sphinx-version-warning (==1.1.2)"] +lint = ["pre-commit (>=2.4,<4.0)"] +tests = ["pytest", "pytz", "simplejson"] + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +optional = false +python-versions = ">=3.6" +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "multidict" +version = "6.0.5" +description = "multidict implementation" +optional = false +python-versions = ">=3.7" +files = [ + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, + {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, + {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, + {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, + {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, + {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, + {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, + {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, + {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, + {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, + {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, + {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, + {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, + {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, + {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, + {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, +] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +description = "Type system extensions for programs checked with the mypy type checker." +optional = false +python-versions = ">=3.5" +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "newspaper3k" +version = "0.2.8" +description = "Simplified python article discovery & extraction." +optional = false +python-versions = "*" +files = [ + {file = "newspaper3k-0.2.8-py3-none-any.whl", hash = "sha256:44a864222633d3081113d1030615991c3dbba87239f6bbf59d91240f71a22e3e"}, + {file = "newspaper3k-0.2.8.tar.gz", hash = "sha256:9f1bd3e1fb48f400c715abf875cc7b0a67b7ddcd87f50c9aeeb8fcbbbd9004fb"}, +] + +[package.dependencies] +beautifulsoup4 = ">=4.4.1" +cssselect = ">=0.9.2" +feedfinder2 = ">=0.0.4" +feedparser = ">=5.2.1" +jieba3k = ">=0.35.1" +lxml = ">=3.6.0" +nltk = ">=3.2.1" +Pillow = ">=3.3.0" +python-dateutil = ">=2.5.3" +PyYAML = ">=3.11" +requests = ">=2.10.0" +tinysegmenter = "0.3" +tldextract = ">=2.0.1" + +[[package]] +name = "nltk" +version = "3.8.1" +description = "Natural Language Toolkit" +optional = false +python-versions = ">=3.7" +files = [ + {file = "nltk-3.8.1-py3-none-any.whl", hash = "sha256:fd5c9109f976fa86bcadba8f91e47f5e9293bd034474752e92a520f81c93dda5"}, + {file = "nltk-3.8.1.zip", hash = "sha256:1834da3d0682cba4f2cede2f9aad6b0fafb6461ba451db0efb6f9c39798d64d3"}, +] + +[package.dependencies] +click = "*" +joblib = "*" +regex = ">=2021.8.3" +tqdm = "*" + +[package.extras] +all = ["matplotlib", "numpy", "pyparsing", "python-crfsuite", "requests", "scikit-learn", "scipy", "twython"] +corenlp = ["requests"] +machine-learning = ["numpy", "python-crfsuite", "scikit-learn", "scipy"] +plot = ["matplotlib"] +tgrep = ["pyparsing"] +twitter = ["twython"] + +[[package]] +name = "numpy" +version = "1.26.4" +description = "Fundamental package for array computing in Python" +optional = false +python-versions = ">=3.9" +files = [ + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, +] + +[[package]] +name = "orjson" +version = "3.9.15" +description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" +optional = false +python-versions = ">=3.8" +files = [ + {file = "orjson-3.9.15-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:d61f7ce4727a9fa7680cd6f3986b0e2c732639f46a5e0156e550e35258aa313a"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4feeb41882e8aa17634b589533baafdceb387e01e117b1ec65534ec724023d04"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fbbeb3c9b2edb5fd044b2a070f127a0ac456ffd079cb82746fc84af01ef021a4"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b66bcc5670e8a6b78f0313bcb74774c8291f6f8aeef10fe70e910b8040f3ab75"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2973474811db7b35c30248d1129c64fd2bdf40d57d84beed2a9a379a6f57d0ab"}, + {file = "orjson-3.9.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fe41b6f72f52d3da4db524c8653e46243c8c92df826ab5ffaece2dba9cccd58"}, + {file = "orjson-3.9.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4228aace81781cc9d05a3ec3a6d2673a1ad0d8725b4e915f1089803e9efd2b99"}, + {file = "orjson-3.9.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f7b65bfaf69493c73423ce9db66cfe9138b2f9ef62897486417a8fcb0a92bfe"}, + {file = "orjson-3.9.15-cp310-none-win32.whl", hash = "sha256:2d99e3c4c13a7b0fb3792cc04c2829c9db07838fb6973e578b85c1745e7d0ce7"}, + {file = "orjson-3.9.15-cp310-none-win_amd64.whl", hash = "sha256:b725da33e6e58e4a5d27958568484aa766e825e93aa20c26c91168be58e08cbb"}, + {file = "orjson-3.9.15-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c8e8fe01e435005d4421f183038fc70ca85d2c1e490f51fb972db92af6e047c2"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87f1097acb569dde17f246faa268759a71a2cb8c96dd392cd25c668b104cad2f"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff0f9913d82e1d1fadbd976424c316fbc4d9c525c81d047bbdd16bd27dd98cfc"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8055ec598605b0077e29652ccfe9372247474375e0e3f5775c91d9434e12d6b1"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d6768a327ea1ba44c9114dba5fdda4a214bdb70129065cd0807eb5f010bfcbb5"}, + {file = "orjson-3.9.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12365576039b1a5a47df01aadb353b68223da413e2e7f98c02403061aad34bde"}, + {file = "orjson-3.9.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:71c6b009d431b3839d7c14c3af86788b3cfac41e969e3e1c22f8a6ea13139404"}, + {file = "orjson-3.9.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e18668f1bd39e69b7fed19fa7cd1cd110a121ec25439328b5c89934e6d30d357"}, + {file = "orjson-3.9.15-cp311-none-win32.whl", hash = "sha256:62482873e0289cf7313461009bf62ac8b2e54bc6f00c6fabcde785709231a5d7"}, + {file = "orjson-3.9.15-cp311-none-win_amd64.whl", hash = "sha256:b3d336ed75d17c7b1af233a6561cf421dee41d9204aa3cfcc6c9c65cd5bb69a8"}, + {file = "orjson-3.9.15-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:82425dd5c7bd3adfe4e94c78e27e2fa02971750c2b7ffba648b0f5d5cc016a73"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c51378d4a8255b2e7c1e5cc430644f0939539deddfa77f6fac7b56a9784160a"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6ae4e06be04dc00618247c4ae3f7c3e561d5bc19ab6941427f6d3722a0875ef7"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bcef128f970bb63ecf9a65f7beafd9b55e3aaf0efc271a4154050fc15cdb386e"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b72758f3ffc36ca566ba98a8e7f4f373b6c17c646ff8ad9b21ad10c29186f00d"}, + {file = "orjson-3.9.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c57bc7b946cf2efa67ac55766e41764b66d40cbd9489041e637c1304400494"}, + {file = "orjson-3.9.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:946c3a1ef25338e78107fba746f299f926db408d34553b4754e90a7de1d44068"}, + {file = "orjson-3.9.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2f256d03957075fcb5923410058982aea85455d035607486ccb847f095442bda"}, + {file = "orjson-3.9.15-cp312-none-win_amd64.whl", hash = "sha256:5bb399e1b49db120653a31463b4a7b27cf2fbfe60469546baf681d1b39f4edf2"}, + {file = "orjson-3.9.15-cp38-cp38-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:b17f0f14a9c0ba55ff6279a922d1932e24b13fc218a3e968ecdbf791b3682b25"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f6cbd8e6e446fb7e4ed5bac4661a29e43f38aeecbf60c4b900b825a353276a1"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:76bc6356d07c1d9f4b782813094d0caf1703b729d876ab6a676f3aaa9a47e37c"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fdfa97090e2d6f73dced247a2f2d8004ac6449df6568f30e7fa1a045767c69a6"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7413070a3e927e4207d00bd65f42d1b780fb0d32d7b1d951f6dc6ade318e1b5a"}, + {file = "orjson-3.9.15-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9cf1596680ac1f01839dba32d496136bdd5d8ffb858c280fa82bbfeb173bdd40"}, + {file = "orjson-3.9.15-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:809d653c155e2cc4fd39ad69c08fdff7f4016c355ae4b88905219d3579e31eb7"}, + {file = "orjson-3.9.15-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:920fa5a0c5175ab14b9c78f6f820b75804fb4984423ee4c4f1e6d748f8b22bc1"}, + {file = "orjson-3.9.15-cp38-none-win32.whl", hash = "sha256:2b5c0f532905e60cf22a511120e3719b85d9c25d0e1c2a8abb20c4dede3b05a5"}, + {file = "orjson-3.9.15-cp38-none-win_amd64.whl", hash = "sha256:67384f588f7f8daf040114337d34a5188346e3fae6c38b6a19a2fe8c663a2f9b"}, + {file = "orjson-3.9.15-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:6fc2fe4647927070df3d93f561d7e588a38865ea0040027662e3e541d592811e"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34cbcd216e7af5270f2ffa63a963346845eb71e174ea530867b7443892d77180"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f541587f5c558abd93cb0de491ce99a9ef8d1ae29dd6ab4dbb5a13281ae04cbd"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:92255879280ef9c3c0bcb327c5a1b8ed694c290d61a6a532458264f887f052cb"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:05a1f57fb601c426635fcae9ddbe90dfc1ed42245eb4c75e4960440cac667262"}, + {file = "orjson-3.9.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ede0bde16cc6e9b96633df1631fbcd66491d1063667f260a4f2386a098393790"}, + {file = "orjson-3.9.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e88b97ef13910e5f87bcbc4dd7979a7de9ba8702b54d3204ac587e83639c0c2b"}, + {file = "orjson-3.9.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57d5d8cf9c27f7ef6bc56a5925c7fbc76b61288ab674eb352c26ac780caa5b10"}, + {file = "orjson-3.9.15-cp39-none-win32.whl", hash = "sha256:001f4eb0ecd8e9ebd295722d0cbedf0748680fb9998d3993abaed2f40587257a"}, + {file = "orjson-3.9.15-cp39-none-win_amd64.whl", hash = "sha256:ea0b183a5fe6b2b45f3b854b0d19c4e932d6f5934ae1f723b07cf9560edd4ec7"}, + {file = "orjson-3.9.15.tar.gz", hash = "sha256:95cae920959d772f30ab36d3b25f83bb0f3be671e986c72ce22f8fa700dae061"}, +] + +[[package]] +name = "packaging" +version = "23.2" +description = "Core utilities for Python packages" +optional = false +python-versions = ">=3.7" +files = [ + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "pillow" +version = "10.2.0" +description = "Python Imaging Library (Fork)" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, + {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, + {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, + {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, + {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, + {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, + {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, + {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, + {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, + {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, + {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, + {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, + {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, + {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, + {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, + {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, + {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, +] + +[package.extras] +docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] +tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] + +[[package]] +name = "platformdirs" +version = "4.2.0" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, +] + +[package.extras] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] + +[[package]] +name = "pycodestyle" +version = "2.11.1" +description = "Python style guide checker" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pycodestyle-2.11.1-py2.py3-none-any.whl", hash = "sha256:44fe31000b2d866f2e41841b18528a505fbd7fef9017b04eff4e2648a0fadc67"}, + {file = "pycodestyle-2.11.1.tar.gz", hash = "sha256:41ba0e7afc9752dfb53ced5489e89f8186be00e599e712660695b7a75ff2663f"}, +] + +[[package]] +name = "pydantic" +version = "2.6.2" +description = "Data validation using Python type hints" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pydantic-2.6.2-py3-none-any.whl", hash = "sha256:37a5432e54b12fecaa1049c5195f3d860a10e01bdfd24f1840ef14bd0d3aeab3"}, + {file = "pydantic-2.6.2.tar.gz", hash = "sha256:a09be1c3d28f3abe37f8a78af58284b236a92ce520105ddc91a6d29ea1176ba7"}, +] + +[package.dependencies] +annotated-types = ">=0.4.0" +pydantic-core = "2.16.3" +typing-extensions = ">=4.6.1" + +[package.extras] +email = ["email-validator (>=2.0.0)"] + +[[package]] +name = "pydantic-core" +version = "2.16.3" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pydantic_core-2.16.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:75b81e678d1c1ede0785c7f46690621e4c6e63ccd9192af1f0bd9d504bbb6bf4"}, + {file = "pydantic_core-2.16.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9c865a7ee6f93783bd5d781af5a4c43dadc37053a5b42f7d18dc019f8c9d2bd1"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:162e498303d2b1c036b957a1278fa0899d02b2842f1ff901b6395104c5554a45"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2f583bd01bbfbff4eaee0868e6fc607efdfcc2b03c1c766b06a707abbc856187"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b926dd38db1519ed3043a4de50214e0d600d404099c3392f098a7f9d75029ff8"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:716b542728d4c742353448765aa7cdaa519a7b82f9564130e2b3f6766018c9ec"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc4ad7f7ee1a13d9cb49d8198cd7d7e3aa93e425f371a68235f784e99741561f"}, + {file = "pydantic_core-2.16.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bd87f48924f360e5d1c5f770d6155ce0e7d83f7b4e10c2f9ec001c73cf475c99"}, + {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0df446663464884297c793874573549229f9eca73b59360878f382a0fc085979"}, + {file = "pydantic_core-2.16.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:4df8a199d9f6afc5ae9a65f8f95ee52cae389a8c6b20163762bde0426275b7db"}, + {file = "pydantic_core-2.16.3-cp310-none-win32.whl", hash = "sha256:456855f57b413f077dff513a5a28ed838dbbb15082ba00f80750377eed23d132"}, + {file = "pydantic_core-2.16.3-cp310-none-win_amd64.whl", hash = "sha256:732da3243e1b8d3eab8c6ae23ae6a58548849d2e4a4e03a1924c8ddf71a387cb"}, + {file = "pydantic_core-2.16.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:519ae0312616026bf4cedc0fe459e982734f3ca82ee8c7246c19b650b60a5ee4"}, + {file = "pydantic_core-2.16.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b3992a322a5617ded0a9f23fd06dbc1e4bd7cf39bc4ccf344b10f80af58beacd"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d62da299c6ecb04df729e4b5c52dc0d53f4f8430b4492b93aa8de1f541c4aac"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2acca2be4bb2f2147ada8cac612f8a98fc09f41c89f87add7256ad27332c2fda"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b662180108c55dfbf1280d865b2d116633d436cfc0bba82323554873967b340"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7c6ed0dc9d8e65f24f5824291550139fe6f37fac03788d4580da0d33bc00c97"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6b1bb0827f56654b4437955555dc3aeeebeddc47c2d7ed575477f082622c49e"}, + {file = "pydantic_core-2.16.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e56f8186d6210ac7ece503193ec84104da7ceb98f68ce18c07282fcc2452e76f"}, + {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:936e5db01dd49476fa8f4383c259b8b1303d5dd5fb34c97de194560698cc2c5e"}, + {file = "pydantic_core-2.16.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33809aebac276089b78db106ee692bdc9044710e26f24a9a2eaa35a0f9fa70ba"}, + {file = "pydantic_core-2.16.3-cp311-none-win32.whl", hash = "sha256:ded1c35f15c9dea16ead9bffcde9bb5c7c031bff076355dc58dcb1cb436c4721"}, + {file = "pydantic_core-2.16.3-cp311-none-win_amd64.whl", hash = "sha256:d89ca19cdd0dd5f31606a9329e309d4fcbb3df860960acec32630297d61820df"}, + {file = "pydantic_core-2.16.3-cp311-none-win_arm64.whl", hash = "sha256:6162f8d2dc27ba21027f261e4fa26f8bcb3cf9784b7f9499466a311ac284b5b9"}, + {file = "pydantic_core-2.16.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:0f56ae86b60ea987ae8bcd6654a887238fd53d1384f9b222ac457070b7ac4cff"}, + {file = "pydantic_core-2.16.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9bd22a2a639e26171068f8ebb5400ce2c1bc7d17959f60a3b753ae13c632975"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4204e773b4b408062960e65468d5346bdfe139247ee5f1ca2a378983e11388a2"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f651dd19363c632f4abe3480a7c87a9773be27cfe1341aef06e8759599454120"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aaf09e615a0bf98d406657e0008e4a8701b11481840be7d31755dc9f97c44053"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8e47755d8152c1ab5b55928ab422a76e2e7b22b5ed8e90a7d584268dd49e9c6b"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:500960cb3a0543a724a81ba859da816e8cf01b0e6aaeedf2c3775d12ee49cade"}, + {file = "pydantic_core-2.16.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf6204fe865da605285c34cf1172879d0314ff267b1c35ff59de7154f35fdc2e"}, + {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d33dd21f572545649f90c38c227cc8631268ba25c460b5569abebdd0ec5974ca"}, + {file = "pydantic_core-2.16.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:49d5d58abd4b83fb8ce763be7794d09b2f50f10aa65c0f0c1696c677edeb7cbf"}, + {file = "pydantic_core-2.16.3-cp312-none-win32.whl", hash = "sha256:f53aace168a2a10582e570b7736cc5bef12cae9cf21775e3eafac597e8551fbe"}, + {file = "pydantic_core-2.16.3-cp312-none-win_amd64.whl", hash = "sha256:0d32576b1de5a30d9a97f300cc6a3f4694c428d956adbc7e6e2f9cad279e45ed"}, + {file = "pydantic_core-2.16.3-cp312-none-win_arm64.whl", hash = "sha256:ec08be75bb268473677edb83ba71e7e74b43c008e4a7b1907c6d57e940bf34b6"}, + {file = "pydantic_core-2.16.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:b1f6f5938d63c6139860f044e2538baeee6f0b251a1816e7adb6cbce106a1f01"}, + {file = "pydantic_core-2.16.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2a1ef6a36fdbf71538142ed604ad19b82f67b05749512e47f247a6ddd06afdc7"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:704d35ecc7e9c31d48926150afada60401c55efa3b46cd1ded5a01bdffaf1d48"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d937653a696465677ed583124b94a4b2d79f5e30b2c46115a68e482c6a591c8a"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9803edf8e29bd825f43481f19c37f50d2b01899448273b3a7758441b512acf8"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:72282ad4892a9fb2da25defeac8c2e84352c108705c972db82ab121d15f14e6d"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f752826b5b8361193df55afcdf8ca6a57d0232653494ba473630a83ba50d8c9"}, + {file = "pydantic_core-2.16.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4384a8f68ddb31a0b0c3deae88765f5868a1b9148939c3f4121233314ad5532c"}, + {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a4b2bf78342c40b3dc830880106f54328928ff03e357935ad26c7128bbd66ce8"}, + {file = "pydantic_core-2.16.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:13dcc4802961b5f843a9385fc821a0b0135e8c07fc3d9949fd49627c1a5e6ae5"}, + {file = "pydantic_core-2.16.3-cp38-none-win32.whl", hash = "sha256:e3e70c94a0c3841e6aa831edab1619ad5c511199be94d0c11ba75fe06efe107a"}, + {file = "pydantic_core-2.16.3-cp38-none-win_amd64.whl", hash = "sha256:ecdf6bf5f578615f2e985a5e1f6572e23aa632c4bd1dc67f8f406d445ac115ed"}, + {file = "pydantic_core-2.16.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bda1ee3e08252b8d41fa5537413ffdddd58fa73107171a126d3b9ff001b9b820"}, + {file = "pydantic_core-2.16.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:21b888c973e4f26b7a96491c0965a8a312e13be108022ee510248fe379a5fa23"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be0ec334369316fa73448cc8c982c01e5d2a81c95969d58b8f6e272884df0074"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b5b6079cc452a7c53dd378c6f881ac528246b3ac9aae0f8eef98498a75657805"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ee8d5f878dccb6d499ba4d30d757111847b6849ae07acdd1205fffa1fc1253c"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7233d65d9d651242a68801159763d09e9ec96e8a158dbf118dc090cd77a104c9"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6119dc90483a5cb50a1306adb8d52c66e447da88ea44f323e0ae1a5fcb14256"}, + {file = "pydantic_core-2.16.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:578114bc803a4c1ff9946d977c221e4376620a46cf78da267d946397dc9514a8"}, + {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d8f99b147ff3fcf6b3cc60cb0c39ea443884d5559a30b1481e92495f2310ff2b"}, + {file = "pydantic_core-2.16.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4ac6b4ce1e7283d715c4b729d8f9dab9627586dafce81d9eaa009dd7f25dd972"}, + {file = "pydantic_core-2.16.3-cp39-none-win32.whl", hash = "sha256:e7774b570e61cb998490c5235740d475413a1f6de823169b4cf94e2fe9e9f6b2"}, + {file = "pydantic_core-2.16.3-cp39-none-win_amd64.whl", hash = "sha256:9091632a25b8b87b9a605ec0e61f241c456e9248bfdcf7abdf344fdb169c81cf"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:36fa178aacbc277bc6b62a2c3da95226520da4f4e9e206fdf076484363895d2c"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:dcca5d2bf65c6fb591fff92da03f94cd4f315972f97c21975398bd4bd046854a"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a72fb9963cba4cd5793854fd12f4cfee731e86df140f59ff52a49b3552db241"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b60cc1a081f80a2105a59385b92d82278b15d80ebb3adb200542ae165cd7d183"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cbcc558401de90a746d02ef330c528f2e668c83350f045833543cd57ecead1ad"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:fee427241c2d9fb7192b658190f9f5fd6dfe41e02f3c1489d2ec1e6a5ab1e04a"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4cb85f693044e0f71f394ff76c98ddc1bc0953e48c061725e540396d5c8a2e1"}, + {file = "pydantic_core-2.16.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b29eeb887aa931c2fcef5aa515d9d176d25006794610c264ddc114c053bf96fe"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a425479ee40ff021f8216c9d07a6a3b54b31c8267c6e17aa88b70d7ebd0e5e5b"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5c5cbc703168d1b7a838668998308018a2718c2130595e8e190220238addc96f"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99b6add4c0b39a513d323d3b93bc173dac663c27b99860dd5bf491b240d26137"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f76ee558751746d6a38f89d60b6228fa174e5172d143886af0f85aa306fd89"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:00ee1c97b5364b84cb0bd82e9bbf645d5e2871fb8c58059d158412fee2d33d8a"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:287073c66748f624be4cef893ef9174e3eb88fe0b8a78dc22e88eca4bc357ca6"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ed25e1835c00a332cb10c683cd39da96a719ab1dfc08427d476bce41b92531fc"}, + {file = "pydantic_core-2.16.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:86b3d0033580bd6bbe07590152007275bd7af95f98eaa5bd36f3da219dcd93da"}, + {file = "pydantic_core-2.16.3.tar.gz", hash = "sha256:1cac689f80a3abab2d3c0048b29eea5751114054f032a941a32de4c852c59cad"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" + +[[package]] +name = "pyflakes" +version = "3.2.0" +description = "passive checker of Python programs" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, + {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, +] + +[[package]] +name = "python-dateutil" +version = "2.8.2" +description = "Extensions to the standard Python datetime module" +optional = false +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +files = [ + {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, + {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, +] + +[package.dependencies] +six = ">=1.5" + +[[package]] +name = "pyyaml" +version = "6.0.1" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.6" +files = [ + {file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"}, + {file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, + {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, + {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, + {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, + {file = "PyYAML-6.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, + {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, + {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, + {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, + {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, + {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win32.whl", hash = "sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585"}, + {file = "PyYAML-6.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa"}, + {file = "PyYAML-6.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3"}, + {file = "PyYAML-6.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win32.whl", hash = "sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba"}, + {file = "PyYAML-6.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867"}, + {file = "PyYAML-6.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, + {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, + {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, + {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, + {file = "PyYAML-6.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, + {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, + {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, + {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "regex" +version = "2023.12.25" +description = "Alternative regular expression module, to replace re." +optional = false +python-versions = ">=3.7" +files = [ + {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5"}, + {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8"}, + {file = "regex-2023.12.25-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f"}, + {file = "regex-2023.12.25-cp310-cp310-win32.whl", hash = "sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630"}, + {file = "regex-2023.12.25-cp310-cp310-win_amd64.whl", hash = "sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105"}, + {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6"}, + {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97"}, + {file = "regex-2023.12.25-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4"}, + {file = "regex-2023.12.25-cp311-cp311-win32.whl", hash = "sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87"}, + {file = "regex-2023.12.25-cp311-cp311-win_amd64.whl", hash = "sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f"}, + {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715"}, + {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d"}, + {file = "regex-2023.12.25-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d"}, + {file = "regex-2023.12.25-cp312-cp312-win32.whl", hash = "sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5"}, + {file = "regex-2023.12.25-cp312-cp312-win_amd64.whl", hash = "sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232"}, + {file = "regex-2023.12.25-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39"}, + {file = "regex-2023.12.25-cp37-cp37m-win32.whl", hash = "sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c"}, + {file = "regex-2023.12.25-cp37-cp37m-win_amd64.whl", hash = "sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445"}, + {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53"}, + {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64"}, + {file = "regex-2023.12.25-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2"}, + {file = "regex-2023.12.25-cp38-cp38-win32.whl", hash = "sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb"}, + {file = "regex-2023.12.25-cp38-cp38-win_amd64.whl", hash = "sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697"}, + {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31"}, + {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7"}, + {file = "regex-2023.12.25-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20"}, + {file = "regex-2023.12.25-cp39-cp39-win32.whl", hash = "sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9"}, + {file = "regex-2023.12.25-cp39-cp39-win_amd64.whl", hash = "sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91"}, + {file = "regex-2023.12.25.tar.gz", hash = "sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5"}, +] + +[[package]] +name = "requests" +version = "2.31.0" +description = "Python HTTP for Humans." +optional = false +python-versions = ">=3.7" +files = [ + {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, + {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, +] + +[package.dependencies] +certifi = ">=2017.4.17" +charset-normalizer = ">=2,<4" +idna = ">=2.5,<4" +urllib3 = ">=1.21.1,<3" + +[package.extras] +socks = ["PySocks (>=1.5.6,!=1.5.7)"] +use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] + +[[package]] +name = "requests-file" +version = "2.0.0" +description = "File transport adapter for Requests" +optional = false +python-versions = "*" +files = [ + {file = "requests-file-2.0.0.tar.gz", hash = "sha256:20c5931629c558fda566cacc10cfe2cd502433e628f568c34c80d96a0cc95972"}, + {file = "requests_file-2.0.0-py2.py3-none-any.whl", hash = "sha256:3e493d390adb44aa102ebea827a48717336d5268968c370eaf19abaf5cae13bf"}, +] + +[package.dependencies] +requests = ">=1.0.0" + +[[package]] +name = "sgmllib3k" +version = "1.0.0" +description = "Py3k port of sgmllib." +optional = false +python-versions = "*" +files = [ + {file = "sgmllib3k-1.0.0.tar.gz", hash = "sha256:7868fb1c8bfa764c1ac563d3cf369c381d1325d36124933a726f29fcdaa812e9"}, +] + +[[package]] +name = "six" +version = "1.16.0" +description = "Python 2 and 3 compatibility utilities" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +files = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, + {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, +] + +[[package]] +name = "soupsieve" +version = "2.5" +description = "A modern CSS selector implementation for Beautiful Soup." +optional = false +python-versions = ">=3.8" +files = [ + {file = "soupsieve-2.5-py3-none-any.whl", hash = "sha256:eaa337ff55a1579b6549dc679565eac1e3d000563bcb1c8ab0d0fefbc0c2cdc7"}, + {file = "soupsieve-2.5.tar.gz", hash = "sha256:5663d5a7b3bfaeee0bc4372e7fc48f9cff4940b3eec54a6451cc5299f1097690"}, +] + +[[package]] +name = "sqlalchemy" +version = "2.0.27" +description = "Database Abstraction Library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "SQLAlchemy-2.0.27-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d04e579e911562f1055d26dab1868d3e0bb905db3bccf664ee8ad109f035618a"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fa67d821c1fd268a5a87922ef4940442513b4e6c377553506b9db3b83beebbd8"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c7a596d0be71b7baa037f4ac10d5e057d276f65a9a611c46970f012752ebf2d"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:954d9735ee9c3fa74874c830d089a815b7b48df6f6b6e357a74130e478dbd951"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:5cd20f58c29bbf2680039ff9f569fa6d21453fbd2fa84dbdb4092f006424c2e6"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:03f448ffb731b48323bda68bcc93152f751436ad6037f18a42b7e16af9e91c07"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-win32.whl", hash = "sha256:d997c5938a08b5e172c30583ba6b8aad657ed9901fc24caf3a7152eeccb2f1b4"}, + {file = "SQLAlchemy-2.0.27-cp310-cp310-win_amd64.whl", hash = "sha256:eb15ef40b833f5b2f19eeae65d65e191f039e71790dd565c2af2a3783f72262f"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6c5bad7c60a392850d2f0fee8f355953abaec878c483dd7c3836e0089f046bf6"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3012ab65ea42de1be81fff5fb28d6db893ef978950afc8130ba707179b4284a"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dbcd77c4d94b23e0753c5ed8deba8c69f331d4fd83f68bfc9db58bc8983f49cd"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d177b7e82f6dd5e1aebd24d9c3297c70ce09cd1d5d37b43e53f39514379c029c"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:680b9a36029b30cf063698755d277885d4a0eab70a2c7c6e71aab601323cba45"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1306102f6d9e625cebaca3d4c9c8f10588735ef877f0360b5cdb4fdfd3fd7131"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-win32.whl", hash = "sha256:5b78aa9f4f68212248aaf8943d84c0ff0f74efc65a661c2fc68b82d498311fd5"}, + {file = "SQLAlchemy-2.0.27-cp311-cp311-win_amd64.whl", hash = "sha256:15e19a84b84528f52a68143439d0c7a3a69befcd4f50b8ef9b7b69d2628ae7c4"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:0de1263aac858f288a80b2071990f02082c51d88335a1db0d589237a3435fe71"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce850db091bf7d2a1f2fdb615220b968aeff3849007b1204bf6e3e50a57b3d32"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8dfc936870507da96aebb43e664ae3a71a7b96278382bcfe84d277b88e379b18"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4fbe6a766301f2e8a4519f4500fe74ef0a8509a59e07a4085458f26228cd7cc"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4535c49d961fe9a77392e3a630a626af5baa967172d42732b7a43496c8b28876"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:0fb3bffc0ced37e5aa4ac2416f56d6d858f46d4da70c09bb731a246e70bff4d5"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-win32.whl", hash = "sha256:7f470327d06400a0aa7926b375b8e8c3c31d335e0884f509fe272b3c700a7254"}, + {file = "SQLAlchemy-2.0.27-cp312-cp312-win_amd64.whl", hash = "sha256:f9374e270e2553653d710ece397df67db9d19c60d2647bcd35bfc616f1622dcd"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e97cf143d74a7a5a0f143aa34039b4fecf11343eed66538610debc438685db4a"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7b5a3e2120982b8b6bd1d5d99e3025339f7fb8b8267551c679afb39e9c7c7f1"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e36aa62b765cf9f43a003233a8c2d7ffdeb55bc62eaa0a0380475b228663a38f"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5ada0438f5b74c3952d916c199367c29ee4d6858edff18eab783b3978d0db16d"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b1d9d1bfd96eef3c3faedb73f486c89e44e64e40e5bfec304ee163de01cf996f"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-win32.whl", hash = "sha256:ca891af9f3289d24a490a5fde664ea04fe2f4984cd97e26de7442a4251bd4b7c"}, + {file = "SQLAlchemy-2.0.27-cp37-cp37m-win_amd64.whl", hash = "sha256:fd8aafda7cdff03b905d4426b714601c0978725a19efc39f5f207b86d188ba01"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ec1f5a328464daf7a1e4e385e4f5652dd9b1d12405075ccba1df842f7774b4fc"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ad862295ad3f644e3c2c0d8b10a988e1600d3123ecb48702d2c0f26771f1c396"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48217be1de7d29a5600b5c513f3f7664b21d32e596d69582be0a94e36b8309cb"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e56afce6431450442f3ab5973156289bd5ec33dd618941283847c9fd5ff06bf"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:611068511b5531304137bcd7fe8117c985d1b828eb86043bd944cebb7fae3910"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b86abba762ecfeea359112b2bb4490802b340850bbee1948f785141a5e020de8"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-win32.whl", hash = "sha256:30d81cc1192dc693d49d5671cd40cdec596b885b0ce3b72f323888ab1c3863d5"}, + {file = "SQLAlchemy-2.0.27-cp38-cp38-win_amd64.whl", hash = "sha256:120af1e49d614d2525ac247f6123841589b029c318b9afbfc9e2b70e22e1827d"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d07ee7793f2aeb9b80ec8ceb96bc8cc08a2aec8a1b152da1955d64e4825fcbac"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cb0845e934647232b6ff5150df37ceffd0b67b754b9fdbb095233deebcddbd4a"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fc19ae2e07a067663dd24fca55f8ed06a288384f0e6e3910420bf4b1270cc51"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b90053be91973a6fb6020a6e44382c97739736a5a9d74e08cc29b196639eb979"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2f5c9dfb0b9ab5e3a8a00249534bdd838d943ec4cfb9abe176a6c33408430230"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:33e8bde8fff203de50399b9039c4e14e42d4d227759155c21f8da4a47fc8053c"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-win32.whl", hash = "sha256:d873c21b356bfaf1589b89090a4011e6532582b3a8ea568a00e0c3aab09399dd"}, + {file = "SQLAlchemy-2.0.27-cp39-cp39-win_amd64.whl", hash = "sha256:ff2f1b7c963961d41403b650842dc2039175b906ab2093635d8319bef0b7d620"}, + {file = "SQLAlchemy-2.0.27-py3-none-any.whl", hash = "sha256:1ab4e0448018d01b142c916cc7119ca573803a4745cfe341b8f95657812700ac"}, + {file = "SQLAlchemy-2.0.27.tar.gz", hash = "sha256:86a6ed69a71fe6b88bf9331594fa390a2adda4a49b5c06f98e47bf0d392534f8"}, +] + +[package.dependencies] +greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} +typing-extensions = ">=4.6.0" + +[package.extras] +aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] +aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] +asyncio = ["greenlet (!=0.4.17)"] +asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] +mssql = ["pyodbc"] +mssql-pymssql = ["pymssql"] +mssql-pyodbc = ["pyodbc"] +mypy = ["mypy (>=0.910)"] +mysql = ["mysqlclient (>=1.4.0)"] +mysql-connector = ["mysql-connector-python"] +oracle = ["cx_oracle (>=8)"] +oracle-oracledb = ["oracledb (>=1.0.1)"] +postgresql = ["psycopg2 (>=2.7)"] +postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] +postgresql-pg8000 = ["pg8000 (>=1.29.1)"] +postgresql-psycopg = ["psycopg (>=3.0.7)"] +postgresql-psycopg2binary = ["psycopg2-binary"] +postgresql-psycopg2cffi = ["psycopg2cffi"] +postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] +pymysql = ["pymysql"] +sqlcipher = ["sqlcipher3_binary"] + +[[package]] +name = "tenacity" +version = "8.2.3" +description = "Retry code until it succeeds" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tenacity-8.2.3-py3-none-any.whl", hash = "sha256:ce510e327a630c9e1beaf17d42e6ffacc88185044ad85cf74c0a8887c6a0f88c"}, + {file = "tenacity-8.2.3.tar.gz", hash = "sha256:5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a"}, +] + +[package.extras] +doc = ["reno", "sphinx", "tornado (>=4.5)"] + +[[package]] +name = "tinysegmenter" +version = "0.3" +description = "Very compact Japanese tokenizer" +optional = false +python-versions = "*" +files = [ + {file = "tinysegmenter-0.3.tar.gz", hash = "sha256:ed1f6d2e806a4758a73be589754384cbadadc7e1a414c81a166fc9adf2d40c6d"}, +] + +[[package]] +name = "tldextract" +version = "5.1.1" +description = "Accurately separates a URL's subdomain, domain, and public suffix, using the Public Suffix List (PSL). By default, this includes the public ICANN TLDs and their exceptions. You can optionally support the Public Suffix List's private domains as well." +optional = false +python-versions = ">=3.8" +files = [ + {file = "tldextract-5.1.1-py3-none-any.whl", hash = "sha256:b9c4510a8766d377033b6bace7e9f1f17a891383ced3c5d50c150f181e9e1cc2"}, + {file = "tldextract-5.1.1.tar.gz", hash = "sha256:9b6dbf803cb5636397f0203d48541c0da8ba53babaf0e8a6feda2d88746813d4"}, +] + +[package.dependencies] +filelock = ">=3.0.8" +idna = "*" +requests = ">=2.1.0" +requests-file = ">=1.4" + +[package.extras] +testing = ["black", "mypy", "pytest", "pytest-gitignore", "pytest-mock", "responses", "ruff", "tox", "types-filelock", "types-requests"] + +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "tqdm" +version = "4.66.2" +description = "Fast, Extensible Progress Meter" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tqdm-4.66.2-py3-none-any.whl", hash = "sha256:1ee4f8a893eb9bef51c6e35730cebf234d5d0b6bd112b0271e10ed7c24a02bd9"}, + {file = "tqdm-4.66.2.tar.gz", hash = "sha256:6cd52cdf0fef0e0f543299cfc96fec90d7b8a7e88745f411ec33eb44d5ed3531"}, +] + +[package.dependencies] +colorama = {version = "*", markers = "platform_system == \"Windows\""} + +[package.extras] +dev = ["pytest (>=6)", "pytest-cov", "pytest-timeout", "pytest-xdist"] +notebook = ["ipywidgets (>=6)"] +slack = ["slack-sdk"] +telegram = ["requests"] + +[[package]] +name = "typing-extensions" +version = "4.10.0" +description = "Backported and Experimental Type Hints for Python 3.8+" +optional = false +python-versions = ">=3.8" +files = [ + {file = "typing_extensions-4.10.0-py3-none-any.whl", hash = "sha256:69b1a937c3a517342112fb4c6df7e72fc39a38e7891a5730ed4985b5214b5475"}, + {file = "typing_extensions-4.10.0.tar.gz", hash = "sha256:b0abd7c89e8fb96f98db18d86106ff1d90ab692004eb746cf6eda2682f91b3cb"}, +] + +[[package]] +name = "typing-inspect" +version = "0.9.0" +description = "Runtime inspection utilities for typing module." +optional = false +python-versions = "*" +files = [ + {file = "typing_inspect-0.9.0-py3-none-any.whl", hash = "sha256:9ee6fc59062311ef8547596ab6b955e1b8aa46242d854bfc78f4f6b0eff35f9f"}, + {file = "typing_inspect-0.9.0.tar.gz", hash = "sha256:b23fc42ff6f6ef6954e4852c1fb512cdd18dbea03134f91f856a95ccc9461f78"}, +] + +[package.dependencies] +mypy-extensions = ">=0.3.0" +typing-extensions = ">=3.7.4" + +[[package]] +name = "urllib3" +version = "2.2.1" +description = "HTTP library with thread-safe connection pooling, file post, and more." +optional = false +python-versions = ">=3.8" +files = [ + {file = "urllib3-2.2.1-py3-none-any.whl", hash = "sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d"}, + {file = "urllib3-2.2.1.tar.gz", hash = "sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19"}, +] + +[package.extras] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] + +[[package]] +name = "yarl" +version = "1.9.4" +description = "Yet another URL library" +optional = false +python-versions = ">=3.7" +files = [ + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, + {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, + {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, + {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, + {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, + {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, + {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, + {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, + {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, + {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, + {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, + {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, + {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, + {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, + {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, + {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, +] + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" + +[metadata] +lock-version = "2.0" +python-versions = "^3.9" +content-hash = "5702209d7c7ed7a4497c4643878926ccefeb7e328ddaf1ec7a3b6dfe1855c126" diff --git a/loaders/pyproject.toml b/loaders/pyproject.toml new file mode 100644 index 0000000..7a444e2 --- /dev/null +++ b/loaders/pyproject.toml @@ -0,0 +1,20 @@ +[tool.poetry] +name = "loaders" +version = "0.1.0" +description = "" +authors = ["Dawid Bis "] +readme = "README.md" + +[tool.poetry.dependencies] +python = "^3.9" +langchain = "^0.1.9" +newspaper3k = "^0.2.8" + + +[build-system] +requires = ["poetry-core"] +build-backend = "poetry.core.masonry.api" + +[tool.poetry.group.dev.dependencies] +black = "*" +flake8 = "*" diff --git a/loaders/tests/__init__.py b/loaders/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/loaders/tests/test_clean_web_loader.py b/loaders/tests/test_clean_web_loader.py new file mode 100644 index 0000000..be02aad --- /dev/null +++ b/loaders/tests/test_clean_web_loader.py @@ -0,0 +1,48 @@ +import pytest +from loaders.clean_web_loader import CleanWebLoader +from langchain_core.documents import Document + + +@pytest.fixture +def clean_web_loader(): + url_list = ["https://example.com"] + return CleanWebLoader(url_list) + + +def test_newspaper_extractor(): + html = "

This is some text.

" + expected_output = "This is some text." + assert CleanWebLoader.newspaper_extractor(html) == expected_output + + +def test_ds_converter(clean_web_loader): + docs = [Document(page_content="Document 1"), Document(page_content="Document 2")] + expected_output = [{"text": "Document 1"}, {"text": "Document 2"}] + assert clean_web_loader.ds_converter(docs) == expected_output + + +def test_junk_remover(clean_web_loader): + doc_1 = Document( + page_content="Curabitur mattis luctus arcu vestibulum tristique. Proin ac suscipit arcu. Mauris massa nisl, condimentum eget vestibulum eu, facilisis ut quam. Curabitur vitae magna et ante auctor condimentum. Phasellus placerat dictum est eu tincidunt. Curabitur nec porttitor velit.Phasellus placerat dictum est eu tincidunt. Curabitur nec porttitor velit. Curabitur nec porttitor velit. Curabitur nec porttitor velit.", + metadata={"title": None, "key2": None, "key3": None}, + ) + doc_2 = Document(page_content="", metadata={"key2": None, "key3": None}) + doc_3 = Document( + page_content="Curabitur mattis luctus arcu vestibulum tristique. Proin ac suscipit arcu. Mauris massa nisl, condimentum eget vestibulum eu, facilisis ut quam. Curabitur vitae magna et ante auctor condimentum. Phasellus placerat dictum est eu tincidunt. Curabitur nec porttitor velit.Phasellus placerat dictum est eu tincidunt. Curabitur nec porttitor velit. Curabitur nec porttitor velit. Curabitur nec porttitor velit.", + metadata={"title": None, "key3": None}, + ) + doc_4 = doc_1 + doc_5 = Document( + page_content="Short document.", + metadata={"title": None, "key2": None, "key3": None}, + ) + doc_6 = Document( + page_content="A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once.", + metadata={"title": None, "key2": None, "key3": None}, + ) + docs = [doc_1, doc_2, doc_3, doc_4, doc_5, doc_6] + + expected_output = [doc_1, doc_6] + + result = clean_web_loader.junk_remover(docs) + assert result == expected_output diff --git a/loaders/tests/test_local_data_loader.py b/loaders/tests/test_local_data_loader.py new file mode 100644 index 0000000..b013617 --- /dev/null +++ b/loaders/tests/test_local_data_loader.py @@ -0,0 +1,35 @@ +import pytest +from loaders.local_data_loader import LocalDataLoader +from langchain_core.documents import Document + + +@pytest.fixture +def local_data_loader(): + path = "/path/to/data/files" + return LocalDataLoader(path) + + +def test_ds_converter(): + docs = [Document(page_content="Document 1"), Document(page_content="Document 2")] + expected_output = [{"text": "Document 1"}, {"text": "Document 2"}] + assert LocalDataLoader.ds_converter(docs) == expected_output + + +def test_junk_remover(local_data_loader): + doc_1 = Document( + page_content="Curabitur mattis luctus arcu vestibulum tristique. Proin ac suscipit arcu. Mauris massa nisl, condimentum eget vestibulum eu, facilisis ut quam. Curabitur vitae magna et ante auctor condimentum. Phasellus placerat dictum est eu tincidunt. Curabitur nec porttitor velit.Phasellus placerat dictum est eu tincidunt. Curabitur nec porttitor velit. Curabitur nec porttitor velit. Curabitur nec porttitor velit." + ) + doc_2 = Document(page_content="") + doc_3 = Document( + page_content="Curabitur mattis luctus arcu vestibulum tristique. Proin ac suscipit arcu. Mauris massa nisl, condimentum eget vestibulum eu, facilisis ut quam. Curabitur vitae magna et ante auctor condimentum. Phasellus placerat dictum est eu tincidunt. Curabitur nec porttitor velit.Phasellus placerat dictum est eu tincidunt. Curabitur nec porttitor velit. Curabitur nec porttitor velit. Curabitur nec porttitor velit." + ) + doc_4 = Document(page_content="Short document.") + doc_5 = Document( + page_content="A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once. A proper document, over 300 words long, occurring only once." + ) + docs = [doc_1, doc_2, doc_3, doc_4, doc_5] + + expected_output = [doc_1, doc_5] + + result = local_data_loader.junk_remover(docs) + assert result == expected_output diff --git a/loaders/upload.py b/loaders/upload.py new file mode 100644 index 0000000..f63d270 --- /dev/null +++ b/loaders/upload.py @@ -0,0 +1,19 @@ +import clean_web_loader, local_data_loader +import requests + + +def upload_data(web_url=None, web_depth=None, local_path=None): + url = 'http://localhost:8000/api/document/' + docs = [] + + if web_url: + web_loader = clean_web_loader.CleanWebLoader(web_url, depth=web_depth) + docs.extend(web_loader.load()) + + if local_path: + local_loader = local_data_loader.LocalDataLoader(local_path) + docs.extend(local_loader.load()) + + for doc in docs: + requests.post(url, json=doc) + \ No newline at end of file diff --git a/notebooks/README.md b/notebooks/README.md new file mode 100644 index 0000000..6e7278e --- /dev/null +++ b/notebooks/README.md @@ -0,0 +1,14 @@ + +# 📙 Notebooks + +Ten katalog zawiera notebooki, na których były wykonywane szkice architektury +pozyskiwania danych z różnych źródeł. Poniżej znajduje się lista notebooków, +które prezentują działanie narzędzi oraz bibliotek do pozyskiwania +lub przetwarzania danych. + +## 📝 Lista notebooków + +| Narzędzie\Biblioteka | Otwórz w Colab | Dokumentacja\Repozytorium | +| :--- | :----: | :----: | +| RecursiveUrlLoader | [![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1WvgWQjFIS5HKqFg5OVPoF2UFuo7PI1eT?usp=sharing) | [🦜🔗](https://python.langchain.com/docs/integrations/document_loaders/recursive_url) | +| Newspaper | [![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1xQ8-HHTiY8CHfV4f2hIUskv0P9ymUCpn?usp=sharing) | [![GitHub](https://badges.aleen42.com/src/github.svg)](https://github.com/codelucas/newspaper) | diff --git a/notebooks/data_gathering/WEB/WebExtractor.ipynb b/notebooks/data_gathering/WEB/WebExtractor.ipynb new file mode 100644 index 0000000..4e24ceb --- /dev/null +++ b/notebooks/data_gathering/WEB/WebExtractor.ipynb @@ -0,0 +1,130 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 73, + "id": "c91e965e", + "metadata": {}, + "outputs": [], + "source": [ + "from langchain.document_loaders.recursive_url_loader import RecursiveUrlLoader\n", + "from newspaper import Article\n", + "\n", + "class WebExtractor():\n", + " \n", + " article = Article(\"\")\n", + " \n", + " def __init__(self):\n", + " pass\n", + "\n", + " @staticmethod\n", + " def suspected_junk(docs):\n", + " \"\"\"\n", + " Identifies and returns a list of suspected junk documents based on specific criteria.\n", + "\n", + " :param docs: A list of documents, where each document is represented as a dictionary.\n", + " Each dictionary should have a \"text\" key containing the text content of the document.\n", + " :return: A list of suspected junk documents based on the criteria of having less than 300 characters\n", + " or having the same text as another document in the input list.\n", + " \"\"\"\n", + " junk_docs = []\n", + "\n", + " short_docs = [doc for doc in docs if len(doc[\"text\"]) < 300]\n", + " junk_docs.extend(short_docs)\n", + "\n", + " seen_texts = set()\n", + " for doc in docs:\n", + " if doc[\"text\"] in seen_texts and doc not in junk_docs:\n", + " junk_docs.append(doc)\n", + " else:\n", + " seen_texts.add(doc[\"text\"])\n", + " return junk_docs\n", + " \n", + " @staticmethod\n", + " def newspaper_extractor(html):\n", + " \"\"\"\n", + " Extracts and cleans text content from HTML using the 'newspaper' library.\n", + "\n", + " :param html: HTML content to be processed.\n", + " :return: Cleaned and concatenated text extracted from the HTML.\n", + " \"\"\"\n", + " WebExtractor.article.set_html(html)\n", + " WebExtractor.article.parse()\n", + " return ' '.join(WebExtractor.article.text.split())\n", + " \n", + " @staticmethod\n", + " def data_structure_converter(docs):\n", + " \"\"\"\n", + " Converts a list of documents into a specific data structure.\n", + "\n", + " :param docs: List of documents to be converted.\n", + " :return: List of dictionaries, each representing a document with 'text' and 'url' keys.\n", + " \"\"\"\n", + " documents = []\n", + " for doc in docs:\n", + " documents.append({'text': doc.page_content,\n", + " 'url': doc.metadata['source']})\n", + " return documents\n", + " \n", + " @staticmethod\n", + " def extract_web(url, depth=1):\n", + " \"\"\"\n", + " Extracts web content from the specified URL(s) using a recursive approach.\n", + "\n", + " :param url: URL or list of URLs to extract content from.\n", + " :param depth: Maximum depth for recursive extraction (default is 1).\n", + " :return: Tuple containing two lists of dictionaries - (correct_documents, junk_documents).\n", + " Each dictionary represents a document with 'text' and 'url' keys.\n", + " :raises TypeError: If the 'url' parameter is not of the string type or a list of string variables.\n", + " \"\"\"\n", + " if not (isinstance(url, str) or (isinstance(url, list) and all(isinstance(item, str) for item in url))):\n", + " raise TypeError(\"The 'url' parameter should be of the string type or a list with string variables.\")\n", + " \n", + " if isinstance(url, str):\n", + " url_list = [url]\n", + " else:\n", + " url_list = url\n", + " \n", + " all_docs = []\n", + " for address in url_list:\n", + " try:\n", + " loader = RecursiveUrlLoader(url=address, max_depth=depth, extractor=WebExtractor.newspaper_extractor)\n", + " all_docs.extend(loader.load())\n", + " except Exception as e:\n", + " print(f\"Exception: {e}\")\n", + " break\n", + " \n", + " documents = WebExtractor.data_structure_converter(all_docs)\n", + " junk_documents = WebExtractor.suspected_junk(documents)\n", + " \n", + " correct_documents = [doc for doc in documents if doc not in junk_documents]\n", + " \n", + " print(f\"Number of pages downloaded: {len(all_docs)}\")\n", + " print(f\"Number of suspected junks: {len(junk_documents)}\")\n", + " \n", + " return correct_documents, junk_documents" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/data_gathering/WikiJS/integration_wikiJS.ipynb b/notebooks/data_gathering/WikiJS/integration_wikiJS.ipynb new file mode 100644 index 0000000..e69de29 diff --git a/notebooks/data_gathering/own_documents/own_documents.ipynb b/notebooks/data_gathering/own_documents/own_documents.ipynb new file mode 100644 index 0000000..e69de29 diff --git a/notebooks/tutorials/Newspaper - quick overview & comparison.ipynb b/notebooks/tutorials/Newspaper - quick overview & comparison.ipynb new file mode 100644 index 0000000..9ee819a --- /dev/null +++ b/notebooks/tutorials/Newspaper - quick overview & comparison.ipynb @@ -0,0 +1,641 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d419b7d9", + "metadata": {}, + "source": [ + "# Newspaper - quick overview & comparison" + ] + }, + { + "cell_type": "markdown", + "id": "ac69389c", + "metadata": {}, + "source": [ + "## Porównanie zwykłego scrapowania vs scrapowania z użyciem newspaper" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "3ea84741", + "metadata": {}, + "outputs": [], + "source": [ + "# Przypisanie adresu URL do zmiennej\n", + "\n", + "url = 'https://w.prz.edu.pl/studenci_menu/legitymacje'" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "5002f9ad", + "metadata": {}, + "outputs": [], + "source": [ + "# Import modułu requests oraz obiektu BeautifulSoup\n", + "\n", + "from bs4 import BeautifulSoup as Soup\n", + "import requests\n", + "\n", + "# Pobranie zawartości strony\n", + "\n", + "page = requests.get(url)\n", + "\n", + "# Przypisanie zawartości strony w formacie string do zmiennej \n", + "\n", + "full_text = Soup(page.content, \"html.parser\").text\n" + ] + }, + { + "cell_type": "markdown", + "id": "c9258ed3", + "metadata": {}, + "source": [ + "### Tak prezentują się zaśmiecone dane, z których chcemy wydobyć wartościowe treści" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6422c754", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Legitymacje / POLITECHNIKA RZESZOWSKA im. Ignacego Łukasiewicza \n", + "\n", + "\n", + "\n", + "\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "Przejdź do menu głównegoPrzejdź do treści strony\n", + "Przejdź do wyszukiwarki\n", + "\n", + "Podstrona: Legitymacje / POLITECHNIKA RZESZOWSKA im. Ignacego Łukasiewicza\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "A \n", + "A+\n", + "A++\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Centralna Usługa Uwierzytelniania CASKonta studenckie i pracownicze PRz\n", + "\n", + "Pozostali użytkownicy\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "login* \n", + "\n", + "password* \n", + "\n", + " \n", + "\n", + "\n", + "\n", + "WyszukajWyszukaj\n", + "\n", + "\n", + "\n", + "\n", + "Szukaj* \n", + "\n", + " \n", + " Informacje odnośnie korzystania z wyszukiwarki\n", + "- Minimalna liczba znaków: 3- ujęcie szukanego słowa/frazy w cudzysłów zawęzi wyniki wyszukiwania\n", + "- można wyszukiwać po numerze telefonu (np. 1082), nazwie jednostki organizacyjnej- więcej informacji odnośnie wyszukiwarki\n", + "\n", + "\n", + "\n", + "\n", + " Zaloguj\n", + "\n", + " Zaloguj\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "MENU\n", + "\n", + "X\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Strona głównaStudenciLegitymacje \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Legitymacje\n", + "\n", + "red. Wiktor Dąborowski\n", + "\n", + "Zgodnie z ustawą Prawo o szkolnictwie wyższym i nauce z dnia 20 lipca 2018r. (Dz. U. 2018 poz. 1668) art. 74 Uczelnia wydaje studentowi legitymację studencką, której wzór określa załącznik nr 1 do rozporządzenia Ministra Nauki i Szkolnictwa Wyższego z dnia 27 września 2018r. (Dz. U. 2018 poz. 1861) w sprawie studiów.\n", + "Studenci, którzy przeszli internetową rekrutację (SIR) \n", + "otrzymują legitymację studencką, BEZ WYPEŁNIANIA wniosku, po uiszczeniu opłaty w wysokości 22zł za wydanie legitymacji. Do wydruku legitymacji wykorzystane zostanie zdjęcie zamieszczone przez kandydatów w systemie SIR, nie ma potrzeby zamieszczania zdjęcia w systemie USOS (wirtualny dziekanat).Opłatę należy uiścić na indywidualny numer konta bankowego dostępny po zalogowaniu do systemu USOS pod adresem https://usos.prz.edu.pl, w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"(kandydaci po przyjęciu na studia otrzymują w systemie SIR komunikat z informacją o założeniu studenckiego konta pocztowego [ten sam login i hasło umożliwia zalogowanie się m.in. do systemu USOS]. Dopiero od tego momentu możliwe jest zalogowanie się do systemu USOS i sprawdzenie indywidualnego numeru konta do przelewu)\n", + "Kandydat podejmujący studia na więcej niż jednym kierunku może otrzymać legitymację studencką tylko na jednym, wskazanym kierunku studiów.\n", + "Kandydaci na studia drugiego stopnia posiadający już legitymację wydaną przez Politechnikę Rzeszowską w ramach studiów pierwszego stopnia mogą nadal z niej korzystać w ramach studiów drugiego stopnia bez konieczności wyrabiania \"nowej\" legitymacji i uiszczania opłaty za jej wydanie.\n", + "Studenci przeniesieni z innej Uczelni, którzy nie przechodzili internetowej rekrutacji (SIR)\n", + "otrzymują legitymację studencką, BEZ WYPEŁNIANIA wniosku, po uiszczeniu opłaty w wysokości 22zł za wydanie legitymacji. Aby wydruk legitymacji był możliwy należy zamieścić zdjęcie w systemie USOS (wirtualny dziekanat) w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".Opłatę należy uiścić na indywidualny numer konta bankowego dostępny po zalogowaniu do systemu USOS, w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"(studenci przeniesieni z innych Uczelni mogą uzyskać hasło do logowania w punkcie obsługi kont znajdującym się w Bibiliotece Politechniki Rzeszowskiej [Bud. V, al. Powstańców Warszawy 12, 35-959 Rzeszów] w godzinach pracy Biblioteki)\n", + "\n", + "\n", + "Studenci, którzy utracili legitymację lub chcący zmienić dane zamieszczone na legitymacji\n", + "otrzymują DUPLIKAT legitymacji studenckiej, PO WYPEŁNIANIU wniosku w systemie USOS w zakładce \"Dla wszystkich\"->\"Wnioski\", oraz po uiszczeniu opłaty w wysokości 33zł - utrata/zniszczenie lub 22zł - zmiana danych za wydanie duplikatu legitymacji. Jeżeli duplikat ma zawierać nowe zdjęcie (inne od dotychczasowego) należy zamieścić nowe zdjęcie w systemie USOS w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".Opłatę w odpowiedniej wysokości należy uiścić na indywidualny numer konta bankowego dostępny  w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"\n", + "Informacje dodatkowe\n", + "Odbiór wydrukowanych legitymacji odbywa się w Dziekanacie właściwym dla kierunku studiów.\n", + "Legitymację można odebrać po 5 dniach roboczych od zaksięgowania opłaty oraz wypełnienia wniosku w przypadku duplikatów, wyjątkiem są legitymacje studentów pierwszego roku, którzy uiścili opłatę jeszcze przed rozpoczęciem studiów - legitymację otrzymują oni najwcześniej w trakcie spotkania organizacyjnego rozpoczynającego kształcenie.\n", + "Przedłużanie ważności legitymacji następuje co semestr w terminach do 31 października oraz do 31 marca każdego roku akademickiego w Dziekanacie właściwym dla kierunku studiów. \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "UCZELNIANaukaAktualnościNaukaWspółpraca międzynarodowaWspółpraca z gospodarkąZ życia studentówWydarzeniaKulturaSportOdeszli od nasKonferencje i seminariaInformacje Historia Powstanie i rozwójTradycjePatron Politechniki RzeszowskiejPoczet rektorów (kadencyjnie)Doktoraty honoris causaMisjaSukcesy UczelniStrategia rozwojuDokumentyAkty prawneStruktura organizacyjna Władze UczelniSenatWydziałySchemat struktury organizacyjnejJakość kształceniaDziałania na rzecz poprawy zapewniania dostępnościO Politechnice Rzeszowskiej - tekst łatwy do czytania ETRInformacja o zakresie działalności Politechniki RzeszowskiejKoordynator do spraw dostępnościMateriały dla pracownikówOdpowiedzialność dyscyplinarnaOdpowiedzialność dyscyplinarna nauczycieliOdpowiedzialność dyscyplinarna studentówDobre praktykiMediatorzyZasady etykiKomisja PojednawczaPrzeciwdziałanie mobbingowiRzecznik Praw StudentówPlan Równości PłciOferty pracyOrganizacje i związkiPlan sytuacyjnyWirtualny spacerProjekty realizowane ze środków budżetu państwa lub ze środków Państwowego Funduszu CelowegoPrzebudowa DS. \"Akapit\"Wykonanie sieci energetycznej do budynku K i HBudowa magazynu odczynników i odpadów chemicznychBudowa SerwerowniRozbudowa budynku \"Arcus\"KontaktKANDYDACISTUDENCIUSOSPoczta elektronicznaLegitymacjeArchiwum Prac DyplomowychStrony domowe pracownikówStudia za granicąKalendarz akademickiPlany studiówWydział Budownictwa, Inżynierii Środowiska i ArchitekturyWydział Budowy Maszyn i LotnictwaWydział ChemicznyWydział Elektrotechniki i InformatykiWydział Matematyki i Fizyki StosowanejWydział ZarządzaniaAkty prawneRegulaminy studiów (BIP)Przebieg studiówOpłaty (BIP)Dyplomy i świadectwaRegulamin studiówŚwiadczenia dla studentów Regulamin świadczeń dla studentów Politechniki RzeszowskiejStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomogaStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomoga - rok akad. 2023/24Stypendium rektoraStypendium ministra dla studentówStypendium z własnego funduszuKlauzula informacyjna dla studenta/doktoranta składającego wniosekPomoc osobom z niepełnosprawnościamiZakwaterowanie w domach studenckich PRzStudenci niepełnosprawni Wsparcie dla osób niepełnosprawnych na Politechnice RzeszowskiejNagroda dla nauczycieli, twórców edukacyjnego oprogramowania i niepełnosprawnych dorosłychWsparcie absolwentów we wchodzeniu na rynek pracySamorząd StudenckiOrganizacje studenckieBiuro KarierKredyty studenckieSprzedaż skryptów PRzStudenckie konta pocztoweWnioski studenckie - Elektroniczny Obieg DokumentówDOKTORANCISzkoła DoktorskaStudia doktoranckie Wydział Budownictwa, Inżynierii Środowiska i ArchitekturyWydział Budowy Maszyn i LotnictwaWydział ChemicznyWydział Elektrotechniki i InformatykiRegulamin studiów doktoranckichOpłaty za studia doktoranckieKomunikaty dla doktorantów Świadczenia dla doktorantówRegulamin świadczeń dla doktorantów Politechniki RzeszowskiejStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomogaStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomoga - rok akad. 2023/24Stypendia dla doktorantówDoktoranci niepełnosprawniZakwaterowanie w domach studenckich PRzSamorząd DoktorantówDoktorat wdrożeniowyInformacje ogólneHarmonogram rekrutacji 2023-2024Dokumenty do pobraniaOsoba do kontaktuABSOLWENCIBiuro KarierBadania losów absolwentówStudia podyplomoweWydział Budownictwa, Inżynierii Środowiska i ArchitekturyWydział Budowy Maszyn i LotnictwaWydział ChemicznyWydział Elektrotechniki i InformatykiWydział Mechaniczno-TechnologicznyWydział ZarządzaniaRegulamin studiów podyplomowych (BIP)PRACOWNICYStruktura zatrudnienia na Politechnice RzeszowskiejCentrala telefonicznaDokumentyOgłoszenia pracownicze Komunikaty HelpDeskOgólnodostępneTylko dla zalogowanychPoczta elektronicznaPrzydatne stronySprawy pracownicze Dział Płac i RozliczeńDział Spraw OsobowychOferta socjalnaObsługa prawnaSekcja ds. Rozwoju Naukowego i EwaluacjiOrganizacje pracownicze i związki zawodoweKasa Zapomogowo-Pożyczkowa działająca na Politechnice RzeszowskiejAdministratorzy budynków (portiernie)Wizytówki www pracownikówSystem portalowy PRzWiki PRzZamówienia publiczneSystemy/Usługi informatyczneDydaktyczne czwartkiCentrum Doskonałości Dydaktycznej\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "OFERTA DLA BIZNESU Oferta współpracy Oferta usługowo-badawcza PRzEksperci PRzBADANIA I NAUKA Nadchodzące wydarzeniaGranty naukowe krajoweGranty i fundusze europejskie archiwalneGranty naukowe międzynarodoweLaboratoriaCentraDorobek NaukowyOddział Informacji NaukowejKOMUNIKACJA MARKETINGOWA Rzecznik prasowyPatronat JM Rektora Politechniki RzeszowskiejDo pobrania Krój pismaKsięga standardów identyfikacji wizualnejOkładki prac doktorskichPapier firmowyPlan sytuacyjny miasteczka akademickiegoPrezentacja multimedialnaSpot promocyjnySzablon prezentacji multimedialnejZnaki graficzne\n", + "\n", + "\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Facebook\n", + "\n", + "\n", + "Twitter\n", + "\n", + "\n", + "LinkedIn\n", + "\n", + "\n", + "YouTube\n", + "\n", + "\n", + "Instagram\n", + "\n", + "\n", + "Flickr\n", + "\n", + "\n", + "\n", + "\n", + " \n", + "Projekty realizowane ze środków budżetu państwa lub ze środków Państwowego Funduszu Celowego\n", + "Zamówienia publiczne\n", + "Postępowanie w sytuacji zagrożeń\n", + "Ochrona Danych Osobowych\n", + "Biuro Ochrony Informacji Niejawnych i Spraw Obronnych\n", + "\n", + "\n", + "Centrum Informatyzacji\n", + "Pion Prorektora ds. Kształcenia\n", + "Biuro ds. Rozwoju Potencjału Naukowego i Ewaluacji\n", + "Biuro Badań Naukowych\n", + "Dział Współpracy Międzynarodowej\n", + "\n", + "\n", + "Sekcja ds. e-Learningu i Kształcenia Zdalnego\n", + "Miasteczko akademickie\n", + "Akademicki Ośrodek Szybowcowy Bezmiechowa\n", + "Ośrodek Kształcenia Lotniczego w Jasionce\n", + "Fundacja Rozwoju Politechniki Rzeszowskiej\n", + "Stowarzyszenie Wsparcia Politechniki Rzeszowskiej PRZ-CONNECT\n", + " \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Politechnika Rzeszowska im. Ignacego Łukasiewiczaal. Powstańców Warszawy 1235-959 Rzeszówtel.: +48 17 865 11 00fax: +48 17 854 12 60e-mail: kancelaria@prz.edu.plMapa serwisuDeklaracja dostępnościPolityka prywatnościZgłoś błąd na stronieZgłoś naruszenie \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Nasze serwisy używają informacji zapisanych w plikach cookies. Korzystając z serwisu wyrażasz zgodę na używanie plików cookies zgodnie z aktualnymi ustawieniami przeglądarki, które możesz zmienić w dowolnej chwili. Więcej informacji odnośnie plików cookies. \n", + "\r\n", + " Akceptuję \n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(full_text)" + ] + }, + { + "cell_type": "markdown", + "id": "4c77a6fe", + "metadata": {}, + "source": [ + "### Z pomocą przychodzi nam moduł newspaper" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2c67347a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "print()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "0f89ef46", + "metadata": {}, + "outputs": [], + "source": [ + "# Import obiektu Article z modułu newspaper\n", + "\n", + "from newspaper import Article\n", + "\n", + "# Utworzenie obiektu Article\n", + "\n", + "article = Article(url, language='pl')\n", + "\n", + "# Wywołanie metody download, która pobiera źródło strony\n", + "\n", + "article.download()\n", + "\n", + "# Wywołanie metody parse, która parsuje dane do odpowiedniego formatu\n", + "\n", + "article.parse()\n", + "\n", + "# Przypisanie zawartości strony w formacie string do miennej \n", + "\n", + "clean_text = article.text" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "95e2b7c1", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "b25ed33d", + "metadata": {}, + "source": [ + "### Tak prezentują się dane, które zawierają wyłącznie wartościowe treści" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "b015344c", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "red. Wiktor Dąborowski\n", + "\n", + "Zgodnie z ustawą Prawo o szkolnictwie wyższym i nauce z dnia 20 lipca 2018r. (Dz. U. 2018 poz. 1668) art. 74 Uczelnia wydaje studentowi legitymację studencką, której wzór określa załącznik nr 1 do rozporządzenia Ministra Nauki i Szkolnictwa Wyższego z dnia 27 września 2018r. (Dz. U. 2018 poz. 1861) w sprawie studiów.\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Studenci, którzy przeszli internetową rekrutację (SIR)\n", + "\n", + "otrzymują legitymację studencką, BEZ WYPEŁNIANIA wniosku, po uiszczeniu opłaty w wysokości 22zł za wydanie legitymacji.\n", + "\n", + "Do wydruku legitymacji wykorzystane zostanie zdjęcie zamieszczone przez kandydatów w systemie SIR, nie ma potrzeby zamieszczania zdjęcia w systemie USOS (wirtualny dziekanat).\n", + "\n", + "Opłatę należy uiścić na indywidualny numer konta bankowego dostępny po zalogowaniu do systemu USOS pod adresem https://usos.prz.edu.pl, w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"\n", + "\n", + "(kandydaci po przyjęciu na studia otrzymują w systemie SIR komunikat z informacją o założeniu studenckiego konta pocztowego [ten sam login i hasło umożliwia zalogowanie się m.in. do systemu USOS]. Dopiero od tego momentu możliwe jest zalogowanie się do systemu USOS i sprawdzenie indywidualnego numeru konta do przelewu)\n", + "\n", + "\n", + "\n", + "Kandydat podejmujący studia na więcej niż jednym kierunku może otrzymać legitymację studencką tylko na jednym, wskazanym kierunku studiów.\n", + "\n", + "Kandydaci na studia drugiego stopnia posiadający już legitymację wydaną przez Politechnikę Rzeszowską w ramach studiów pierwszego stopnia mogą nadal z niej korzystać w ramach studiów drugiego stopnia bez konieczności wyrabiania \"nowej\" legitymacji i uiszczania opłaty za jej wydanie.\n", + "\n", + "Studenci przeniesieni z innej Uczelni, którzy nie przechodzili internetowej rekrutacji (SIR)\n", + "\n", + "otrzymują legitymację studencką, BEZ WYPEŁNIANIA wniosku, po uiszczeniu opłaty w wysokości 22zł za wydanie legitymacji.\n", + "\n", + "Aby wydruk legitymacji był możliwy należy zamieścić zdjęcie w systemie USOS (wirtualny dziekanat) w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".\n", + "\n", + "Opłatę należy uiścić na indywidualny numer konta bankowego dostępny po zalogowaniu do systemu USOS, w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"\n", + "\n", + "(studenci przeniesieni z innych Uczelni mogą uzyskać hasło do logowania w punkcie obsługi kont znajdującym się w Bibiliotece Politechniki Rzeszowskiej [Bud. V, al. Powstańców Warszawy 12, 35-959 Rzeszów] w godzinach pracy Biblioteki)\n", + "\n", + "Studenci, którzy utracili legitymację lub chcący zmienić dane zamieszczone na legitymacji\n", + "\n", + "otrzymują DUPLIKAT legitymacji studenckiej, PO WYPEŁNIANIU wniosku w systemie USOS w zakładce \"Dla wszystkich\"->\"Wnioski\", oraz po uiszczeniu opłaty w wysokości 33zł - utrata/zniszczenie lub 22zł - zmiana danych za wydanie duplikatu legitymacji.\n", + "\n", + "Jeżeli duplikat ma zawierać nowe zdjęcie (inne od dotychczasowego) należy zamieścić nowe zdjęcie w systemie USOS w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".\n", + "\n", + "Opłatę w odpowiedniej wysokości należy uiścić na indywidualny numer konta bankowego dostępny w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "Informacje dodatkowe\n", + "\n", + "Odbiór wydrukowanych legitymacji odbywa się w Dziekanacie właściwym dla kierunku studiów.\n", + "\n", + "Legitymację można odebrać po 5 dniach roboczych od zaksięgowania opłaty oraz wypełnienia wniosku w przypadku duplikatów, wyjątkiem są legitymacje studentów pierwszego roku, którzy uiścili opłatę jeszcze przed rozpoczęciem studiów - legitymację otrzymują oni najwcześniej w trakcie spotkania organizacyjnego rozpoczynającego kształcenie.\n", + "\n", + "Przedłużanie ważności legitymacji następuje co semestr w terminach do 31 października oraz do 31 marca każdego roku akademickiego w Dziekanacie właściwym dla kierunku studiów.\n" + ] + } + ], + "source": [ + "print(clean_text)" + ] + }, + { + "cell_type": "markdown", + "id": "2f22a587", + "metadata": {}, + "source": [ + "### Jak bardzo skrócił się tekst?" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "41b7a447", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Długość pełnego tekstu strony: 10704\n", + "Długość istotnego tekstu strony: 3736\n", + "\n", + "Różnica: 6968\n" + ] + } + ], + "source": [ + "print(f'''Długość pełnego tekstu strony: {len(full_text)}\n", + "Długość istotnego tekstu strony: {len(clean_text)}\n", + "\n", + "Różnica: {len(full_text) - len(clean_text)}''')" + ] + }, + { + "cell_type": "markdown", + "id": "6184a008", + "metadata": {}, + "source": [ + "### Dodatkowe funkcje modułu newspaper" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8025cf21", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "C:\\Users\\dawid\\anaconda3\\lib\\site-packages\\scipy\\__init__.py:146: UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.26.2\n", + " warnings.warn(f\"A NumPy version >={np_minversion} and <{np_maxversion}\"\n" + ] + } + ], + "source": [ + "# Wywołanie metody nlp, która tworzy dodatkowe wartości obiektu\n", + "\n", + "article.nlp()" + ] + }, + { + "cell_type": "markdown", + "id": "5fa93f62", + "metadata": {}, + "source": [ + "#### Słowa kluczowe" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9036dadc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['legitymacji',\n", + " 'należy',\n", + " 'systemie',\n", + " 'legitymację',\n", + " 'konta',\n", + " 'usos',\n", + " 'zdjęcie',\n", + " 'ignacego',\n", + " 'wysokości',\n", + " 'zakładce',\n", + " 'politechnika',\n", + " 'łukasiewicza',\n", + " 'rzeszowska',\n", + " 'opłaty']" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "article.keywords" + ] + }, + { + "cell_type": "markdown", + "id": "ceb48100", + "metadata": {}, + "source": [ + "#### Podsumowanie" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "f1b27f6d", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "74 Uczelnia wydaje studentowi legitymację studencką, której wzór określa załącznik nr 1 do rozporządzenia Ministra Nauki i Szkolnictwa Wyższego z dnia 27 września 2018r.\n", + "Studenci, którzy przeszli internetową rekrutację (SIR)otrzymują legitymację studencką, BEZ WYPEŁNIANIA wniosku, po uiszczeniu opłaty w wysokości 22zł za wydanie legitymacji.\n", + "Do wydruku legitymacji wykorzystane zostanie zdjęcie zamieszczone przez kandydatów w systemie SIR, nie ma potrzeby zamieszczania zdjęcia w systemie USOS (wirtualny dziekanat).\n", + "Aby wydruk legitymacji był możliwy należy zamieścić zdjęcie w systemie USOS (wirtualny dziekanat) w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".\n", + "Jeżeli duplikat ma zawierać nowe zdjęcie (inne od dotychczasowego) należy zamieścić nowe zdjęcie w systemie USOS w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".\n" + ] + } + ], + "source": [ + "print(article.summary)" + ] + }, + { + "attachments": { + "886xep.jpg": { + "image/jpeg": "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" + } + }, + "cell_type": "markdown", + "id": "7ca7783a", + "metadata": {}, + "source": [ + "![886xep.jpg](attachment:886xep.jpg)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/tutorials/RecursiveUrlLoader - quick overview.ipynb b/notebooks/tutorials/RecursiveUrlLoader - quick overview.ipynb new file mode 100644 index 0000000..12933f5 --- /dev/null +++ b/notebooks/tutorials/RecursiveUrlLoader - quick overview.ipynb @@ -0,0 +1,209 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "4e6377da", + "metadata": {}, + "source": [ + "# RecursiveUrlLoader - quick overview" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "23b7aabc", + "metadata": {}, + "outputs": [], + "source": [ + "# Import obiektu RecursiveUrlLoader z modułu langchain\n", + "\n", + "from langchain.document_loaders.recursive_url_loader import RecursiveUrlLoader\n", + "\n", + "# Import obiektu BeautifulSoup z modułu bs4\n", + "\n", + "from bs4 import BeautifulSoup as Soup" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "a90b32e6", + "metadata": {}, + "outputs": [], + "source": [ + "# Zdefiniowanie adresu URL, od którego zacznie się pobieranie danych\n", + "\n", + "url = \"https://w.prz.edu.pl/studenci_menu/legitymacje\"\n", + "\n", + "# Stworzenie obiektu RecursiveUrlLoader z zastosowaniem \n", + "# obiektu BeautifulSoup jako funkcji ekstrakcji danych\n", + "# w formacie html ze źródeł przeszukiwanych stron\n", + "\n", + "loader = RecursiveUrlLoader(\n", + " url=url, max_depth=1, extractor=lambda x:Soup(x, \"html.parser\").text\n", + ")\n", + "\n", + "# Pobranie danych i zapisanie ich do zmiennej w formie listy\n", + "\n", + "docs = loader.load()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "7a72c8ee", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Ilość załadowanych dokumentów\n", + "len(docs)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "31e69969", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "langchain.schema.document.Document" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Załadowany dokument jest obiektem Document, który strukturą\n", + "# przypomina pythonowy słownik z dwoma kluczami:\n", + "# + page content - zawartość strony w stringu,\n", + "# + metadata - adres URL, tytuł i język strony w słowniku\n", + "\n", + "type(docs[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "e6845da3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Document(page_content='\\nLegitymacje / POLITECHNIKA RZESZOWSKA im. Ignacego Łukasiewicza \\n\\n\\n\\n\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n \\n\\n\\n\\n\\nPrzejdź do menu głównegoPrzejdź do treści strony\\nPrzejdź do wyszukiwarki\\n\\nPodstrona: Legitymacje / POLITECHNIKA RZESZOWSKA im. Ignacego Łukasiewicza\\n\\n\\n\\n\\n\\n\\n\\n\\nA\\xa0\\nA+\\nA++\\n\\n\\n\\n\\n\\n\\n\\nCentralna Usługa Uwierzytelniania CASKonta studenckie i pracownicze PRz\\n\\nPozostali użytkownicy\\n\\n\\n\\n\\n\\nlogin* \\n\\npassword* \\n\\n \\n\\n\\n\\nWyszukajWyszukaj\\n\\n\\n\\n\\nSzukaj* \\n\\n \\n Informacje odnośnie korzystania z wyszukiwarki\\n- Minimalna liczba znaków: 3- ujęcie szukanego słowa/frazy w cudzysłów zawęzi wyniki wyszukiwania\\n- można wyszukiwać po numerze telefonu (np. 1082), nazwie jednostki organizacyjnej- więcej informacji odnośnie wyszukiwarki\\n\\n\\n\\n\\n Zaloguj\\n\\n Zaloguj\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nMENU\\n\\nX\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nStrona głównaStudenciLegitymacje \\n\\n\\n\\n\\n\\n\\n\\n\\nLegitymacje\\n\\nred. Wiktor Dąborowski\\n\\nZgodnie z ustawą Prawo o szkolnictwie wyższym i nauce z dnia 20 lipca 2018r. (Dz. U. 2018 poz. 1668) art. 74 Uczelnia wydaje studentowi legitymację studencką, której wzór określa załącznik nr 1 do rozporządzenia Ministra Nauki i Szkolnictwa Wyższego z dnia 27 września 2018r. (Dz. U. 2018 poz. 1861) w sprawie studiów.\\nStudenci, którzy przeszli internetową rekrutację (SIR) \\notrzymują legitymację studencką, BEZ WYPEŁNIANIA wniosku, po uiszczeniu opłaty w wysokości 22zł za wydanie legitymacji. Do wydruku legitymacji wykorzystane zostanie zdjęcie zamieszczone przez kandydatów w systemie SIR, nie ma potrzeby zamieszczania zdjęcia w systemie USOS (wirtualny dziekanat).Opłatę należy uiścić na indywidualny numer konta bankowego dostępny po zalogowaniu do systemu USOS pod adresem https://usos.prz.edu.pl, w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"(kandydaci po przyjęciu na studia otrzymują w systemie SIR komunikat z informacją o założeniu studenckiego konta pocztowego [ten sam login i hasło umożliwia zalogowanie się m.in. do systemu USOS]. Dopiero od tego momentu możliwe jest zalogowanie się do systemu USOS i sprawdzenie indywidualnego numeru konta do przelewu)\\nKandydat podejmujący studia na więcej niż jednym kierunku może otrzymać legitymację studencką tylko na jednym, wskazanym kierunku studiów.\\nKandydaci na studia drugiego stopnia posiadający już legitymację wydaną przez Politechnikę Rzeszowską w ramach studiów pierwszego stopnia mogą nadal z niej korzystać w ramach studiów drugiego stopnia bez konieczności wyrabiania \"nowej\" legitymacji i uiszczania opłaty za jej wydanie.\\nStudenci przeniesieni z innej Uczelni, którzy nie przechodzili internetowej rekrutacji (SIR)\\notrzymują legitymację studencką, BEZ WYPEŁNIANIA wniosku, po uiszczeniu opłaty w wysokości 22zł za wydanie legitymacji. Aby wydruk legitymacji był możliwy należy zamieścić zdjęcie w systemie USOS (wirtualny dziekanat) w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".Opłatę należy uiścić na indywidualny numer konta bankowego dostępny po zalogowaniu do systemu USOS, w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"(studenci przeniesieni z innych Uczelni mogą uzyskać hasło do logowania w punkcie obsługi kont znajdującym się w Bibiliotece Politechniki Rzeszowskiej [Bud. V, al. Powstańców Warszawy 12, 35-959 Rzeszów] w godzinach pracy Biblioteki)\\n\\n\\nStudenci, którzy utracili legitymację lub chcący zmienić dane zamieszczone na legitymacji\\notrzymują DUPLIKAT legitymacji studenckiej, PO WYPEŁNIANIU wniosku w systemie USOS w zakładce \"Dla wszystkich\"->\"Wnioski\", oraz po uiszczeniu opłaty w wysokości 33zł - utrata/zniszczenie lub 22zł - zmiana danych za wydanie duplikatu legitymacji. Jeżeli duplikat ma zawierać nowe zdjęcie (inne od dotychczasowego) należy zamieścić nowe zdjęcie w systemie USOS w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".Opłatę w odpowiedniej wysokości należy uiścić na indywidualny numer konta bankowego dostępny\\xa0 w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"\\nInformacje dodatkowe\\nOdbiór wydrukowanych legitymacji odbywa się w Dziekanacie właściwym dla kierunku studiów.\\nLegitymację można odebrać po 5 dniach roboczych od zaksięgowania opłaty oraz wypełnienia wniosku w przypadku duplikatów, wyjątkiem są legitymacje studentów pierwszego roku, którzy uiścili opłatę jeszcze przed rozpoczęciem studiów - legitymację otrzymują oni najwcześniej w trakcie spotkania organizacyjnego rozpoczynającego kształcenie.\\nPrzedłużanie ważności legitymacji następuje co semestr w terminach do 31 października oraz do 31 marca każdego roku akademickiego w Dziekanacie właściwym dla kierunku studiów. \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nUCZELNIANaukaAktualnościNaukaWspółpraca międzynarodowaWspółpraca z gospodarkąZ życia studentówWydarzeniaKulturaSportOdeszli od nasKonferencje i seminariaInformacje Historia Powstanie i rozwójTradycjePatron Politechniki RzeszowskiejPoczet rektorów (kadencyjnie)Doktoraty honoris causaMisjaSukcesy UczelniStrategia rozwojuDokumentyAkty prawneStruktura organizacyjna Władze UczelniSenatWydziałySchemat struktury organizacyjnejJakość kształceniaDziałania na rzecz poprawy zapewniania dostępnościO Politechnice Rzeszowskiej - tekst łatwy do czytania ETRInformacja o zakresie działalności Politechniki RzeszowskiejKoordynator do spraw dostępnościMateriały dla pracownikówOdpowiedzialność dyscyplinarnaOdpowiedzialność dyscyplinarna nauczycieliOdpowiedzialność dyscyplinarna studentówDobre praktykiMediatorzyZasady etykiKomisja PojednawczaPrzeciwdziałanie mobbingowiRzecznik Praw StudentówPlan Równości PłciOferty pracyOrganizacje i związkiPlan sytuacyjnyWirtualny spacerProjekty realizowane ze środków budżetu państwa lub ze środków Państwowego Funduszu CelowegoPrzebudowa DS. \"Akapit\"Wykonanie sieci energetycznej do budynku K i HBudowa magazynu odczynników i odpadów chemicznychBudowa SerwerowniRozbudowa budynku \"Arcus\"KontaktKANDYDACISTUDENCIUSOSPoczta elektronicznaLegitymacjeArchiwum Prac DyplomowychStrony domowe pracownikówStudia za granicąKalendarz akademickiPlany studiówWydział Budownictwa, Inżynierii Środowiska i ArchitekturyWydział Budowy Maszyn i LotnictwaWydział ChemicznyWydział Elektrotechniki i InformatykiWydział Matematyki i Fizyki StosowanejWydział ZarządzaniaAkty prawneRegulaminy studiów (BIP)Przebieg studiówOpłaty (BIP)Dyplomy i świadectwaRegulamin studiówŚwiadczenia dla studentów Regulamin świadczeń dla studentów Politechniki RzeszowskiejStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomogaStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomoga - rok akad. 2023/24Stypendium rektoraStypendium ministra dla studentówStypendium z własnego funduszuKlauzula informacyjna dla studenta/doktoranta składającego wniosekPomoc osobom z niepełnosprawnościamiZakwaterowanie w domach studenckich PRzStudenci niepełnosprawni Wsparcie dla osób niepełnosprawnych na Politechnice RzeszowskiejNagroda dla nauczycieli, twórców edukacyjnego oprogramowania i niepełnosprawnych dorosłychWsparcie absolwentów we wchodzeniu na rynek pracySamorząd StudenckiOrganizacje studenckieBiuro KarierKredyty studenckieSprzedaż skryptów PRzStudenckie konta pocztoweWnioski studenckie - Elektroniczny Obieg DokumentówDOKTORANCISzkoła DoktorskaStudia doktoranckie Wydział Budownictwa, Inżynierii Środowiska i ArchitekturyWydział Budowy Maszyn i LotnictwaWydział ChemicznyWydział Elektrotechniki i InformatykiRegulamin studiów doktoranckichOpłaty za studia doktoranckieKomunikaty dla doktorantów Świadczenia dla doktorantówRegulamin świadczeń dla doktorantów Politechniki RzeszowskiejStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomogaStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomoga - rok akad. 2023/24Stypendia dla doktorantówDoktoranci niepełnosprawniZakwaterowanie w domach studenckich PRzSamorząd DoktorantówDoktorat wdrożeniowyInformacje ogólneHarmonogram rekrutacji 2023-2024Dokumenty do pobraniaOsoba do kontaktuABSOLWENCIBiuro KarierBadania losów absolwentówStudia podyplomoweWydział Budownictwa, Inżynierii Środowiska i ArchitekturyWydział Budowy Maszyn i LotnictwaWydział ChemicznyWydział Elektrotechniki i InformatykiWydział Mechaniczno-TechnologicznyWydział ZarządzaniaRegulamin studiów podyplomowych (BIP)PRACOWNICYStruktura zatrudnienia na Politechnice RzeszowskiejCentrala telefonicznaDokumentyOgłoszenia pracownicze Komunikaty HelpDeskOgólnodostępneTylko dla zalogowanychPoczta elektronicznaPrzydatne stronySprawy pracownicze Dział Płac i RozliczeńDział Spraw OsobowychOferta socjalnaObsługa prawnaSekcja ds. Rozwoju Naukowego i EwaluacjiOrganizacje pracownicze i związki zawodoweKasa Zapomogowo-Pożyczkowa działająca na Politechnice RzeszowskiejAdministratorzy budynków (portiernie)Wizytówki www pracownikówSystem portalowy PRzWiki PRzZamówienia publiczneSystemy/Usługi informatyczneDydaktyczne czwartkiCentrum Doskonałości Dydaktycznej\\n\\n\\n\\n\\n\\n\\nOFERTA DLA BIZNESU Oferta współpracy Oferta usługowo-badawcza PRzEksperci PRzBADANIA I NAUKA Nadchodzące wydarzeniaGranty naukowe krajoweGranty i fundusze europejskie archiwalneGranty naukowe międzynarodoweLaboratoriaCentraDorobek NaukowyOddział Informacji NaukowejKOMUNIKACJA MARKETINGOWA Rzecznik prasowyPatronat JM Rektora Politechniki RzeszowskiejDo pobrania Krój pismaKsięga standardów identyfikacji wizualnejOkładki prac doktorskichPapier firmowyPlan sytuacyjny miasteczka akademickiegoPrezentacja multimedialnaSpot promocyjnySzablon prezentacji multimedialnejZnaki graficzne\\n\\n\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\nFacebook\\n\\n\\nTwitter\\n\\n\\nLinkedIn\\n\\n\\nYouTube\\n\\n\\nInstagram\\n\\n\\nFlickr\\n\\n\\n\\n\\n \\nProjekty realizowane ze środków budżetu państwa lub ze środków Państwowego Funduszu Celowego\\nZamówienia publiczne\\nPostępowanie w sytuacji zagrożeń\\nOchrona Danych Osobowych\\nBiuro Ochrony Informacji Niejawnych i Spraw Obronnych\\n\\n\\nCentrum Informatyzacji\\nPion Prorektora ds. Kształcenia\\nBiuro ds. Rozwoju Potencjału Naukowego i\\xa0Ewaluacji\\nBiuro Badań Naukowych\\nDział Współpracy Międzynarodowej\\n\\n\\nSekcja ds. e-Learningu i Kształcenia Zdalnego\\nMiasteczko akademickie\\nAkademicki Ośrodek Szybowcowy Bezmiechowa\\nOśrodek Kształcenia Lotniczego w Jasionce\\nFundacja Rozwoju Politechniki Rzeszowskiej\\nStowarzyszenie Wsparcia Politechniki Rzeszowskiej PRZ-CONNECT\\n \\n\\n\\n\\n\\n\\n\\nPolitechnika Rzeszowska im. Ignacego Łukasiewiczaal. Powstańców Warszawy 1235-959 Rzeszówtel.: +48 17 865 11 00fax: +48 17 854 12 60e-mail: kancelaria@prz.edu.plMapa serwisuDeklaracja dostępnościPolityka prywatnościZgłoś błąd na stronieZgłoś naruszenie \\n\\n\\n\\n\\n\\n\\n\\n\\nNasze serwisy używają informacji zapisanych w plikach cookies. Korzystając z serwisu wyrażasz zgodę na używanie plików cookies zgodnie z aktualnymi ustawieniami przeglądarki, które możesz zmienić w dowolnej chwili. Więcej informacji odnośnie plików cookies. \\n\\r\\n Akceptuję \\n\\n\\n\\n\\n\\n\\n\\n\\n', metadata={'source': 'https://w.prz.edu.pl/studenci_menu/legitymacje', 'title': 'Legitymacje / POLITECHNIKA RZESZOWSKA im. Ignacego Łukasiewicza', 'language': 'pl'})" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Struktura pojedynczego dokumentu\n", + "\n", + "docs[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "3c7815aa", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nLegitymacje / POLITECHNIKA RZESZOWSKA im. Ignacego Łukasiewicza \\n\\n\\n\\n\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n \\n\\n\\n\\n\\nPrzejdź do menu głównegoPrzejdź do treści strony\\nPrzejdź do wyszukiwarki\\n\\nPodstrona: Legitymacje / POLITECHNIKA RZESZOWSKA im. Ignacego Łukasiewicza\\n\\n\\n\\n\\n\\n\\n\\n\\nA\\xa0\\nA+\\nA++\\n\\n\\n\\n\\n\\n\\n\\nCentralna Usługa Uwierzytelniania CASKonta studenckie i pracownicze PRz\\n\\nPozostali użytkownicy\\n\\n\\n\\n\\n\\nlogin* \\n\\npassword* \\n\\n \\n\\n\\n\\nWyszukajWyszukaj\\n\\n\\n\\n\\nSzukaj* \\n\\n \\n Informacje odnośnie korzystania z wyszukiwarki\\n- Minimalna liczba znaków: 3- ujęcie szukanego słowa/frazy w cudzysłów zawęzi wyniki wyszukiwania\\n- można wyszukiwać po numerze telefonu (np. 1082), nazwie jednostki organizacyjnej- więcej informacji odnośnie wyszukiwarki\\n\\n\\n\\n\\n Zaloguj\\n\\n Zaloguj\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nMENU\\n\\nX\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nStrona głównaStudenciLegitymacje \\n\\n\\n\\n\\n\\n\\n\\n\\nLegitymacje\\n\\nred. Wiktor Dąborowski\\n\\nZgodnie z ustawą Prawo o szkolnictwie wyższym i nauce z dnia 20 lipca 2018r. (Dz. U. 2018 poz. 1668) art. 74 Uczelnia wydaje studentowi legitymację studencką, której wzór określa załącznik nr 1 do rozporządzenia Ministra Nauki i Szkolnictwa Wyższego z dnia 27 września 2018r. (Dz. U. 2018 poz. 1861) w sprawie studiów.\\nStudenci, którzy przeszli internetową rekrutację (SIR) \\notrzymują legitymację studencką, BEZ WYPEŁNIANIA wniosku, po uiszczeniu opłaty w wysokości 22zł za wydanie legitymacji. Do wydruku legitymacji wykorzystane zostanie zdjęcie zamieszczone przez kandydatów w systemie SIR, nie ma potrzeby zamieszczania zdjęcia w systemie USOS (wirtualny dziekanat).Opłatę należy uiścić na indywidualny numer konta bankowego dostępny po zalogowaniu do systemu USOS pod adresem https://usos.prz.edu.pl, w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"(kandydaci po przyjęciu na studia otrzymują w systemie SIR komunikat z informacją o założeniu studenckiego konta pocztowego [ten sam login i hasło umożliwia zalogowanie się m.in. do systemu USOS]. Dopiero od tego momentu możliwe jest zalogowanie się do systemu USOS i sprawdzenie indywidualnego numeru konta do przelewu)\\nKandydat podejmujący studia na więcej niż jednym kierunku może otrzymać legitymację studencką tylko na jednym, wskazanym kierunku studiów.\\nKandydaci na studia drugiego stopnia posiadający już legitymację wydaną przez Politechnikę Rzeszowską w ramach studiów pierwszego stopnia mogą nadal z niej korzystać w ramach studiów drugiego stopnia bez konieczności wyrabiania \"nowej\" legitymacji i uiszczania opłaty za jej wydanie.\\nStudenci przeniesieni z innej Uczelni, którzy nie przechodzili internetowej rekrutacji (SIR)\\notrzymują legitymację studencką, BEZ WYPEŁNIANIA wniosku, po uiszczeniu opłaty w wysokości 22zł za wydanie legitymacji. Aby wydruk legitymacji był możliwy należy zamieścić zdjęcie w systemie USOS (wirtualny dziekanat) w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".Opłatę należy uiścić na indywidualny numer konta bankowego dostępny po zalogowaniu do systemu USOS, w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"(studenci przeniesieni z innych Uczelni mogą uzyskać hasło do logowania w punkcie obsługi kont znajdującym się w Bibiliotece Politechniki Rzeszowskiej [Bud. V, al. Powstańców Warszawy 12, 35-959 Rzeszów] w godzinach pracy Biblioteki)\\n\\n\\nStudenci, którzy utracili legitymację lub chcący zmienić dane zamieszczone na legitymacji\\notrzymują DUPLIKAT legitymacji studenckiej, PO WYPEŁNIANIU wniosku w systemie USOS w zakładce \"Dla wszystkich\"->\"Wnioski\", oraz po uiszczeniu opłaty w wysokości 33zł - utrata/zniszczenie lub 22zł - zmiana danych za wydanie duplikatu legitymacji. Jeżeli duplikat ma zawierać nowe zdjęcie (inne od dotychczasowego) należy zamieścić nowe zdjęcie w systemie USOS w zakładce \"Dla wszystkich\"->\"Zdjęcie do legitymacji\".Opłatę w odpowiedniej wysokości należy uiścić na indywidualny numer konta bankowego dostępny\\xa0 w zakładce \"Dla wszystkich\" -> \"Płatności\" -> \"Konta bankowe Uczelni\"\\nInformacje dodatkowe\\nOdbiór wydrukowanych legitymacji odbywa się w Dziekanacie właściwym dla kierunku studiów.\\nLegitymację można odebrać po 5 dniach roboczych od zaksięgowania opłaty oraz wypełnienia wniosku w przypadku duplikatów, wyjątkiem są legitymacje studentów pierwszego roku, którzy uiścili opłatę jeszcze przed rozpoczęciem studiów - legitymację otrzymują oni najwcześniej w trakcie spotkania organizacyjnego rozpoczynającego kształcenie.\\nPrzedłużanie ważności legitymacji następuje co semestr w terminach do 31 października oraz do 31 marca każdego roku akademickiego w Dziekanacie właściwym dla kierunku studiów. \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nUCZELNIANaukaAktualnościNaukaWspółpraca międzynarodowaWspółpraca z gospodarkąZ życia studentówWydarzeniaKulturaSportOdeszli od nasKonferencje i seminariaInformacje Historia Powstanie i rozwójTradycjePatron Politechniki RzeszowskiejPoczet rektorów (kadencyjnie)Doktoraty honoris causaMisjaSukcesy UczelniStrategia rozwojuDokumentyAkty prawneStruktura organizacyjna Władze UczelniSenatWydziałySchemat struktury organizacyjnejJakość kształceniaDziałania na rzecz poprawy zapewniania dostępnościO Politechnice Rzeszowskiej - tekst łatwy do czytania ETRInformacja o zakresie działalności Politechniki RzeszowskiejKoordynator do spraw dostępnościMateriały dla pracownikówOdpowiedzialność dyscyplinarnaOdpowiedzialność dyscyplinarna nauczycieliOdpowiedzialność dyscyplinarna studentówDobre praktykiMediatorzyZasady etykiKomisja PojednawczaPrzeciwdziałanie mobbingowiRzecznik Praw StudentówPlan Równości PłciOferty pracyOrganizacje i związkiPlan sytuacyjnyWirtualny spacerProjekty realizowane ze środków budżetu państwa lub ze środków Państwowego Funduszu CelowegoPrzebudowa DS. \"Akapit\"Wykonanie sieci energetycznej do budynku K i HBudowa magazynu odczynników i odpadów chemicznychBudowa SerwerowniRozbudowa budynku \"Arcus\"KontaktKANDYDACISTUDENCIUSOSPoczta elektronicznaLegitymacjeArchiwum Prac DyplomowychStrony domowe pracownikówStudia za granicąKalendarz akademickiPlany studiówWydział Budownictwa, Inżynierii Środowiska i ArchitekturyWydział Budowy Maszyn i LotnictwaWydział ChemicznyWydział Elektrotechniki i InformatykiWydział Matematyki i Fizyki StosowanejWydział ZarządzaniaAkty prawneRegulaminy studiów (BIP)Przebieg studiówOpłaty (BIP)Dyplomy i świadectwaRegulamin studiówŚwiadczenia dla studentów Regulamin świadczeń dla studentów Politechniki RzeszowskiejStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomogaStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomoga - rok akad. 2023/24Stypendium rektoraStypendium ministra dla studentówStypendium z własnego funduszuKlauzula informacyjna dla studenta/doktoranta składającego wniosekPomoc osobom z niepełnosprawnościamiZakwaterowanie w domach studenckich PRzStudenci niepełnosprawni Wsparcie dla osób niepełnosprawnych na Politechnice RzeszowskiejNagroda dla nauczycieli, twórców edukacyjnego oprogramowania i niepełnosprawnych dorosłychWsparcie absolwentów we wchodzeniu na rynek pracySamorząd StudenckiOrganizacje studenckieBiuro KarierKredyty studenckieSprzedaż skryptów PRzStudenckie konta pocztoweWnioski studenckie - Elektroniczny Obieg DokumentówDOKTORANCISzkoła DoktorskaStudia doktoranckie Wydział Budownictwa, Inżynierii Środowiska i ArchitekturyWydział Budowy Maszyn i LotnictwaWydział ChemicznyWydział Elektrotechniki i InformatykiRegulamin studiów doktoranckichOpłaty za studia doktoranckieKomunikaty dla doktorantów Świadczenia dla doktorantówRegulamin świadczeń dla doktorantów Politechniki RzeszowskiejStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomogaStypendium socjalne, stypendium dla osób niepełnosprawnych i zapomoga - rok akad. 2023/24Stypendia dla doktorantówDoktoranci niepełnosprawniZakwaterowanie w domach studenckich PRzSamorząd DoktorantówDoktorat wdrożeniowyInformacje ogólneHarmonogram rekrutacji 2023-2024Dokumenty do pobraniaOsoba do kontaktuABSOLWENCIBiuro KarierBadania losów absolwentówStudia podyplomoweWydział Budownictwa, Inżynierii Środowiska i ArchitekturyWydział Budowy Maszyn i LotnictwaWydział ChemicznyWydział Elektrotechniki i InformatykiWydział Mechaniczno-TechnologicznyWydział ZarządzaniaRegulamin studiów podyplomowych (BIP)PRACOWNICYStruktura zatrudnienia na Politechnice RzeszowskiejCentrala telefonicznaDokumentyOgłoszenia pracownicze Komunikaty HelpDeskOgólnodostępneTylko dla zalogowanychPoczta elektronicznaPrzydatne stronySprawy pracownicze Dział Płac i RozliczeńDział Spraw OsobowychOferta socjalnaObsługa prawnaSekcja ds. Rozwoju Naukowego i EwaluacjiOrganizacje pracownicze i związki zawodoweKasa Zapomogowo-Pożyczkowa działająca na Politechnice RzeszowskiejAdministratorzy budynków (portiernie)Wizytówki www pracownikówSystem portalowy PRzWiki PRzZamówienia publiczneSystemy/Usługi informatyczneDydaktyczne czwartkiCentrum Doskonałości Dydaktycznej\\n\\n\\n\\n\\n\\n\\nOFERTA DLA BIZNESU Oferta współpracy Oferta usługowo-badawcza PRzEksperci PRzBADANIA I NAUKA Nadchodzące wydarzeniaGranty naukowe krajoweGranty i fundusze europejskie archiwalneGranty naukowe międzynarodoweLaboratoriaCentraDorobek NaukowyOddział Informacji NaukowejKOMUNIKACJA MARKETINGOWA Rzecznik prasowyPatronat JM Rektora Politechniki RzeszowskiejDo pobrania Krój pismaKsięga standardów identyfikacji wizualnejOkładki prac doktorskichPapier firmowyPlan sytuacyjny miasteczka akademickiegoPrezentacja multimedialnaSpot promocyjnySzablon prezentacji multimedialnejZnaki graficzne\\n\\n\\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\nFacebook\\n\\n\\nTwitter\\n\\n\\nLinkedIn\\n\\n\\nYouTube\\n\\n\\nInstagram\\n\\n\\nFlickr\\n\\n\\n\\n\\n \\nProjekty realizowane ze środków budżetu państwa lub ze środków Państwowego Funduszu Celowego\\nZamówienia publiczne\\nPostępowanie w sytuacji zagrożeń\\nOchrona Danych Osobowych\\nBiuro Ochrony Informacji Niejawnych i Spraw Obronnych\\n\\n\\nCentrum Informatyzacji\\nPion Prorektora ds. Kształcenia\\nBiuro ds. Rozwoju Potencjału Naukowego i\\xa0Ewaluacji\\nBiuro Badań Naukowych\\nDział Współpracy Międzynarodowej\\n\\n\\nSekcja ds. e-Learningu i Kształcenia Zdalnego\\nMiasteczko akademickie\\nAkademicki Ośrodek Szybowcowy Bezmiechowa\\nOśrodek Kształcenia Lotniczego w Jasionce\\nFundacja Rozwoju Politechniki Rzeszowskiej\\nStowarzyszenie Wsparcia Politechniki Rzeszowskiej PRZ-CONNECT\\n \\n\\n\\n\\n\\n\\n\\nPolitechnika Rzeszowska im. Ignacego Łukasiewiczaal. Powstańców Warszawy 1235-959 Rzeszówtel.: +48 17 865 11 00fax: +48 17 854 12 60e-mail: kancelaria@prz.edu.plMapa serwisuDeklaracja dostępnościPolityka prywatnościZgłoś błąd na stronieZgłoś naruszenie \\n\\n\\n\\n\\n\\n\\n\\n\\nNasze serwisy używają informacji zapisanych w plikach cookies. Korzystając z serwisu wyrażasz zgodę na używanie plików cookies zgodnie z aktualnymi ustawieniami przeglądarki, które możesz zmienić w dowolnej chwili. Więcej informacji odnośnie plików cookies. \\n\\r\\n Akceptuję \\n\\n\\n\\n\\n\\n\\n\\n\\n'" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Dane tekstowe pozyskane ze strony\n", + "\n", + "docs[0].page_content" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "eb557659", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'source': 'https://w.prz.edu.pl/studenci_menu/legitymacje',\n", + " 'title': 'Legitymacje / POLITECHNIKA RZESZOWSKA im. Ignacego Łukasiewicza',\n", + " 'language': 'pl'}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Metadane pobranej strony\n", + "\n", + "docs[0].metadata" + ] + }, + { + "attachments": { + "87rl67.jpg": { + "image/jpeg": "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" + } + }, + "cell_type": "markdown", + "id": "f7417b4e", + "metadata": {}, + "source": [ + "![87rl67.jpg](attachment:87rl67.jpg)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/tutorials/example.ipynb b/notebooks/tutorials/example.ipynb new file mode 100644 index 0000000..e69de29