diff --git a/akarpov/files/services/lema.py b/akarpov/files/services/lema.py new file mode 100644 index 0000000..719921b --- /dev/null +++ b/akarpov/files/services/lema.py @@ -0,0 +1,37 @@ +from nltk.corpus import stopwords +from nltk.stem import WordNetLemmatizer +from nltk.tokenize import word_tokenize +from pymorphy3 import MorphAnalyzer + +# Set up stop words +english_stopwords = set(stopwords.words("english")) +russian_stopwords = set(stopwords.words("russian")) + +# Set up lemmatizers +english_lemmatizer = WordNetLemmatizer() +russian_lemmatizer = MorphAnalyzer() + + +def lemmatize_and_remove_stopwords(text, language="english"): + # Tokenize the text + tokens = word_tokenize(text) + + # Lemmatize each token based on the specified language + lemmatized_tokens = [] + for token in tokens: + if language == "russian": + lemmatized_token = russian_lemmatizer.parse(token)[0].normal_form + else: # Default to English + lemmatized_token = english_lemmatizer.lemmatize(token) + lemmatized_tokens.append(lemmatized_token) + + # Remove stop words + filtered_tokens = [ + token + for token in lemmatized_tokens + if token not in english_stopwords and token not in russian_stopwords + ] + + # Reconstruct the text + filtered_text = " ".join(filtered_tokens) + return filtered_text diff --git a/akarpov/files/services/search.py b/akarpov/files/services/search.py index 13a08fb..4ef772e 100644 --- a/akarpov/files/services/search.py +++ b/akarpov/files/services/search.py @@ -3,13 +3,14 @@ from typing import BinaryIO from django.conf import settings -from django.contrib.postgres.lookups import Unaccent from django.contrib.postgres.search import TrigramSimilarity -from django.db.models import Q, QuerySet +from django.db.models import F, Func, Q, QuerySet from haystack.query import SearchQuerySet from akarpov.files.models import File +from .lema import lemmatize_and_remove_stopwords + class BaseSearch: def __init__(self, queryset: QuerySet | None = None): @@ -76,6 +77,17 @@ def _byte_search_in_file(file: BinaryIO, byte_sequence: bytes) -> bool: return False +class UnaccentLower(Func): + function = "UNACCENT" + + def as_sql(self, compiler, connection): + unaccented_sql, unaccented_params = compiler.compile( + self.get_source_expressions()[0] + ) + lower_unaccented_sql = f"LOWER({unaccented_sql})" + return lower_unaccented_sql, unaccented_params + + class SimilaritySearch(BaseSearch): def __init__(self, queryset: QuerySet[File] | None = None): super().__init__(queryset) @@ -84,18 +96,40 @@ def search(self, query: str) -> QuerySet[File]: if self.queryset is None: raise ValueError("Queryset cannot be None for similarity search") - # Perform a similarity search using trigram comparison - return ( + # Detect language and preprocess the query + language = "russian" if re.search("[а-яА-Я]", query) else "english" + filtered_query = lemmatize_and_remove_stopwords(query, language=language) + + # Annotate the queryset with similarity scores for each field + queryset = ( self.queryset.annotate( - name_unaccent=Unaccent("name"), - description_unaccent=Unaccent("description"), - content_unaccent=Unaccent("content"), + name_similarity=TrigramSimilarity( + UnaccentLower("name"), filtered_query + ), + description_similarity=TrigramSimilarity( + UnaccentLower("description"), filtered_query + ), + content_similarity=TrigramSimilarity( + UnaccentLower("content"), filtered_query + ), ) .annotate( - similarity=TrigramSimilarity("name_unaccent", query) - + TrigramSimilarity("description_unaccent", query) - + TrigramSimilarity("content_unaccent", query) + combined_similarity=( + F("name_similarity") + + F("description_similarity") + + F("content_similarity") + ) + / 3 ) - .filter(similarity__gt=0.1) - .order_by("-similarity") + .filter(combined_similarity__gt=0.1) + .order_by("-combined_similarity") ) + print(filtered_query) + print(queryset.query) + print( + queryset.values( + "name_similarity", "description_similarity", "content_similarity" + ) + ) + + return queryset diff --git a/akarpov/files/views.py b/akarpov/files/views.py index 092a21a..234b12f 100644 --- a/akarpov/files/views.py +++ b/akarpov/files/views.py @@ -65,7 +65,6 @@ def filter(self, queryset): queryset=File.objects.filter(user=self.request.user) ) queryset = search_instance.search(query) - print(queryset, query) return queryset diff --git a/compose/local/django/Dockerfile b/compose/local/django/Dockerfile index 45f629d..4f51040 100644 --- a/compose/local/django/Dockerfile +++ b/compose/local/django/Dockerfile @@ -38,6 +38,7 @@ RUN python -m venv /venv COPY pyproject.toml poetry.lock /app/ RUN poetry export --without-hashes -f requirements.txt | /venv/bin/pip install -r /dev/stdin +RUN python -m nltk.downloader punkt stopwords wordnet COPY . . RUN poetry build && /venv/bin/pip install dist/*.whl diff --git a/config/settings/base.py b/config/settings/base.py index 36761f7..1cdb757 100644 --- a/config/settings/base.py +++ b/config/settings/base.py @@ -107,6 +107,7 @@ ] THIRD_PARTY_APPS = [ + "django.contrib.postgres", "crispy_forms", "crispy_bootstrap5", "allauth", diff --git a/poetry.lock b/poetry.lock index d9601fe..ac195d6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "aiofiles" version = "23.2.1" description = "File support for asyncio." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -16,7 +15,6 @@ files = [ name = "aiohttp" version = "3.8.6" description = "Async http client/server framework (asyncio)" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -125,7 +123,6 @@ speedups = ["Brotli", "aiodns", "cchardet"] name = "aiosignal" version = "1.3.1" description = "aiosignal: a list of registered asynchronous callbacks" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -140,7 +137,6 @@ frozenlist = ">=1.1.0" name = "alabaster" version = "0.7.13" description = "A configurable sidebar-enabled Sphinx theme" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -152,7 +148,6 @@ files = [ name = "amqp" version = "5.1.1" description = "Low-level AMQP client for Python (fork of amqplib)." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -167,7 +162,6 @@ vine = ">=5.0.0" name = "amzqr" version = "0.0.1" description = "Generater for amazing QR Codes. Including Common, Artistic and Animated QR Codes." -category = "main" optional = false python-versions = ">=3" files = [ @@ -184,7 +178,6 @@ Pillow = ">=3.3.1" name = "anyio" version = "3.7.1" description = "High level compatibility layer for multiple asynchronous event loop implementations" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -205,7 +198,6 @@ trio = ["trio (<0.22)"] name = "appdirs" version = "1.4.4" description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false python-versions = "*" files = [ @@ -217,7 +209,6 @@ files = [ name = "appnope" version = "0.1.3" description = "Disable App Nap on macOS >= 10.9" -category = "main" optional = false python-versions = "*" files = [ @@ -229,7 +220,6 @@ files = [ name = "argcomplete" version = "1.10.3" description = "Bash tab completion for argparse" -category = "main" optional = false python-versions = "*" files = [ @@ -244,7 +234,6 @@ test = ["coverage", "flake8", "pexpect", "wheel"] name = "argon2-cffi" version = "21.3.0" description = "The secure Argon2 password hashing algorithm." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -264,7 +253,6 @@ tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pytest"] name = "argon2-cffi-bindings" version = "21.2.0" description = "Low-level CFFI bindings for Argon2" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -302,7 +290,6 @@ tests = ["pytest"] name = "asgiref" version = "3.7.2" description = "ASGI specs, helper code, and adapters" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -317,7 +304,6 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "astroid" version = "2.15.8" description = "An abstract syntax tree for Python with inference support." -category = "main" optional = false python-versions = ">=3.7.2" files = [ @@ -333,7 +319,6 @@ wrapt = {version = ">=1.14,<2", markers = "python_version >= \"3.11\""} name = "asttokens" version = "2.4.0" description = "Annotate AST trees with source code positions" -category = "main" optional = false python-versions = "*" files = [ @@ -351,7 +336,6 @@ test = ["astroid", "pytest"] name = "async-timeout" version = "4.0.3" description = "Timeout context manager for asyncio programs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -363,7 +347,6 @@ files = [ name = "attrs" version = "23.1.0" description = "Classes Without Boilerplate" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -382,7 +365,6 @@ tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pyte name = "autobahn" version = "23.6.2" description = "WebSocket client & server library, WAMP real-time framework" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -411,7 +393,6 @@ xbr = ["base58 (>=2.1.0)", "bitarray (>=2.7.5)", "cbor2 (>=5.2.0)", "click (>=8. name = "automat" version = "22.10.0" description = "Self-service finite-state machines for the programmer on the go." -category = "main" optional = false python-versions = "*" files = [ @@ -430,7 +411,6 @@ visualize = ["Twisted (>=16.1.1)", "graphviz (>0.5.1)"] name = "babel" version = "2.13.0" description = "Internationalization utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -445,7 +425,6 @@ dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] name = "backcall" version = "0.2.0" description = "Specifications for callback functions passed in to an API" -category = "main" optional = false python-versions = "*" files = [ @@ -457,7 +436,6 @@ files = [ name = "beautifulsoup4" version = "4.8.2" description = "Screen-scraping library" -category = "main" optional = false python-versions = "*" files = [ @@ -477,7 +455,6 @@ lxml = ["lxml"] name = "billiard" version = "4.1.0" description = "Python multiprocessing fork with improvements and bugfixes" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -489,7 +466,6 @@ files = [ name = "black" version = "23.9.1" description = "The uncompromising code formatter." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -534,7 +510,6 @@ uvloop = ["uvloop (>=0.15.2)"] name = "blis" version = "0.7.11" description = "The Blis BLAS-like linear algebra library, as a self-contained C-extension." -category = "main" optional = false python-versions = "*" files = [ @@ -581,7 +556,6 @@ numpy = {version = ">=1.19.0", markers = "python_version >= \"3.9\""} name = "brotli" version = "1.1.0" description = "Python bindings for the Brotli compression library" -category = "main" optional = false python-versions = "*" files = [ @@ -674,7 +648,6 @@ files = [ name = "brotlicffi" version = "1.1.0.0" description = "Python CFFI bindings to the Brotli library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -714,7 +687,6 @@ cffi = ">=1.0.0" name = "cairocffi" version = "1.6.1" description = "cffi-based cairo bindings for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -734,7 +706,6 @@ xcb = ["xcffib (>=1.4.0)"] name = "cairosvg" version = "2.7.1" description = "A Simple SVG Converter based on Cairo" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -757,7 +728,6 @@ test = ["flake8", "isort", "pytest"] name = "catalogue" version = "2.0.10" description = "Super lightweight function registries for your library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -769,7 +739,6 @@ files = [ name = "celery" version = "5.3.4" description = "Distributed Task Queue." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -826,7 +795,6 @@ zstd = ["zstandard (==0.21.0)"] name = "certifi" version = "2023.7.22" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -838,7 +806,6 @@ files = [ name = "cffi" version = "1.16.0" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -903,7 +870,6 @@ pycparser = "*" name = "cfgv" version = "3.4.0" description = "Validate configuration and produce human readable error messages." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -915,7 +881,6 @@ files = [ name = "channels" version = "4.0.0" description = "Brings async, event-driven capabilities to Django 3.2 and up." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -936,7 +901,6 @@ tests = ["async-timeout", "coverage (>=4.5,<5.0)", "pytest", "pytest-asyncio", " name = "channels-redis" version = "4.1.0" description = "Redis-backed ASGI channel layer implementation" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -958,7 +922,6 @@ tests = ["async-timeout", "cryptography (>=1.3.0)", "pytest", "pytest-asyncio", name = "chardet" version = "3.0.4" description = "Universal encoding detector for Python 2 and 3" -category = "main" optional = false python-versions = "*" files = [ @@ -970,7 +933,6 @@ files = [ name = "charset-normalizer" version = "3.3.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -1070,7 +1032,6 @@ files = [ name = "click" version = "8.1.7" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1085,7 +1046,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "click-didyoumean" version = "0.3.0" description = "Enables git-like *did-you-mean* feature in click" -category = "main" optional = false python-versions = ">=3.6.2,<4.0.0" files = [ @@ -1100,7 +1060,6 @@ click = ">=7" name = "click-plugins" version = "1.1.1" description = "An extension module for click to enable registering CLI commands via setuptools entry-points." -category = "main" optional = false python-versions = "*" files = [ @@ -1118,7 +1077,6 @@ dev = ["coveralls", "pytest (>=3.6)", "pytest-cov", "wheel"] name = "click-repl" version = "0.3.0" description = "REPL plugin for Click" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1137,7 +1095,6 @@ testing = ["pytest (>=7.2.1)", "pytest-cov (>=4.0.0)", "tox (>=4.4.3)"] name = "cloudpathlib" version = "0.15.1" description = "pathlib-style classes for cloud storage services." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1155,7 +1112,6 @@ s3 = ["boto3"] name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -1167,7 +1123,6 @@ files = [ name = "compressed-rtf" version = "1.0.6" description = "Compressed Rich Text Format (RTF) compression and decompression package" -category = "main" optional = false python-versions = "*" files = [ @@ -1178,7 +1133,6 @@ files = [ name = "confection" version = "0.1.3" description = "The sweetest config system for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1194,7 +1148,6 @@ srsly = ">=2.4.0,<3.0.0" name = "constantly" version = "15.1.0" description = "Symbolic constants in Python" -category = "main" optional = false python-versions = "*" files = [ @@ -1206,7 +1159,6 @@ files = [ name = "contourpy" version = "1.1.0" description = "Python library for calculating contours of 2D quadrilateral grids" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1265,7 +1217,6 @@ test-no-images = ["pytest", "pytest-cov", "wurlitzer"] name = "contourpy" version = "1.1.1" description = "Python library for calculating contours of 2D quadrilateral grids" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1337,7 +1288,6 @@ test-no-images = ["pytest", "pytest-cov", "wurlitzer"] name = "coverage" version = "7.3.2" description = "Code coverage measurement for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1402,7 +1352,6 @@ toml = ["tomli"] name = "crispy-bootstrap5" version = "0.7" description = "Bootstrap5 template pack for django-crispy-forms" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1421,7 +1370,6 @@ test = ["pytest", "pytest-django"] name = "cron-descriptor" version = "1.4.0" description = "A Python library that converts cron expressions into human readable strings." -category = "main" optional = false python-versions = "*" files = [ @@ -1435,7 +1383,6 @@ dev = ["polib"] name = "cryptography" version = "41.0.4" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1481,7 +1428,6 @@ test-randomorder = ["pytest-randomly"] name = "cssselect2" version = "0.7.0" description = "CSS selectors for Python ElementTree" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1501,7 +1447,6 @@ test = ["flake8", "isort", "pytest"] name = "cycler" version = "0.12.1" description = "Composable style cycles" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1517,7 +1462,6 @@ tests = ["pytest", "pytest-cov", "pytest-xdist"] name = "cymem" version = "2.0.8" description = "Manage calls to calloc/free through Cython" -category = "main" optional = false python-versions = "*" files = [ @@ -1560,7 +1504,6 @@ files = [ name = "daphne" version = "4.0.0" description = "Django ASGI (HTTP/WebSocket) server" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1576,11 +1519,21 @@ twisted = {version = ">=22.4", extras = ["tls"]} [package.extras] tests = ["django", "hypothesis", "pytest", "pytest-asyncio"] +[[package]] +name = "dawg-python" +version = "0.7.2" +description = "Pure-python reader for DAWGs (DAFSAs) created by dawgdic C++ library or DAWG Python extension." +optional = false +python-versions = "*" +files = [ + {file = "DAWG-Python-0.7.2.tar.gz", hash = "sha256:4a5e3286e6261cca02f205cfd5516a7ab10190fa30c51c28d345808f595e3421"}, + {file = "DAWG_Python-0.7.2-py2.py3-none-any.whl", hash = "sha256:4941d5df081b8d6fcb4597e073a9f60d5c1ccc9d17cd733e8744d7ecfec94ef3"}, +] + [[package]] name = "decorator" version = "5.1.1" description = "Decorators for Humans" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1592,7 +1545,6 @@ files = [ name = "defusedxml" version = "0.7.1" description = "XML bomb protection for Python stdlib modules" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1604,7 +1556,6 @@ files = [ name = "dill" version = "0.3.7" description = "serialize all of Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1619,7 +1570,6 @@ graph = ["objgraph (>=1.7.2)"] name = "distlib" version = "0.3.7" description = "Distribution utilities" -category = "main" optional = false python-versions = "*" files = [ @@ -1631,7 +1581,6 @@ files = [ name = "django" version = "4.2.6" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1652,7 +1601,6 @@ bcrypt = ["bcrypt"] name = "django-active-link" version = "0.1.8" description = "The best way to highlight active links in your Django app." -category = "main" optional = false python-versions = "*" files = [ @@ -1664,7 +1612,6 @@ files = [ name = "django-allauth" version = "0.54.0" description = "Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1682,7 +1629,6 @@ requests-oauthlib = ">=0.3.0" name = "django-anymail" version = "10.1" description = "Django email backends and webhooks for Amazon SES, Brevo (Sendinblue), MailerSend, Mailgun, Mailjet, Mandrill, Postal, Postmark, SendGrid, and SparkPost" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1703,7 +1649,6 @@ postal = ["cryptography"] name = "django-cacheops" version = "7.0.1" description = "A slick ORM cache with automatic granular event-driven invalidation for Django." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1719,7 +1664,6 @@ redis = ">=3.0.0" name = "django-celery-beat" version = "2.5.0" description = "Database-backed Periodic Tasks." -category = "main" optional = false python-versions = "*" files = [ @@ -1739,7 +1683,6 @@ tzdata = "*" name = "django-ckeditor" version = "6.7.0" description = "Django admin CKEditor integration." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1755,7 +1698,6 @@ django-js-asset = ">=2.0" name = "django-classy-tags" version = "4.1.0" description = "Class based template tags for Django" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1770,7 +1712,6 @@ django = ">=3.2" name = "django-colorfield" version = "0.8.0" description = "simple color field for your models with a nice color-picker in the admin-interface." -category = "main" optional = false python-versions = "*" files = [ @@ -1785,7 +1726,6 @@ Pillow = ">=9.0.0" name = "django-cors-headers" version = "4.3.0" description = "django-cors-headers is a Django application for handling the server headers required for Cross-Origin Resource Sharing (CORS)." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1800,7 +1740,6 @@ Django = ">=3.2" name = "django-coverage-plugin" version = "3.1.0" description = "Django template coverage.py plugin" -category = "main" optional = false python-versions = "*" files = [ @@ -1815,7 +1754,6 @@ coverage = "*" name = "django-crispy-forms" version = "1.14.0" description = "Best way to have Django DRY forms" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1827,7 +1765,6 @@ files = [ name = "django-debug-toolbar" version = "4.2.0" description = "A configurable set of panels that display various debug information about the current request/response." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1843,7 +1780,6 @@ sqlparse = ">=0.2" name = "django-environ" version = "0.9.0" description = "A package that allows you to utilize 12factor inspired environment variables to configure your Django application." -category = "main" optional = false python-versions = ">=3.4,<4" files = [ @@ -1852,15 +1788,14 @@ files = [ ] [package.extras] -develop = ["coverage[toml] (>=5.0a4)", "furo (>=2021.8.17b43,<2021.9.0)", "pytest (>=4.6.11)", "sphinx (>=3.5.0)", "sphinx-notfound-page"] -docs = ["furo (>=2021.8.17b43,<2021.9.0)", "sphinx (>=3.5.0)", "sphinx-notfound-page"] +develop = ["coverage[toml] (>=5.0a4)", "furo (>=2021.8.17b43,<2021.9.dev0)", "pytest (>=4.6.11)", "sphinx (>=3.5.0)", "sphinx-notfound-page"] +docs = ["furo (>=2021.8.17b43,<2021.9.dev0)", "sphinx (>=3.5.0)", "sphinx-notfound-page"] testing = ["coverage[toml] (>=5.0a4)", "pytest (>=4.6.11)"] [[package]] name = "django-extensions" version = "3.2.3" description = "Extensions for Django" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1875,7 +1810,6 @@ Django = ">=3.2" name = "django-extra-settings" version = "0.9.1" description = "config and manage typed extra settings using just the django admin." -category = "main" optional = false python-versions = "*" files = [ @@ -1890,7 +1824,6 @@ jsonfield = ">=3.0.0" name = "django-filter" version = "23.3" description = "Django-filter is a reusable Django application for allowing users to filter querysets dynamically." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -1905,7 +1838,6 @@ Django = ">=3.2" name = "django-haystack" version = "3.2.1" description = "Pluggable search for Django." -category = "main" optional = false python-versions = "*" files = [ @@ -1923,7 +1855,6 @@ elasticsearch = ["elasticsearch (>=5,<8)"] name = "django-health-check" version = "3.17.0" description = "Run checks on services like databases, queue servers, celery processes, etc." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1942,7 +1873,6 @@ test = ["celery", "pytest", "pytest-cov", "pytest-django", "redis"] name = "django-ipware" version = "5.0.1" description = "A Django application to retrieve user's IP address" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1954,7 +1884,6 @@ files = [ name = "django-jazzmin" version = "2.6.0" description = "Drop-in theme for django admin, that utilises AdminLTE 3 & Bootstrap 4 to make yo' admin look jazzy" -category = "main" optional = false python-versions = ">=3.6.2" files = [ @@ -1969,7 +1898,6 @@ django = ">=2.2" name = "django-js-asset" version = "2.1.0" description = "script tag with additional attributes for django.forms.Media" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -1987,7 +1915,6 @@ tests = ["coverage"] name = "django-location-field" version = "2.7.2" description = "Location field for Django" -category = "main" optional = false python-versions = "*" files = [ @@ -1998,7 +1925,6 @@ files = [ name = "django-model-utils" version = "4.3.1" description = "Django model mixins and utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2013,7 +1939,6 @@ Django = ">=3.2" name = "django-polymorphic" version = "3.1.0" description = "Seamless polymorphic inheritance for Django models" -category = "main" optional = false python-versions = "*" files = [ @@ -2028,7 +1953,6 @@ Django = ">=2.1" name = "django-redis" version = "5.4.0" description = "Full featured redis cache backend for Django." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2047,7 +1971,6 @@ hiredis = ["redis[hiredis] (>=3,!=4.0.0,!=4.0.1)"] name = "django-rest-auth" version = "0.9.5" description = "Create a set of REST API endpoints for Authentication and Registration" -category = "main" optional = false python-versions = "*" files = [ @@ -2066,7 +1989,6 @@ with-social = ["django-allauth (>=0.25.0)"] name = "django-robots" version = "5.0" description = "Robots exclusion application for Django, complementing Sitemaps." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2077,7 +1999,6 @@ files = [ name = "django-sekizai" version = "4.1.0" description = "Django Sekizai" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2093,7 +2014,6 @@ django-classy-tags = ">=3.0" name = "django-structlog" version = "5.3.0" description = "Structured Logging for Django" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2114,7 +2034,6 @@ celery = ["celery (>=5.1)"] name = "django-stubs" version = "1.14.0" description = "Mypy stubs for Django" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2126,7 +2045,7 @@ files = [ django = "*" django-stubs-ext = ">=0.7.0" mypy = [ - {version = ">=0.980"}, + {version = ">=0.980", optional = true, markers = "extra != \"compatible-mypy\""}, {version = ">=0.991,<1.0", optional = true, markers = "extra == \"compatible-mypy\""}, ] tomli = "*" @@ -2141,7 +2060,6 @@ compatible-mypy = ["mypy (>=0.991,<1.0)"] name = "django-stubs-ext" version = "4.2.2" description = "Monkey-patching and extensions for django-stubs" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2157,7 +2075,6 @@ typing-extensions = "*" name = "django-tables2" version = "2.6.0" description = "Table/data-grid framework for Django" -category = "main" optional = false python-versions = "*" files = [ @@ -2175,7 +2092,6 @@ tablib = ["tablib"] name = "django-timezone-field" version = "6.0.1" description = "A Django app providing DB, form, and REST framework fields for zoneinfo and pytz timezone objects." -category = "main" optional = false python-versions = ">=3.8,<4.0" files = [ @@ -2190,7 +2106,6 @@ Django = ">=3.2,<5.0" name = "django-upload-validator" version = "1.1.6" description = "A simple Django file type validator using python-magic" -category = "main" optional = false python-versions = "*" files = [ @@ -2205,7 +2120,6 @@ python-magic = "*" name = "djangorestframework" version = "3.14.0" description = "Web APIs for Django, made easy." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2221,7 +2135,6 @@ pytz = "*" name = "djangorestframework-stubs" version = "1.8.0" description = "PEP-484 stubs for django-rest-framework" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2232,7 +2145,7 @@ files = [ [package.dependencies] django-stubs = ">=1.13.0" mypy = [ - {version = ">=0.980"}, + {version = ">=0.980", optional = true, markers = "extra != \"compatible-mypy\""}, {version = ">=0.991,<0.1000", optional = true, markers = "extra == \"compatible-mypy\""}, ] requests = ">=2.0.0" @@ -2245,11 +2158,21 @@ compatible-mypy = ["mypy (>=0.991,<0.1000)"] coreapi = ["coreapi (>=2.0.0)"] markdown = ["types-Markdown (>=0.1.5)"] +[[package]] +name = "docopt-ng" +version = "0.9.0" +description = "Jazzband-maintained fork of docopt, the humane command line arguments parser." +optional = false +python-versions = ">=3.7" +files = [ + {file = "docopt_ng-0.9.0-py3-none-any.whl", hash = "sha256:bfe4c8b03f9fca424c24ee0b4ffa84bf7391cb18c29ce0f6a8227a3b01b81ff9"}, + {file = "docopt_ng-0.9.0.tar.gz", hash = "sha256:91c6da10b5bb6f2e9e25345829fb8278c78af019f6fc40887ad49b060483b1d7"}, +] + [[package]] name = "docutils" version = "0.20.1" description = "Docutils -- Python Documentation Utilities" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2261,7 +2184,6 @@ files = [ name = "docx2txt" version = "0.8" description = "A pure python-based utility to extract text and images from docx files." -category = "main" optional = false python-versions = "*" files = [ @@ -2272,7 +2194,6 @@ files = [ name = "drf-spectacular" version = "0.26.5" description = "Sane and flexible OpenAPI 3 schema generation for Django REST framework" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -2296,7 +2217,6 @@ sidecar = ["drf-spectacular-sidecar"] name = "ebcdic" version = "1.1.1" description = "Additional EBCDIC codecs" -category = "main" optional = false python-versions = "*" files = [ @@ -2307,7 +2227,6 @@ files = [ name = "elasticsearch" version = "7.9.1" description = "Python client for Elasticsearch" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4" files = [ @@ -2329,7 +2248,6 @@ requests = ["requests (>=2.4.0,<3.0.0)"] name = "execnet" version = "2.0.2" description = "execnet: rapid multi-Python deployment" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2344,7 +2262,6 @@ testing = ["hatch", "pre-commit", "pytest", "tox"] name = "executing" version = "2.0.0" description = "Get the currently executing AST node of a frame, and other information" -category = "main" optional = false python-versions = "*" files = [ @@ -2359,7 +2276,6 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth name = "extract-msg" version = "0.28.7" description = "Extracts emails and attachments saved in Microsoft Outlook's .msg files" -category = "main" optional = false python-versions = "*" files = [ @@ -2378,7 +2294,6 @@ tzlocal = ">=2.1" name = "factory-boy" version = "3.3.0" description = "A versatile test fixtures replacement based on thoughtbot's factory_bot for Ruby." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2397,7 +2312,6 @@ doc = ["Sphinx", "sphinx-rtd-theme", "sphinxcontrib-spelling"] name = "faker" version = "19.10.0" description = "Faker is a Python package that generates fake data for you." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2412,7 +2326,6 @@ python-dateutil = ">=2.4" name = "fastapi" version = "0.86.0" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2434,7 +2347,6 @@ test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==22.8.0)", "coverage[toml] (>=6 name = "ffmpeg-python" version = "0.2.0" description = "Python bindings for FFmpeg - with complex filtering support" -category = "main" optional = false python-versions = "*" files = [ @@ -2452,7 +2364,6 @@ dev = ["Sphinx (==2.1.0)", "future (==0.17.1)", "numpy (==1.16.4)", "pytest (==4 name = "filelock" version = "3.12.4" description = "A platform independent file lock." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2469,7 +2380,6 @@ typing = ["typing-extensions (>=4.7.1)"] name = "flake8" version = "6.1.0" description = "the modular source code checker: pep8 pyflakes and co" -category = "main" optional = false python-versions = ">=3.8.1" files = [ @@ -2486,7 +2396,6 @@ pyflakes = ">=3.1.0,<3.2.0" name = "flake8-isort" version = "6.1.0" description = "flake8 plugin that integrates isort ." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2504,7 +2413,6 @@ test = ["pytest"] name = "flower" version = "2.0.1" description = "Celery Flower" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2523,7 +2431,6 @@ tornado = ">=5.0.0,<7.0.0" name = "fonttools" version = "4.43.1" description = "Tools to manipulate font files" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2589,7 +2496,6 @@ woff = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "zopfli (>=0.1.4)"] name = "frozenlist" version = "1.4.0" description = "A list-like structure which implements collections.abc.MutableSequence" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2660,7 +2566,6 @@ files = [ name = "fsspec" version = "2023.9.2" description = "File-system specification" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2696,7 +2601,6 @@ tqdm = ["tqdm"] name = "funcy" version = "1.18" description = "A fancy and practical functional tools" -category = "main" optional = false python-versions = "*" files = [ @@ -2708,7 +2612,6 @@ files = [ name = "future" version = "0.18.3" description = "Clean single-source support for Python 3 and 2" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -2719,7 +2622,6 @@ files = [ name = "greenlet" version = "3.0.0" description = "Lightweight in-process concurrent programming" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2795,7 +2697,6 @@ test = ["objgraph", "psutil"] name = "gunicorn" version = "21.2.0" description = "WSGI HTTP Server for UNIX" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -2816,7 +2717,6 @@ tornado = ["tornado (>=0.2)"] name = "h11" version = "0.14.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2828,7 +2728,6 @@ files = [ name = "hiredis" version = "2.2.3" description = "Python wrapper for hiredis" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -2927,7 +2826,6 @@ files = [ name = "huggingface-hub" version = "0.17.3" description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub" -category = "main" optional = false python-versions = ">=3.8.0" files = [ @@ -2961,7 +2859,6 @@ typing = ["pydantic (<2.0)", "types-PyYAML", "types-requests", "types-simplejson name = "humanize" version = "4.8.0" description = "Python humanize utilities" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -2976,7 +2873,6 @@ tests = ["freezegun", "pytest", "pytest-cov"] name = "hyperlink" version = "21.0.0" description = "A featureful, immutable, and correct URL for Python." -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -2991,7 +2887,6 @@ idna = ">=2.5" name = "identify" version = "2.5.30" description = "File identification library for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3006,7 +2901,6 @@ license = ["ukkonen"] name = "idna" version = "3.4" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -3018,7 +2912,6 @@ files = [ name = "imageio" version = "2.31.5" description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3050,7 +2943,6 @@ tifffile = ["tifffile"] name = "imagesize" version = "1.4.1" description = "Getting image size from png/jpeg/jpeg2000/gif file" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3062,7 +2954,6 @@ files = [ name = "imapclient" version = "2.1.0" description = "Easy-to-use, Pythonic and complete IMAP client library" -category = "main" optional = false python-versions = "*" files = [ @@ -3081,7 +2972,6 @@ test = ["mock (>=1.3.0)"] name = "incremental" version = "22.10.0" description = "\"A small library that versions your Python projects.\"" -category = "main" optional = false python-versions = "*" files = [ @@ -3097,7 +2987,6 @@ scripts = ["click (>=6.0)", "twisted (>=16.4.0)"] name = "inflection" version = "0.5.1" description = "A port of Ruby on Rails inflector to Python" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -3109,7 +2998,6 @@ files = [ name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3121,7 +3009,6 @@ files = [ name = "ipdb" version = "0.13.13" description = "IPython-enabled pdb" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -3137,7 +3024,6 @@ ipython = {version = ">=7.31.1", markers = "python_version >= \"3.11\""} name = "ipython" version = "8.16.1" description = "IPython: Productive Interactive Computing" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -3176,7 +3062,6 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa name = "isort" version = "5.12.0" description = "A Python utility / library to sort Python imports." -category = "main" optional = false python-versions = ">=3.8.0" files = [ @@ -3194,7 +3079,6 @@ requirements-deprecated-finder = ["pip-api", "pipreqs"] name = "jedi" version = "0.19.1" description = "An autocompletion tool for Python that can be used for text editors." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3214,7 +3098,6 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] name = "jinja2" version = "3.1.2" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3228,11 +3111,21 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[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 = "jsonfield" version = "3.1.0" description = "A reusable Django field that allows you to store validated JSON in your model." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3247,7 +3140,6 @@ Django = ">=2.2" name = "jsonschema" version = "4.19.1" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3269,7 +3161,6 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- name = "jsonschema-specifications" version = "2023.7.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3284,7 +3175,6 @@ referencing = ">=0.28.0" name = "kiwisolver" version = "1.4.5" description = "A fast implementation of the Cassowary constraint solver" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3398,7 +3288,6 @@ files = [ name = "kombu" version = "5.3.2" description = "Messaging library for Python." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3431,7 +3320,6 @@ zookeeper = ["kazoo (>=2.8.0)"] name = "langcodes" version = "3.3.0" description = "Tools for labeling human languages with IETF language tags" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3446,7 +3334,6 @@ data = ["language-data (>=1.1,<2.0)"] name = "lazy-object-proxy" version = "1.9.0" description = "A fast and thorough lazy object proxy." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3492,7 +3379,6 @@ files = [ name = "livereload" version = "2.6.3" description = "Python LiveReload is an awesome tool for web developers" -category = "main" optional = false python-versions = "*" files = [ @@ -3508,7 +3394,6 @@ tornado = {version = "*", markers = "python_version > \"2.7\""} name = "lxml" version = "4.9.3" description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, != 3.4.*" files = [ @@ -3616,7 +3501,6 @@ source = ["Cython (>=0.29.35)"] name = "mako" version = "1.2.4" description = "A super-fast templating language that borrows the best ideas from the existing templating languages." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3636,7 +3520,6 @@ testing = ["pytest"] name = "markdown" version = "3.5" description = "Python implementation of John Gruber's Markdown." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3652,7 +3535,6 @@ testing = ["coverage", "pyyaml"] name = "markupsafe" version = "2.1.3" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3712,7 +3594,6 @@ files = [ name = "matplotlib" version = "3.8.0" description = "Python plotting package" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -3762,7 +3643,6 @@ setuptools_scm = ">=7" name = "matplotlib-inline" version = "0.1.6" description = "Inline Matplotlib backend for Jupyter" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -3777,7 +3657,6 @@ traitlets = "*" name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -3789,7 +3668,6 @@ files = [ name = "mpmath" version = "1.3.0" description = "Python library for arbitrary-precision floating-point arithmetic" -category = "main" optional = false python-versions = "*" files = [ @@ -3807,7 +3685,6 @@ tests = ["pytest (>=4.6)"] name = "msgpack" version = "1.0.7" description = "MessagePack serializer" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -3873,7 +3750,6 @@ files = [ name = "multidict" version = "6.0.4" description = "multidict implementation" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -3957,7 +3833,6 @@ files = [ name = "murmurhash" version = "1.0.10" description = "Cython bindings for MurmurHash" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4000,7 +3875,6 @@ files = [ name = "mutagen" version = "1.47.0" description = "read and write audio tags for many formats" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4012,7 +3886,6 @@ files = [ name = "mypy" version = "0.991" description = "Optional static typing for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4062,7 +3935,6 @@ reports = ["lxml"] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -4074,7 +3946,6 @@ files = [ name = "networkx" version = "3.1" description = "Python package for creating and manipulating graphs and networks" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4089,11 +3960,35 @@ doc = ["nb2plots (>=0.6)", "numpydoc (>=1.5)", "pillow (>=9.4)", "pydata-sphinx- extra = ["lxml (>=4.6)", "pydot (>=1.4.2)", "pygraphviz (>=1.10)", "sympy (>=1.10)"] test = ["codecov (>=2.1)", "pytest (>=7.2)", "pytest-cov (>=4.0)"] +[[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 = "nodeenv" version = "1.8.0" description = "Node.js virtual environment builder" -category = "main" optional = false python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" files = [ @@ -4108,7 +4003,6 @@ setuptools = "*" name = "numpy" version = "1.25.2" description = "Fundamental package for array computing in Python" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -4143,7 +4037,6 @@ files = [ name = "oauthlib" version = "3.2.2" description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4160,7 +4053,6 @@ signedtoken = ["cryptography (>=3.0.0)", "pyjwt (>=2.0.0,<3)"] name = "olefile" version = "0.46" description = "Python package to parse, read and write Microsoft OLE2 files (Structured Storage or Compound Document, Microsoft Office)" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -4171,7 +4063,6 @@ files = [ name = "packaging" version = "23.2" description = "Core utilities for Python packages" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4183,7 +4074,6 @@ files = [ name = "parso" version = "0.8.3" description = "A Python Parser" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4199,7 +4089,6 @@ testing = ["docopt", "pytest (<6.0.0)"] name = "pathspec" version = "0.11.2" description = "Utility library for gitignore style pattern matching of file paths." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4211,7 +4100,6 @@ files = [ name = "pathy" version = "0.10.2" description = "pathlib.Path subclasses for local and cloud bucket storage" -category = "main" optional = false python-versions = ">= 3.6" files = [ @@ -4234,7 +4122,6 @@ test = ["mock", "pytest", "pytest-coverage", "typer-cli"] name = "pdfminer-six" version = "20191110" description = "PDF parser and analyzer" -category = "main" optional = false python-versions = "*" files = [ @@ -4256,7 +4143,6 @@ docs = ["sphinx", "sphinx-argparse"] name = "pexpect" version = "4.8.0" description = "Pexpect allows easy control of interactive console applications." -category = "main" optional = false python-versions = "*" files = [ @@ -4271,7 +4157,6 @@ ptyprocess = ">=0.5" name = "pgvector" version = "0.2.3" description = "pgvector support for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4285,7 +4170,6 @@ numpy = "*" name = "pickleshare" version = "0.7.5" description = "Tiny 'shelve'-like database with concurrency support" -category = "main" optional = false python-versions = "*" files = [ @@ -4297,7 +4181,6 @@ files = [ name = "pillow" version = "10.0.1" description = "Python Imaging Library (Fork)" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4365,7 +4248,6 @@ tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "pa name = "platformdirs" version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4381,7 +4263,6 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-co name = "pluggy" version = "1.3.0" description = "plugin and hook calling mechanisms for python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4397,7 +4278,6 @@ testing = ["pytest", "pytest-benchmark"] name = "pre-commit" version = "3.4.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4416,7 +4296,6 @@ virtualenv = ">=20.10.0" name = "preshed" version = "3.0.9" description = "Cython hash table that trusts the keys are pre-hashed" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4463,7 +4342,6 @@ murmurhash = ">=0.28.0,<1.1.0" name = "preview-generator" version = "0.29" description = "A library for generating preview (thumbnails, text or json overview) for file-based content" -category = "main" optional = false python-versions = ">= 3.7" files = [ @@ -4491,7 +4369,6 @@ video = ["ffmpeg-python"] name = "prometheus-client" version = "0.17.1" description = "Python client for the Prometheus monitoring system." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -4506,7 +4383,6 @@ twisted = ["twisted"] name = "prompt-toolkit" version = "3.0.39" description = "Library for building powerful interactive command lines in Python" -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -4521,7 +4397,6 @@ wcwidth = "*" name = "psutil" version = "5.9.5" description = "Cross-platform lib for process and system monitoring in Python." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -4548,7 +4423,6 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] name = "psycopg2-binary" version = "2.9.9" description = "psycopg2 - Python-PostgreSQL Database Adapter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4578,6 +4452,7 @@ files = [ {file = "psycopg2_binary-2.9.9-cp311-cp311-win32.whl", hash = "sha256:dc4926288b2a3e9fd7b50dc6a1909a13bbdadfc67d93f3374d984e56f885579d"}, {file = "psycopg2_binary-2.9.9-cp311-cp311-win_amd64.whl", hash = "sha256:b76bedd166805480ab069612119ea636f5ab8f8771e640ae103e05a4aae3e417"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8532fd6e6e2dc57bcb3bc90b079c60de896d2128c5d9d6f24a63875a95a088cf"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0605eaed3eb239e87df0d5e3c6489daae3f7388d455d0c0b4df899519c6a38d"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f8544b092a29a6ddd72f3556a9fcf249ec412e10ad28be6a0c0d948924f2212"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2d423c8d8a3c82d08fe8af900ad5b613ce3632a1249fd6a223941d0735fce493"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e5afae772c00980525f6d6ecf7cbca55676296b580c0e6abb407f15f3706996"}, @@ -4586,6 +4461,8 @@ files = [ {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:cb16c65dcb648d0a43a2521f2f0a2300f40639f6f8c1ecbc662141e4e3e1ee07"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:911dda9c487075abd54e644ccdf5e5c16773470a6a5d3826fda76699410066fb"}, {file = "psycopg2_binary-2.9.9-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:57fede879f08d23c85140a360c6a77709113efd1c993923c59fde17aa27599fe"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win32.whl", hash = "sha256:64cf30263844fa208851ebb13b0732ce674d8ec6a0c86a4e160495d299ba3c93"}, + {file = "psycopg2_binary-2.9.9-cp312-cp312-win_amd64.whl", hash = "sha256:81ff62668af011f9a48787564ab7eded4e9fb17a4a6a74af5ffa6a457400d2ab"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2293b001e319ab0d869d660a704942c9e2cce19745262a8aba2115ef41a0a42a"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ef7df18daf2c4c07e2695e8cfd5ee7f748a1d54d802330985a78d2a5a6dca9"}, {file = "psycopg2_binary-2.9.9-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a602ea5aff39bb9fac6308e9c9d82b9a35c2bf288e184a816002c9fae930b77"}, @@ -4627,7 +4504,6 @@ files = [ name = "ptyprocess" version = "0.7.0" description = "Run a subprocess in a pseudo terminal" -category = "main" optional = false python-versions = "*" files = [ @@ -4639,7 +4515,6 @@ files = [ name = "pure-eval" version = "0.2.2" description = "Safely evaluate AST nodes without side effects" -category = "main" optional = false python-versions = "*" files = [ @@ -4654,7 +4529,6 @@ tests = ["pytest"] name = "pyasn1" version = "0.5.0" description = "Pure-Python implementation of ASN.1 types and DER/BER/CER codecs (X.208)" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -4666,7 +4540,6 @@ files = [ name = "pyasn1-modules" version = "0.3.0" description = "A collection of ASN.1-based protocols modules" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ @@ -4681,7 +4554,6 @@ pyasn1 = ">=0.4.6,<0.6.0" name = "pycld2" version = "0.41" description = "Python bindings around Google Chromium's embedded compact language detection library (CLD2)" -category = "main" optional = false python-versions = "*" files = [ @@ -4692,7 +4564,6 @@ files = [ name = "pycodestyle" version = "2.11.0" description = "Python style guide checker" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4704,7 +4575,6 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -4716,7 +4586,6 @@ files = [ name = "pycryptodome" version = "3.19.0" description = "Cryptographic library for Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -4758,7 +4627,6 @@ files = [ name = "pycryptodomex" version = "3.19.0" description = "Cryptographic library for Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -4800,7 +4668,6 @@ files = [ name = "pydantic" version = "1.10.13" description = "Data validation and settings management using python type hints" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4853,7 +4720,6 @@ email = ["email-validator (>=1.0.3)"] name = "pydotplus" version = "2.0.2" description = "Python interface to Graphviz's Dot language" -category = "main" optional = false python-versions = "*" files = [ @@ -4867,7 +4733,6 @@ pyparsing = ">=2.0.1" name = "pydub" version = "0.25.1" description = "Manipulate audio with an simple and easy high level interface" -category = "main" optional = false python-versions = "*" files = [ @@ -4879,7 +4744,6 @@ files = [ name = "pyexifinfo" version = "0.4.0" description = "Simple Metadata extraction using Exiftool" -category = "main" optional = false python-versions = "*" files = [ @@ -4890,7 +4754,6 @@ files = [ name = "pyflakes" version = "3.1.0" description = "passive checker of Python programs" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -4902,7 +4765,6 @@ files = [ name = "pygments" version = "2.16.1" description = "Pygments is a syntax highlighting package written in Python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4917,7 +4779,6 @@ plugins = ["importlib-metadata"] name = "pyjwt" version = "2.8.0" description = "JSON Web Token implementation in Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -4938,7 +4799,6 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pylint" version = "2.17.7" description = "python code static checker" -category = "main" optional = false python-versions = ">=3.7.2" files = [ @@ -4963,7 +4823,6 @@ testutils = ["gitpython (>3)"] name = "pylint-celery" version = "0.3" description = "pylint-celery is a Pylint plugin to aid Pylint in recognising and understandingerrors caused when using the Celery library" -category = "main" optional = false python-versions = "*" files = [ @@ -4979,7 +4838,6 @@ pylint-plugin-utils = ">=0.2.1" name = "pylint-django" version = "2.5.3" description = "A Pylint plugin to help Pylint understand the Django web framework" -category = "main" optional = false python-versions = "*" files = [ @@ -4999,7 +4857,6 @@ with-django = ["Django"] name = "pylint-plugin-utils" version = "0.8.2" description = "Utilities and helpers for writing Pylint plugins" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -5010,11 +4867,40 @@ files = [ [package.dependencies] pylint = ">=1.7" +[[package]] +name = "pymorphy3" +version = "1.2.1" +description = "Morphological analyzer (POS tagger + inflection engine) for Russian language." +optional = false +python-versions = "*" +files = [ + {file = "pymorphy3-1.2.1-py3-none-any.whl", hash = "sha256:88700966f55e77e3d2aedf194fa00bb4a175c2626017fe423e94ce11bc98f1ff"}, + {file = "pymorphy3-1.2.1.tar.gz", hash = "sha256:0cc186a3b0716129dd45e3b89f5e8339e5943d9013f93cfd4c58e5335daf296d"}, +] + +[package.dependencies] +dawg-python = ">=0.7.1" +docopt-ng = ">=0.6" +pymorphy3-dicts-ru = "*" + +[package.extras] +fast = ["DAWG (>=0.8)"] + +[[package]] +name = "pymorphy3-dicts-ru" +version = "2.4.417150.4580142" +description = "Russian dictionaries for pymorphy2" +optional = false +python-versions = "*" +files = [ + {file = "pymorphy3-dicts-ru-2.4.417150.4580142.tar.gz", hash = "sha256:39ab379d4ca905bafed50f5afc3a3de6f9643605776fbcabc4d3088d4ed382b0"}, + {file = "pymorphy3_dicts_ru-2.4.417150.4580142-py2.py3-none-any.whl", hash = "sha256:718bac64c73c10c16073a199402657283d9b64c04188b694f6d3e9b0d85440f4"}, +] + [[package]] name = "pyopenssl" version = "23.2.0" description = "Python wrapper module around the OpenSSL library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5033,7 +4919,6 @@ test = ["flaky", "pretend", "pytest (>=3.0.1)"] name = "pyparsing" version = "3.1.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" optional = false python-versions = ">=3.6.8" files = [ @@ -5048,7 +4933,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pysocks" version = "1.7.1" description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -5061,7 +4945,6 @@ files = [ name = "pytest" version = "7.4.2" description = "pytest: simple powerful testing with Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5082,7 +4965,6 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no name = "pytest-asyncio" version = "0.21.1" description = "Pytest support for asyncio" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5101,7 +4983,6 @@ testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy name = "pytest-django" version = "4.5.2" description = "A Django plugin for pytest." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -5120,7 +5001,6 @@ testing = ["Django", "django-configurations (>=2.0)"] name = "pytest-factoryboy" version = "2.3.1" description = "Factory Boy support for pytest." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5140,7 +5020,6 @@ typing-extensions = "*" name = "pytest-lambda" version = "2.2.0" description = "Define pytest fixtures with lambda functions." -category = "main" optional = false python-versions = ">=3.7.0,<4.0.0" files = [ @@ -5156,7 +5035,6 @@ wrapt = ">=1.11.0,<2.0.0" name = "pytest-mock" version = "3.11.1" description = "Thin-wrapper around the mock package for easier use with pytest" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5174,7 +5052,6 @@ dev = ["pre-commit", "pytest-asyncio", "tox"] name = "pytest-sugar" version = "0.9.7" description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)." -category = "main" optional = false python-versions = "*" files = [ @@ -5194,7 +5071,6 @@ dev = ["black", "flake8", "pre-commit"] name = "pytest-xdist" version = "3.3.1" description = "pytest xdist plugin for distributed testing, most importantly across multiple CPUs" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5215,7 +5091,6 @@ testing = ["filelock"] name = "python-crontab" version = "3.0.0" description = "Python Crontab API" -category = "main" optional = false python-versions = "*" files = [ @@ -5234,7 +5109,6 @@ cron-schedule = ["croniter"] name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -5249,7 +5123,6 @@ six = ">=1.5" name = "python-magic" version = "0.4.27" description = "File type identification using libmagic" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -5261,7 +5134,6 @@ files = [ name = "python-mpd2" version = "3.1.0" description = "A Python MPD client library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5276,7 +5148,6 @@ twisted = ["Twisted"] name = "python-pptx" version = "0.6.21" description = "Generate and manipulate Open XML PowerPoint (.pptx) files" -category = "main" optional = false python-versions = "*" files = [ @@ -5292,7 +5163,6 @@ XlsxWriter = ">=0.5.7" name = "python-slugify" version = "7.0.0" description = "A Python slugify application that also handles Unicode" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5310,7 +5180,6 @@ unidecode = ["Unidecode (>=1.1.1)"] name = "python3-openid" version = "3.2.0" description = "OpenID support for modern servers and consumers." -category = "main" optional = false python-versions = "*" files = [ @@ -5329,7 +5198,6 @@ postgresql = ["psycopg2"] name = "pytube" version = "15.0.0" description = "Python 3 library for downloading YouTube Videos." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5341,7 +5209,6 @@ files = [ name = "pytz" version = "2023.3.post1" description = "World timezone definitions, modern and historical" -category = "main" optional = false python-versions = "*" files = [ @@ -5353,7 +5220,6 @@ files = [ name = "pyyaml" version = "6.0.1" description = "YAML parser and emitter for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -5403,7 +5269,6 @@ files = [ name = "rawpy" version = "0.18.1" description = "RAW image processing for Python, a wrapper for libraw" -category = "main" optional = false python-versions = "*" files = [ @@ -5436,7 +5301,6 @@ numpy = "*" name = "redis" version = "4.6.0" description = "Python client for Redis database and key-value store" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5455,7 +5319,6 @@ ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)" name = "referencing" version = "0.30.2" description = "JSON Referencing + Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5471,7 +5334,6 @@ rpds-py = ">=0.7.0" name = "regex" version = "2023.10.3" description = "Alternative regular expression module, to replace re." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5569,7 +5431,6 @@ files = [ name = "requests" version = "2.31.0" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5592,7 +5453,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "requests-oauthlib" version = "1.3.1" description = "OAuthlib authentication support for Requests." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -5611,7 +5471,6 @@ rsa = ["oauthlib[signedtoken] (>=3.0.0)"] name = "rpds-py" version = "0.10.6" description = "Python bindings to Rust's persistent data structures (rpds)" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5720,7 +5579,6 @@ files = [ name = "safetensors" version = "0.4.0" description = "" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5840,7 +5698,6 @@ torch = ["safetensors[numpy]", "torch (>=1.10)"] name = "sentry-sdk" version = "1.32.0" description = "Python client for Sentry (https://sentry.io)" -category = "main" optional = false python-versions = "*" files = [ @@ -5886,7 +5743,6 @@ tornado = ["tornado (>=5)"] name = "service-identity" version = "23.1.0" description = "Service identity verification for pyOpenSSL & cryptography." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5911,7 +5767,6 @@ tests = ["coverage[toml] (>=5.0.2)", "pytest"] name = "setuptools" version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5928,7 +5783,6 @@ testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jar name = "setuptools-scm" version = "8.0.4" description = "the blessed package to manage your versions by scm tags" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -5950,7 +5804,6 @@ test = ["build", "pytest", "rich", "wheel"] name = "six" version = "1.12.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*" files = [ @@ -5962,7 +5815,6 @@ files = [ name = "smart-open" version = "6.4.0" description = "Utils for streaming large files (S3, HDFS, GCS, Azure Blob Storage, gzip, bz2...)" -category = "main" optional = false python-versions = ">=3.6,<4.0" files = [ @@ -5984,7 +5836,6 @@ webhdfs = ["requests"] name = "sniffio" version = "1.3.0" description = "Sniff out which async library your code is running under" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -5996,7 +5847,6 @@ files = [ name = "snowballstemmer" version = "2.2.0" description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -category = "main" optional = false python-versions = "*" files = [ @@ -6008,7 +5858,6 @@ files = [ name = "sortedcontainers" version = "2.4.0" description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" -category = "main" optional = false python-versions = "*" files = [ @@ -6020,7 +5869,6 @@ files = [ name = "soupsieve" version = "2.5" description = "A modern CSS selector implementation for Beautiful Soup." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -6032,7 +5880,6 @@ files = [ name = "spacy" version = "3.7.1" description = "Industrial-strength Natural Language Processing (NLP) in Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6123,7 +5970,6 @@ transformers = ["spacy-transformers (>=1.1.2,<1.4.0)"] name = "spacy-alignments" version = "0.9.1" description = "A spaCy package for the Rust tokenizations library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6163,7 +6009,6 @@ files = [ name = "spacy-legacy" version = "3.0.12" description = "Legacy registered functions for spaCy backwards compatibility" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6175,7 +6020,6 @@ files = [ name = "spacy-loggers" version = "1.0.5" description = "Logging utilities for SpaCy" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6187,7 +6031,6 @@ files = [ name = "spacy-lookups-data" version = "1.0.5" description = "Additional lookup tables and data resources for spaCy" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6202,7 +6045,6 @@ setuptools = "*" name = "spacy-transformers" version = "1.3.2" description = "spaCy pipelines for pre-trained BERT and other transformers" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6210,24 +6052,30 @@ files = [ {file = "spacy_transformers-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:befb4674e822c9fccc4d39271c9b98aec27fb7861181013dbac2198e14a0c70a"}, {file = "spacy_transformers-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bac8090036c89b5a9621110b7a7302d059c2c34fb39b09c6589f51c14efc83c5"}, {file = "spacy_transformers-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f492873819613b5039226b8ea7faa7a89179098b4857a145841912bd0ac2e9b"}, + {file = "spacy_transformers-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2ed8b8c2a4ea940ac8c36be2d77cf114801898b890ad51d938fd96c2a14e08e"}, {file = "spacy_transformers-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:1f9a11f4b98313598f7348ffcbbdc854e8f3653057785d31de30db82341896fe"}, {file = "spacy_transformers-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d04d346aff7443b718278d11ec565f63a131283dbebd3b187aa6b0e703f3cce3"}, {file = "spacy_transformers-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e214a2322b14c7123aeb0c7112e1fd6ba151180734e6f379bd528d5b134989e7"}, {file = "spacy_transformers-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688647a5150075d0777622b18a1876518328fe427cc96df9083737fa3e1ad9da"}, + {file = "spacy_transformers-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ee05eb8b84e83ff2e949c291dddaf3e337523c094f5f80ef5d29a3849a1a1d3"}, {file = "spacy_transformers-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:fe91f7ebe1624896d205be8d5679d1d1177a73c5476ee47d3430e53b0836164c"}, {file = "spacy_transformers-1.3.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b07021f63ec293e487b4260a4d259a6b9592275bab5f324c9b3dd5cb082d098e"}, {file = "spacy_transformers-1.3.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0bf961e4f18bf4a14750cb98ac7624495b9d0156e74ade5918be16f5af90bc0"}, + {file = "spacy_transformers-1.3.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8f96c5f517e89b2c2cc8540aec4db2d7a987f9442d74c2f8569a6fc534dae01"}, {file = "spacy_transformers-1.3.2-cp36-cp36m-win_amd64.whl", hash = "sha256:90cc57ec37abd94b5a7e4238316a36eb41f3e97fc5a8c01fda4bad27b2b88f40"}, {file = "spacy_transformers-1.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:639e2fc2bd6b2b5385ef0515ade9621087cfeaf43935e7991b27a1d485b6df25"}, {file = "spacy_transformers-1.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7093aab214b1b76781e4ffc00f22bfa094e06285bdbdfa24bdab09096968e060"}, + {file = "spacy_transformers-1.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebe0a70e4014e445877f31c69e3a04ced57b70931cb9740479a87a4c4bbea1c4"}, {file = "spacy_transformers-1.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:4cb1f8e68f223e94b32c62b1f05b9445fa4ccb74798b347f5e8afbf05ab50099"}, {file = "spacy_transformers-1.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91f5609d002858defe846050715da0e3d684e5f64ff0e3c3ea06fab08c9e7b2c"}, {file = "spacy_transformers-1.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6d5b4e26a990d18b010cf1d5a168c91aff04e4f36275ded9d2ecb4dc5c912be5"}, {file = "spacy_transformers-1.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:572c82a991f2f50befb7d9cb62634f162858fb0723d532bc00bd6bad0d506686"}, + {file = "spacy_transformers-1.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7f6982d150a4713b9b4afc271ed6facae469f4011dbdb2c9f80a8f3c0ceb7e8"}, {file = "spacy_transformers-1.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:5701c11206f6ac5591beaa28fa5251081ba5991f60d13ead1c30784b04f36d98"}, {file = "spacy_transformers-1.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:43b401abecf561be4054246cbbe171a13ea078f252a9d29fea73bf1e49fc51cd"}, {file = "spacy_transformers-1.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:35dc8c36753f9ff0e27f8ecb43fee71804b636e455a48e8deb8adc6ef6d17f52"}, {file = "spacy_transformers-1.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9306c01bc30747dcf986e8b86e36b965ac4694fe79245b55d82568df68098a82"}, + {file = "spacy_transformers-1.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad21e92060b53680bb1a518c0ed5cf5f90b38f8975a7fa500a1064a2dcb87d93"}, {file = "spacy_transformers-1.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:5beea005a540fc730c4c2da4b1523d517ee129c3de5f97a4f0752a3a3adbcf36"}, ] @@ -6256,7 +6104,6 @@ cuda92 = ["cupy-cuda92 (>=5.0.0b4)"] name = "speechrecognition" version = "3.8.1" description = "Library for performing speech recognition, with support for several engines and APIs, online and offline." -category = "main" optional = false python-versions = "*" files = [ @@ -6267,7 +6114,6 @@ files = [ name = "sphinx" version = "7.2.6" description = "Python documentation generator" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -6302,7 +6148,6 @@ test = ["cython (>=3.0)", "filelock", "html5lib", "pytest (>=4.6)", "setuptools name = "sphinx-autobuild" version = "2021.3.14" description = "Rebuild Sphinx documentation on changes, with live-reload in the browser." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6322,7 +6167,6 @@ test = ["pytest", "pytest-cov"] name = "sphinxcontrib-applehelp" version = "1.0.7" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -6341,7 +6185,6 @@ test = ["pytest"] name = "sphinxcontrib-devhelp" version = "1.0.5" description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -6360,7 +6203,6 @@ test = ["pytest"] name = "sphinxcontrib-htmlhelp" version = "2.0.4" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -6379,7 +6221,6 @@ test = ["html5lib", "pytest"] name = "sphinxcontrib-jsmath" version = "1.0.1" description = "A sphinx extension which renders display math in HTML via JavaScript" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -6394,7 +6235,6 @@ test = ["flake8", "mypy", "pytest"] name = "sphinxcontrib-qthelp" version = "1.0.6" description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -6413,7 +6253,6 @@ test = ["pytest"] name = "sphinxcontrib-serializinghtml" version = "1.1.9" description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" -category = "main" optional = false python-versions = ">=3.9" files = [ @@ -6432,7 +6271,6 @@ test = ["pytest"] name = "spotipy" version = "2.16.1" description = "A light weight Python library for the Spotify Web API" -category = "main" optional = false python-versions = "*" files = [ @@ -6453,7 +6291,6 @@ test = ["mock (==2.0.0)"] name = "sqlalchemy" version = "2.0.21" description = "Database Abstraction Library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6473,14 +6310,6 @@ files = [ {file = "SQLAlchemy-2.0.21-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b69f1f754d92eb1cc6b50938359dead36b96a1dcf11a8670bff65fd9b21a4b09"}, {file = "SQLAlchemy-2.0.21-cp311-cp311-win32.whl", hash = "sha256:af520a730d523eab77d754f5cf44cc7dd7ad2d54907adeb3233177eeb22f271b"}, {file = "SQLAlchemy-2.0.21-cp311-cp311-win_amd64.whl", hash = "sha256:141675dae56522126986fa4ca713739d00ed3a6f08f3c2eb92c39c6dfec463ce"}, - {file = "SQLAlchemy-2.0.21-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:56628ca27aa17b5890391ded4e385bf0480209726f198799b7e980c6bd473bd7"}, - {file = "SQLAlchemy-2.0.21-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:db726be58837fe5ac39859e0fa40baafe54c6d54c02aba1d47d25536170b690f"}, - {file = "SQLAlchemy-2.0.21-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7421c1bfdbb7214313919472307be650bd45c4dc2fcb317d64d078993de045b"}, - {file = "SQLAlchemy-2.0.21-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:632784f7a6f12cfa0e84bf2a5003b07660addccf5563c132cd23b7cc1d7371a9"}, - {file = "SQLAlchemy-2.0.21-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:f6f7276cf26145a888f2182a98f204541b519d9ea358a65d82095d9c9e22f917"}, - {file = "SQLAlchemy-2.0.21-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2a1f7ffac934bc0ea717fa1596f938483fb8c402233f9b26679b4f7b38d6ab6e"}, - {file = "SQLAlchemy-2.0.21-cp312-cp312-win32.whl", hash = "sha256:bfece2f7cec502ec5f759bbc09ce711445372deeac3628f6fa1c16b7fb45b682"}, - {file = "SQLAlchemy-2.0.21-cp312-cp312-win_amd64.whl", hash = "sha256:526b869a0f4f000d8d8ee3409d0becca30ae73f494cbb48801da0129601f72c6"}, {file = "SQLAlchemy-2.0.21-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7614f1eab4336df7dd6bee05bc974f2b02c38d3d0c78060c5faa4cd1ca2af3b8"}, {file = "SQLAlchemy-2.0.21-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d59cb9e20d79686aa473e0302e4a82882d7118744d30bb1dfb62d3c47141b3ec"}, {file = "SQLAlchemy-2.0.21-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a95aa0672e3065d43c8aa80080cdd5cc40fe92dc873749e6c1cf23914c4b83af"}, @@ -6540,7 +6369,6 @@ sqlcipher = ["sqlcipher3-binary"] name = "sqlparse" version = "0.4.4" description = "A non-validating SQL parser." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -6557,7 +6385,6 @@ test = ["pytest", "pytest-cov"] name = "srsly" version = "2.4.8" description = "Modern high-performance serialization utilities for Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6604,7 +6431,6 @@ catalogue = ">=2.0.3,<2.1.0" name = "stack-data" version = "0.6.3" description = "Extract data from python stack frames and tracebacks for informative displays" -category = "main" optional = false python-versions = "*" files = [ @@ -6624,7 +6450,6 @@ tests = ["cython", "littleutils", "pygments", "pytest", "typeguard"] name = "starlette" version = "0.20.4" description = "The little ASGI library that shines." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6642,7 +6467,6 @@ full = ["itsdangerous", "jinja2", "python-multipart", "pyyaml", "requests"] name = "structlog" version = "23.2.0" description = "Structured Logging for Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -6660,7 +6484,6 @@ typing = ["mypy (>=1.4)", "rich", "twisted"] name = "sympy" version = "1.12" description = "Computer algebra system (CAS) in Python" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -6675,7 +6498,6 @@ mpmath = ">=0.19" name = "tablib" version = "3.5.0" description = "Format agnostic tabular data library (XLS, JSON, YAML, CSV, etc.)" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -6697,7 +6519,6 @@ yaml = ["pyyaml"] name = "termcolor" version = "2.3.0" description = "ANSI color formatting for output in terminal" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6712,7 +6533,6 @@ tests = ["pytest", "pytest-cov"] name = "text-unidecode" version = "1.3" description = "The most basic Text::Unidecode port" -category = "main" optional = false python-versions = "*" files = [ @@ -6724,7 +6544,6 @@ files = [ name = "textract" version = "1.6.5" description = "extract text from any document. no muss. no fuss." -category = "main" optional = false python-versions = "*" files = [ @@ -6735,7 +6554,7 @@ files = [ [package.dependencies] argcomplete = ">=1.10.0,<1.11.0" beautifulsoup4 = ">=4.8.0,<4.9.0" -chardet = ">=3.0.0,<4.0.0" +chardet = "==3.*" docx2txt = ">=0.8,<1.0" extract-msg = "<=0.29" "pdfminer.six" = "20191110" @@ -6751,7 +6570,6 @@ pocketsphinx = ["pocketsphinx (==0.1.15)"] name = "thinc" version = "8.2.1" description = "A refreshing functional take on deep learning, compatible with your favorite libraries" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -6833,7 +6651,6 @@ torch = ["torch (>=1.6.0)"] name = "tinycss2" version = "1.2.1" description = "A tiny CSS parser" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6852,7 +6669,6 @@ test = ["flake8", "isort", "pytest"] name = "tokenizers" version = "0.13.3" description = "Fast and Customizable Tokenizers" -category = "main" optional = false python-versions = "*" files = [ @@ -6907,7 +6723,6 @@ testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests"] name = "tomli" version = "2.0.1" description = "A lil' TOML parser" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6919,7 +6734,6 @@ files = [ name = "tomlkit" version = "0.12.1" description = "Style preserving TOML library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -6931,7 +6745,6 @@ files = [ name = "torch" version = "2.1.0" description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" -category = "main" optional = false python-versions = ">=3.8.0" files = [ @@ -6972,7 +6785,6 @@ opt-einsum = ["opt-einsum (>=3.3)"] name = "tornado" version = "6.3.3" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." -category = "main" optional = false python-versions = ">= 3.8" files = [ @@ -6993,7 +6805,6 @@ files = [ name = "tqdm" version = "4.66.1" description = "Fast, Extensible Progress Meter" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7014,7 +6825,6 @@ telegram = ["requests"] name = "traitlets" version = "5.11.2" description = "Traitlets Python configuration system" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -7030,7 +6840,6 @@ test = ["argcomplete (>=3.0.3)", "mypy (>=1.5.1)", "pre-commit", "pytest (>=7.0, name = "transformers" version = "4.32.1" description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" -category = "main" optional = false python-versions = ">=3.8.0" files = [ @@ -7100,7 +6909,6 @@ vision = ["Pillow (<10.0.0)"] name = "twisted" version = "23.8.0" description = "An asynchronous networking framework written in Python" -category = "main" optional = false python-versions = ">=3.7.1" files = [ @@ -7141,7 +6949,6 @@ windows-platform = ["pywin32 (!=226)", "pywin32 (!=226)", "twisted[all-non-platf name = "twisted-iocpsupport" version = "1.0.4" description = "An extension for use in the twisted I/O Completion Ports reactor." -category = "main" optional = false python-versions = "*" files = [ @@ -7170,7 +6977,6 @@ files = [ name = "txaio" version = "23.1.1" description = "Compatibility API between asyncio/Twisted/Trollius" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7187,7 +6993,6 @@ twisted = ["twisted (>=20.3.0)", "zope.interface (>=5.2.0)"] name = "typer" version = "0.9.0" description = "Typer, build great CLIs. Easy to code. Based on Python type hints." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7209,7 +7014,6 @@ test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6. name = "types-pytz" version = "2023.3.1.1" description = "Typing stubs for pytz" -category = "main" optional = false python-versions = "*" files = [ @@ -7221,7 +7025,6 @@ files = [ name = "types-pyyaml" version = "6.0.12.12" description = "Typing stubs for PyYAML" -category = "main" optional = false python-versions = "*" files = [ @@ -7233,7 +7036,6 @@ files = [ name = "types-requests" version = "2.31.0.8" description = "Typing stubs for requests" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7248,7 +7050,6 @@ urllib3 = ">=2" name = "typing-extensions" version = "4.8.0" description = "Backported and Experimental Type Hints for Python 3.8+" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -7260,7 +7061,6 @@ files = [ name = "tzdata" version = "2023.3" description = "Provider of IANA time zone data" -category = "main" optional = false python-versions = ">=2" files = [ @@ -7272,7 +7072,6 @@ files = [ name = "tzlocal" version = "5.1" description = "tzinfo object for the local timezone" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7290,7 +7089,6 @@ devenv = ["black", "check-manifest", "flake8", "pyroma", "pytest (>=4.3)", "pyte name = "uritemplate" version = "4.1.1" description = "Implementation of RFC 6570 URI Templates" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7302,7 +7100,6 @@ files = [ name = "urllib3" version = "2.0.6" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7320,7 +7117,6 @@ zstd = ["zstandard (>=0.18.0)"] name = "uuid" version = "1.30" description = "UUID object and generation functions (Python 2.3 or higher)" -category = "main" optional = false python-versions = "*" files = [ @@ -7331,7 +7127,6 @@ files = [ name = "uuid6" version = "2023.5.2" description = "New time-based UUID formats which are suited for use as a database key" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -7343,7 +7138,6 @@ files = [ name = "uvicorn" version = "0.24.0.post1" description = "The lightning-fast ASGI server." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -7362,7 +7156,6 @@ standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", name = "vine" version = "5.0.0" description = "Promises, promises, promises." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7374,7 +7167,6 @@ files = [ name = "virtualenv" version = "20.24.5" description = "Virtual Python Environment builder" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7395,7 +7187,6 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess name = "vtk" version = "9.2.6" description = "VTK is an open-source toolkit for 3D computer graphics, image processing, and visualization" -category = "main" optional = false python-versions = "*" files = [ @@ -7433,7 +7224,6 @@ web = ["wslink (>=1.0.4)"] name = "wand" version = "0.6.11" description = "Ctypes-based simple MagickWand API binding for Python" -category = "main" optional = false python-versions = "*" files = [ @@ -7449,7 +7239,6 @@ test = ["pytest (>=7.2.0)"] name = "wasabi" version = "1.1.2" description = "A lightweight console printing and formatting toolkit" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7464,7 +7253,6 @@ colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\" and python name = "watchdog" version = "3.0.0" description = "Filesystem events monitoring" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7504,7 +7292,6 @@ watchmedo = ["PyYAML (>=3.10)"] name = "watchfiles" version = "0.18.1" description = "Simple, modern and high performance file watching and code reload in python." -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7535,7 +7322,6 @@ anyio = ">=3.0.0" name = "wcwidth" version = "0.2.8" description = "Measures the displayed width of unicode strings in a terminal" -category = "main" optional = false python-versions = "*" files = [ @@ -7547,7 +7333,6 @@ files = [ name = "weasel" version = "0.3.2" description = "Weasel: A small and easy workflow system" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7570,7 +7355,6 @@ wasabi = ">=0.9.1,<1.2.0" name = "webencodings" version = "0.5.1" description = "Character encoding aliases for legacy web content" -category = "main" optional = false python-versions = "*" files = [ @@ -7582,7 +7366,6 @@ files = [ name = "websockets" version = "11.0.3" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7662,7 +7445,6 @@ files = [ name = "werkzeug" version = "2.3.7" description = "The comprehensive WSGI web application library." -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -7681,7 +7463,6 @@ watchdog = ["watchdog (>=2.3)"] name = "whitenoise" version = "6.6.0" description = "Radically simplified static file serving for WSGI applications" -category = "main" optional = false python-versions = ">=3.8" files = [ @@ -7696,7 +7477,6 @@ brotli = ["Brotli"] name = "wrapt" version = "1.15.0" description = "Module for decorators, wrappers and monkey patching." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -7781,7 +7561,6 @@ files = [ name = "xlrd" version = "1.2.0" description = "Library for developers to extract data from Microsoft Excel (tm) spreadsheet files" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -7793,7 +7572,6 @@ files = [ name = "xlsxwriter" version = "3.1.7" description = "A Python module for creating Excel XLSX files." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -7805,7 +7583,6 @@ files = [ name = "xvfbwrapper" version = "0.2.9" description = "run headless display inside X virtual framebuffer (Xvfb)" -category = "main" optional = false python-versions = "*" files = [ @@ -7816,7 +7593,6 @@ files = [ name = "yandex-music" version = "2.1.1" description = "Неофициальная Python библиотека для работы с API сервиса Яндекс.Музыка." -category = "main" optional = false python-versions = "~=3.7" files = [ @@ -7832,7 +7608,6 @@ requests = {version = "*", extras = ["socks"]} name = "yarl" version = "1.9.2" description = "Yet another URL library" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7920,7 +7695,6 @@ multidict = ">=4.0" name = "yt-dlp" version = "2023.10.7" description = "A youtube-dl fork with additional features and patches" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7940,7 +7714,6 @@ websockets = "*" name = "zope-interface" version = "6.1" description = "Interfaces for Python" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -7993,4 +7766,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "^3.11" -content-hash = "18859dfafc7c638a5d435e14e0b8303b53c4220e010be4e407049170553b2319" +content-hash = "0c2d65187b328eb19c141a3e4870e634fc85bcff426b6ca7bd17f14d40c7f898" diff --git a/pyproject.toml b/pyproject.toml index fdffb27..501b3ad 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -110,6 +110,9 @@ uuid6 = "^2023.5.2" fastapi = "0.86.0" django-haystack = {extras = ["elasticsearch"], version = "^3.2.1"} uvicorn = "^0.24.0.post1" +nltk = "^3.8.1" +pymorphy3 = "^1.2.1" +pymorphy3-dicts-ru = "^2.4.417150.4580142" [build-system] diff --git a/search/pyproject.toml b/search/pyproject.toml index 042eb2a..de75e63 100644 --- a/search/pyproject.toml +++ b/search/pyproject.toml @@ -7,12 +7,12 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.11" -farm-haystack = "^1.21.2" fastapi = "0.99.1" pydantic = "1.10.13" -milvus-haystack = "^0.0.2" - +transformers = {version = "4.34.1", extras = ["torch"]} +torch = ">=2.0.0, !=2.0.1, !=2.1.0" +farm-haystack = {extras = ["faiss"], version = "^1.21.2"} [build-system] -requires = ["poetry-core"] +requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api"