From 9c9e0b2d537a31a5dbc87258ce4917552989a829 Mon Sep 17 00:00:00 2001 From: ikaroskun Date: Thu, 22 Feb 2024 18:34:21 +0800 Subject: [PATCH 1/6] refactor(version): :wastebasket: remove deprecated version --- pytiktok/business_account_api.py | 191 +++++++------------------------ pytiktok/decorators.py | 13 --- 2 files changed, 39 insertions(+), 165 deletions(-) delete mode 100644 pytiktok/decorators.py diff --git a/pytiktok/business_account_api.py b/pytiktok/business_account_api.py index de6ff94..923dacf 100644 --- a/pytiktok/business_account_api.py +++ b/pytiktok/business_account_api.py @@ -9,10 +9,6 @@ import pytiktok.models as mds from pytiktok.error import PyTiktokError -from pytiktok.decorators import function_only_for_api_v13 - - -API_VERSION_1_2 = "v1.2" # for breaking routers class BusinessAccountApi: @@ -45,73 +41,6 @@ def __init__( self.oauth_redirect_uri = oauth_redirect_uri def generate_access_token( - self, code: str, return_json: bool = False - ) -> Union[mds.BusinessAccessToken, dict]: - """ - Generate access token by the auth code. - :param code: The code when user logged into TikTok and authorized your application for access to their account insights. - :param return_json: Type for returned data. If you set True JSON data will be returned. - :return: Access token - """ - if not self.app_id or not self.app_secret: - raise PyTiktokError(f"Need app id and app secret.") - - path = "oauth2/creator_token/" - - resp = self._request( - verb="POST", - path=path, - params={"business": "tt_user"}, - json={ - "client_id": self.app_id, - "client_secret": self.app_secret, - "grant_type": "authorization_code", - "auth_code": code, - }, - enforce_auth=False, - ) - data = self.parse_response(response=resp) - if self.api_version != API_VERSION_1_2: - data = data["data"] - self.access_token = data["access_token"] - return data if return_json else mds.BusinessAccessToken.new_from_json_dict(data) - - def refresh_access_token( - self, refresh_token: str, return_json: bool = False - ) -> Union[mds.BusinessAccessToken, dict]: - """ - Generate access token by the refresh token. - :param refresh_token: The refresh token for exchange access token. - :param return_json: Type for returned data. If you set True JSON data will be returned. - :return: Access token - """ - if not self.app_id or not self.app_secret: - raise PyTiktokError(f"Need app id and app secret.") - - path = "oauth2/creator_token/" - if self.api_version == API_VERSION_1_2: - path = "oauth2/token/" - - resp = self._request( - verb="POST", - path=path, - params={"business": "tt_user"}, - json={ - "client_id": self.app_id, - "client_secret": self.app_secret, - "grant_type": "refresh_token", - "refresh_token": refresh_token, - }, - enforce_auth=False, - ) - data = self.parse_response(response=resp) - if self.api_version != API_VERSION_1_2: - data = data["data"] - self.access_token = data["access_token"] - return data if return_json else mds.BusinessAccessToken.new_from_json_dict(data) - - @function_only_for_api_v13 - def generate_access_token_v2( self, code: str, redirect_uri: Optional[str] = None, return_json: bool = False ) -> Union[mds.BusinessAccessToken, dict]: """ @@ -145,8 +74,7 @@ def generate_access_token_v2( self.access_token = data["access_token"] return data if return_json else mds.BusinessAccessToken.new_from_json_dict(data) - @function_only_for_api_v13 - def refresh_access_token_v2( + def refresh_access_token( self, refresh_token: str, return_json: bool = False ) -> Union[mds.BusinessAccessToken, dict]: """ @@ -174,7 +102,6 @@ def refresh_access_token_v2( self.access_token = data["access_token"] return data if return_json else mds.BusinessAccessToken.new_from_json_dict(data) - @function_only_for_api_v13 def get_token_info( self, access_token: str, app_id: Optional[str] = None, return_json: bool = False ) -> Union[mds.BusinessAccessTokenInfo, dict]: @@ -281,20 +208,15 @@ def get_account_data( :param return_json: Type for returned data. If you set True JSON data will be returned. :return: Account data. """ - data = {"business_id": business_id} + params = {"business_id": business_id} if start_date is not None: - data["start_date"] = start_date + params["start_date"] = start_date if end_date is not None: - data["end_date"] = end_date + params["end_date"] = end_date if fields is not None: - data["fields"] = fields - - if self.api_version == API_VERSION_1_2: - resp = self._request(verb="POST", path="business/get/", json=data) - else: - resp = self._request( - path="business/get/", params={"business_id": business_id}, json=data - ) + params["fields"] = fields + + resp = self._request(path="business/get/", params=params) data = self.parse_response(resp) return ( data @@ -323,23 +245,19 @@ def get_account_videos( :return: Account's videos data. """ - data = {"business_id": business_id} + params = {"business_id": business_id} if fields is not None: - data["fields"] = fields + params["fields"] = fields if filters is not None: - data["filters"] = filters + params["filters"] = filters if cursor is not None: - data["cursor"] = cursor + params["cursor"] = cursor if max_count is not None: - data["max_count"] = max_count - if self.api_version == API_VERSION_1_2: - resp = self._request(verb="POST", path="business/videos/list/", json=data) - else: - resp = self._request( - path="business/video/list/", - params={"business_id": business_id}, - json=data, - ) + params["max_count"] = max_count + resp = self._request( + path="business/video/list/", + params=params, + ) data = self.parse_response(resp) return ( data if return_json else mds.BusinessVideosResponse.new_from_json_dict(data) @@ -368,11 +286,8 @@ def create_video( "video_url": video_url, "post_info": post_info, } - path = "business/video/publish/" - if self.api_version == API_VERSION_1_2: - path = "business/videos/publish/" - resp = self._request(verb="POST", path=path, json=data) + resp = self._request(verb="POST", path="business/video/publish/", json=data) data = self.parse_response(resp) return ( data @@ -410,26 +325,23 @@ def get_video_comments( :param return_json: Type for returned data. If you set True JSON data will be returned. :return: Video's comments data. """ - data = {"business_id": business_id, "video_id": video_id} + params = {"business_id": business_id, "video_id": video_id} if comment_ids is not None: - data["comment_ids"] = comment_ids + params["comment_ids"] = comment_ids if include_replies is not None: - data["include_replies"] = include_replies + params["include_replies"] = include_replies if status is not None: - data["status"] = status + params["status"] = status if sort_field is not None: - data["sort_field"] = sort_field + params["sort_field"] = sort_field if sort_order is not None: - data["sort_order"] = sort_order + params["sort_order"] = sort_order if cursor is not None: - data["cursor"] = cursor + params["cursor"] = cursor if max_count is not None: - data["max_count"] = max_count + params["max_count"] = max_count - verb, path = "GET", "business/comment/list/" - if self.api_version == API_VERSION_1_2: - verb, path = "POST", "business/comments/list/" - resp = self._request(verb=verb, path=path, json=data, params=data) + resp = self._request(verb="GET", path="business/comment/list/", params=params) data = self.parse_response(resp) return ( data @@ -464,27 +376,23 @@ def get_comment_replies( :param return_json: Type for returned data. If you set True JSON data will be returned. :return: Comment's replies data. """ - data = { + params = { "business_id": business_id, "video_id": video_id, "comment_id": comment_id, } if status is not None: - data["status"] = status + params["status"] = status if sort_field is not None: - data["sort_field"] = sort_field + params["sort_field"] = sort_field if sort_order is not None: - data["sort_order"] = sort_order + params["sort_order"] = sort_order if cursor is not None: - data["cursor"] = cursor + params["cursor"] = cursor if max_count is not None: - data["max_count"] = max_count - - verb, path = "GET", "business/comment/reply/list/" - if self.api_version == API_VERSION_1_2: - verb, path = "POST", "business/comments/replies/list/" + params["max_count"] = max_count - resp = self._request(verb=verb, path=path, json=data, params=data) + resp = self._request(verb="GET", path="business/comment/reply/list/", params=params) data = self.parse_response(resp) return ( data @@ -504,11 +412,7 @@ def create_comment( """ data = {"business_id": business_id, "video_id": video_id, "text": text} - path = "business/comment/create/" - if self.api_version == API_VERSION_1_2: - path = "business/comments/create/" - - resp = self._request(verb="POST", path=path, json=data) + resp = self._request(verb="POST", path="business/comment/create/", json=data) data = self.parse_response(resp) return ( data @@ -538,11 +442,8 @@ def create_reply( "comment_id": comment_id, "text": text, } - path = "business/comment/reply/create/" - if self.api_version == API_VERSION_1_2: - path = "business/comments/replies/create/" - resp = self._request(verb="POST", path=path, json=data) + resp = self._request(verb="POST", path="business/comment/reply/create/", json=data) data = self.parse_response(resp) return ( data @@ -567,10 +468,7 @@ def like_comment( :return: Comment like status response. """ data = {"business_id": business_id, "comment_id": comment_id, "action": action} - path = "business/comment/like/" - if self.api_version == API_VERSION_1_2: - path = "business/comments/like/" - resp = self._request(verb="POST", path=path, json=data) + resp = self._request(verb="POST", path="business/comment/like/", json=data) data = self.parse_response(resp) return ( data if return_json else mds.BusinessBaseResponse.new_from_json_dict(data) @@ -600,10 +498,7 @@ def pin_comment( "comment_id": comment_id, "action": action, } - path = "business/comment/pin/" - if self.api_version == API_VERSION_1_2: - path = "business/comments/pin/" - resp = self._request(verb="POST", path=path, json=data) + resp = self._request(verb="POST", path="business/comment/pin/", json=data) data = self.parse_response(resp) return ( data if return_json else mds.BusinessBaseResponse.new_from_json_dict(data) @@ -633,10 +528,7 @@ def hide_comment( "comment_id": comment_id, "action": action, } - path = "business/comment/hide/" - if self.api_version == API_VERSION_1_2: - path = "business/comments/hide/" - resp = self._request(verb="POST", path=path, json=data) + resp = self._request(verb="POST", path="business/comment/hide/", json=data) data = self.parse_response(resp) return ( data if return_json else mds.BusinessBaseResponse.new_from_json_dict(data) @@ -654,10 +546,7 @@ def delete_comment( :return: Comment delete status response. """ data = {"business_id": business_id, "comment_id": comment_id} - path = "business/comment/delete/" - if self.api_version == API_VERSION_1_2: - path = "business/comments/delete/" - resp = self._request(verb="POST", path=path, json=data) + resp = self._request(verb="POST", path="business/comment/delete/", json=data) data = self.parse_response(resp) return ( data if return_json else mds.BusinessBaseResponse.new_from_json_dict(data) @@ -678,8 +567,6 @@ def get_hashtag_suggestions( :param return_json: Type for returned data. If you set True JSON data will be returned. :return: Suggestion hashtags. """ - if self.api_version == API_VERSION_1_2: - raise PyTiktokError("Version 1.2 not support this method.") data = { "business_id": business_id, "keyword": keyword, diff --git a/pytiktok/decorators.py b/pytiktok/decorators.py deleted file mode 100644 index 2f3f17f..0000000 --- a/pytiktok/decorators.py +++ /dev/null @@ -1,13 +0,0 @@ -from functools import wraps - -from pytiktok.error import PyTiktokError - - -def function_only_for_api_v13(func): - @wraps(func) - def decorated(self, *args, **kwargs): - if self.api_version != "v1.3": - raise PyTiktokError(f"This method only for api version 1.3") - return func(self, *args, **kwargs) - - return decorated From 3b20db6c6a33e9b9b00c40f595b1666b37258273 Mon Sep 17 00:00:00 2001 From: ikaroskun Date: Fri, 1 Mar 2024 16:16:28 +0800 Subject: [PATCH 2/6] style(black): :art: format code --- pytiktok/business_account_api.py | 12 +++++++++--- pytiktok/kit_api.py | 1 + pytiktok/models/kit.py | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/pytiktok/business_account_api.py b/pytiktok/business_account_api.py index 923dacf..b146cca 100644 --- a/pytiktok/business_account_api.py +++ b/pytiktok/business_account_api.py @@ -392,7 +392,9 @@ def get_comment_replies( if max_count is not None: params["max_count"] = max_count - resp = self._request(verb="GET", path="business/comment/reply/list/", params=params) + resp = self._request( + verb="GET", path="business/comment/reply/list/", params=params + ) data = self.parse_response(resp) return ( data @@ -443,7 +445,9 @@ def create_reply( "text": text, } - resp = self._request(verb="POST", path="business/comment/reply/create/", json=data) + resp = self._request( + verb="POST", path="business/comment/reply/create/", json=data + ) data = self.parse_response(resp) return ( data @@ -572,7 +576,9 @@ def get_hashtag_suggestions( "keyword": keyword, "language": language, } - resp = self._request(verb="GET", path="business/hashtag/suggestion/", params=data) + resp = self._request( + verb="GET", path="business/hashtag/suggestion/", params=data + ) data = self.parse_response(resp) return ( data diff --git a/pytiktok/kit_api.py b/pytiktok/kit_api.py index 0ca8d98..23bae8f 100644 --- a/pytiktok/kit_api.py +++ b/pytiktok/kit_api.py @@ -1,6 +1,7 @@ """ Api impl for tiktok developer """ + import random import string from typing import Optional, List, Tuple, Union, IO diff --git a/pytiktok/models/kit.py b/pytiktok/models/kit.py index 5ca585b..b224718 100644 --- a/pytiktok/models/kit.py +++ b/pytiktok/models/kit.py @@ -1,6 +1,7 @@ """ Models for TikTok kit api. """ + from dataclasses import dataclass, field from typing import Optional, List From bbdcc56af64e82794e7e8f6a60f0179f88584b35 Mon Sep 17 00:00:00 2001 From: ikaroskun Date: Fri, 1 Mar 2024 16:20:18 +0800 Subject: [PATCH 3/6] build(dependencies): :arrow_up: remove lock file --- poetry.lock | 519 ---------------------------------------------------- 1 file changed, 519 deletions(-) delete mode 100644 poetry.lock diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index ac941f6..0000000 --- a/poetry.lock +++ /dev/null @@ -1,519 +0,0 @@ -[[package]] -name = "atomicwrites" -version = "1.4.0" -description = "Atomic file writes." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[[package]] -name = "attrs" -version = "21.4.0" -description = "Classes Without Boilerplate" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[package.extras] -dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] -docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] -tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] -tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] - -[[package]] -name = "black" -version = "22.3.0" -description = "The uncompromising code formatter." -category = "dev" -optional = false -python-versions = ">=3.6.2" - -[package.dependencies] -click = ">=8.0.0" -dataclasses = {version = ">=0.6", markers = "python_version < \"3.7\""} -mypy-extensions = ">=0.4.3" -pathspec = ">=0.9.0" -platformdirs = ">=2" -tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typed-ast = {version = ">=1.4.2", markers = "python_version < \"3.8\" and implementation_name == \"cpython\""} -typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} - -[package.extras] -colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] -jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] -uvloop = ["uvloop (>=0.15.2)"] - -[[package]] -name = "certifi" -version = "2022.5.18.1" -description = "Python package for providing Mozilla's CA Bundle." -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "charset-normalizer" -version = "2.0.12" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" -optional = false -python-versions = ">=3.5.0" - -[package.extras] -unicode_backport = ["unicodedata2"] - -[[package]] -name = "click" -version = "8.0.4" -description = "Composable command line interface toolkit" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -colorama = {version = "*", markers = "platform_system == \"Windows\""} -importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} - -[[package]] -name = "colorama" -version = "0.4.4" -description = "Cross-platform colored terminal text." -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "dataclasses" -version = "0.8" -description = "A backport of the dataclasses module for Python 3.6" -category = "main" -optional = false -python-versions = ">=3.6, <3.7" - -[[package]] -name = "dataclasses-json" -version = "0.5.7" -description = "Easily serialize dataclasses to and from JSON" -category = "main" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -dataclasses = {version = "*", markers = "python_version == \"3.6\""} -marshmallow = ">=3.3.0,<4.0.0" -marshmallow-enum = ">=1.5.1,<2.0.0" -typing-inspect = ">=0.4.0" - -[package.extras] -dev = ["pytest (>=6.2.3)", "ipython", "mypy (>=0.710)", "hypothesis", "portray", "flake8", "simplejson", "types-dataclasses"] - -[[package]] -name = "idna" -version = "3.3" -description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" -optional = false -python-versions = ">=3.5" - -[[package]] -name = "importlib-metadata" -version = "4.8.3" -description = "Read metadata from Python packages" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""} -zipp = ">=0.5" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] -perf = ["ipython"] -testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"] - -[[package]] -name = "iniconfig" -version = "1.1.1" -description = "iniconfig: brain-dead simple config-ini parsing" -category = "dev" -optional = false -python-versions = "*" - -[[package]] -name = "marshmallow" -version = "3.14.1" -description = "A lightweight library for converting complex datatypes to and from native Python datatypes." -category = "main" -optional = false -python-versions = ">=3.6" - -[package.extras] -dev = ["pytest", "pytz", "simplejson", "mypy (==0.910)", "flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "pre-commit (>=2.4,<3.0)", "tox"] -docs = ["sphinx (==4.3.0)", "sphinx-issues (==1.2.0)", "alabaster (==0.7.12)", "sphinx-version-warning (==1.1.2)", "autodocsumm (==0.2.7)"] -lint = ["mypy (==0.910)", "flake8 (==4.0.1)", "flake8-bugbear (==21.9.2)", "pre-commit (>=2.4,<3.0)"] -tests = ["pytest", "pytz", "simplejson"] - -[[package]] -name = "marshmallow-enum" -version = "1.5.1" -description = "Enum field for Marshmallow" -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -marshmallow = ">=2.0.0" - -[[package]] -name = "mypy-extensions" -version = "0.4.3" -description = "Experimental type system extensions for programs checked with the mypy typechecker." -category = "main" -optional = false -python-versions = "*" - -[[package]] -name = "packaging" -version = "21.3" -description = "Core utilities for Python packages" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" - -[[package]] -name = "pathspec" -version = "0.9.0" -description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" - -[[package]] -name = "platformdirs" -version = "2.4.0" -description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.extras] -docs = ["Sphinx (>=4)", "furo (>=2021.7.5b38)", "proselint (>=0.10.2)", "sphinx-autodoc-typehints (>=1.12)"] -test = ["appdirs (==1.4.4)", "pytest (>=6)", "pytest-cov (>=2.7)", "pytest-mock (>=3.6)"] - -[[package]] -name = "pluggy" -version = "0.13.1" -description = "plugin and hook calling mechanisms for python" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" - -[package.dependencies] -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} - -[package.extras] -dev = ["pre-commit", "tox"] - -[[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" - -[[package]] -name = "pyparsing" -version = "3.0.9" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "dev" -optional = false -python-versions = ">=3.6.8" - -[package.extras] -diagrams = ["railroad-diagrams", "jinja2"] - -[[package]] -name = "pytest" -version = "6.2.5" -description = "pytest: simple powerful testing with Python" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.dependencies] -atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} -attrs = ">=19.2.0" -colorama = {version = "*", markers = "sys_platform == \"win32\""} -importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -toml = "*" - -[package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] - -[[package]] -name = "requests" -version = "2.27.1" -description = "Python HTTP for Humans." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""} -idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""} -urllib3 = ">=1.21.1,<1.27" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"] -use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"] - -[[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" -optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" - -[[package]] -name = "tomli" -version = "1.2.3" -description = "A lil' TOML parser" -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "typed-ast" -version = "1.5.4" -description = "a fork of Python 2 and 3 ast modules with type comment support" -category = "dev" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "typing-extensions" -version = "4.1.1" -description = "Backported and Experimental Type Hints for Python 3.6+" -category = "main" -optional = false -python-versions = ">=3.6" - -[[package]] -name = "typing-inspect" -version = "0.7.1" -description = "Runtime inspection utilities for typing module." -category = "main" -optional = false -python-versions = "*" - -[package.dependencies] -mypy-extensions = ">=0.3.0" -typing-extensions = ">=3.7.4" - -[[package]] -name = "urllib3" -version = "1.26.9" -description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" - -[package.extras] -brotli = ["brotlicffi (>=0.8.0)", "brotli (>=1.0.9)", "brotlipy (>=0.6.0)"] -secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] - -[[package]] -name = "zipp" -version = "3.6.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -category = "dev" -optional = false -python-versions = ">=3.6" - -[package.extras] -docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"] -testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"] - -[metadata] -lock-version = "1.1" -python-versions = "^3.6.2" -content-hash = "77b38bb642551e7714d6770a138d6a75dfdd78d8551197cd655d6297f39a257a" - -[metadata.files] -atomicwrites = [ - {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, - {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, -] -attrs = [ - {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, - {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, -] -black = [ - {file = "black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09"}, - {file = "black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb"}, - {file = "black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a"}, - {file = "black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968"}, - {file = "black-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:fd57160949179ec517d32ac2ac898b5f20d68ed1a9c977346efbac9c2f1e779d"}, - {file = "black-22.3.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:cc1e1de68c8e5444e8f94c3670bb48a2beef0e91dddfd4fcc29595ebd90bb9ce"}, - {file = "black-22.3.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2fc92002d44746d3e7db7cf9313cf4452f43e9ea77a2c939defce3b10b5c82"}, - {file = "black-22.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:a6342964b43a99dbc72f72812bf88cad8f0217ae9acb47c0d4f141a6416d2d7b"}, - {file = "black-22.3.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:328efc0cc70ccb23429d6be184a15ce613f676bdfc85e5fe8ea2a9354b4e9015"}, - {file = "black-22.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06f9d8846f2340dfac80ceb20200ea5d1b3f181dd0556b47af4e8e0b24fa0a6b"}, - {file = "black-22.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4efa5fad66b903b4a5f96d91461d90b9507a812b3c5de657d544215bb7877a"}, - {file = "black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163"}, - {file = "black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464"}, - {file = "black-22.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0"}, - {file = "black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176"}, - {file = "black-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:cee3e11161dde1b2a33a904b850b0899e0424cc331b7295f2a9698e79f9a69a0"}, - {file = "black-22.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5891ef8abc06576985de8fa88e95ab70641de6c1fca97e2a15820a9b69e51b20"}, - {file = "black-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a"}, - {file = "black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad"}, - {file = "black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21"}, - {file = "black-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b542ced1ec0ceeff5b37d69838106a6348e60db7b8fdd245294dc1d26136265"}, - {file = "black-22.3.0-py3-none-any.whl", hash = "sha256:bc58025940a896d7e5356952228b68f793cf5fcb342be703c3a2669a1488cb72"}, - {file = "black-22.3.0.tar.gz", hash = "sha256:35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79"}, -] -certifi = [ - {file = "certifi-2022.5.18.1-py3-none-any.whl", hash = "sha256:f1d53542ee8cbedbe2118b5686372fb33c297fcd6379b050cca0ef13a597382a"}, - {file = "certifi-2022.5.18.1.tar.gz", hash = "sha256:9c5705e395cd70084351dd8ad5c41e65655e08ce46f2ec9cf6c2c08390f71eb7"}, -] -charset-normalizer = [ - {file = "charset-normalizer-2.0.12.tar.gz", hash = "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597"}, - {file = "charset_normalizer-2.0.12-py3-none-any.whl", hash = "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df"}, -] -click = [ - {file = "click-8.0.4-py3-none-any.whl", hash = "sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1"}, - {file = "click-8.0.4.tar.gz", hash = "sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb"}, -] -colorama = [ - {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, - {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, -] -dataclasses = [ - {file = "dataclasses-0.8-py3-none-any.whl", hash = "sha256:0201d89fa866f68c8ebd9d08ee6ff50c0b255f8ec63a71c16fda7af82bb887bf"}, - {file = "dataclasses-0.8.tar.gz", hash = "sha256:8479067f342acf957dc82ec415d355ab5edb7e7646b90dc6e2fd1d96ad084c97"}, -] -dataclasses-json = [ - {file = "dataclasses-json-0.5.7.tar.gz", hash = "sha256:c2c11bc8214fbf709ffc369d11446ff6945254a7f09128154a7620613d8fda90"}, - {file = "dataclasses_json-0.5.7-py3-none-any.whl", hash = "sha256:bc285b5f892094c3a53d558858a88553dd6a61a11ab1a8128a0e554385dcc5dd"}, -] -idna = [ - {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"}, - {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"}, -] -importlib-metadata = [ - {file = "importlib_metadata-4.8.3-py3-none-any.whl", hash = "sha256:65a9576a5b2d58ca44d133c42a241905cc45e34d2c06fd5ba2bafa221e5d7b5e"}, - {file = "importlib_metadata-4.8.3.tar.gz", hash = "sha256:766abffff765960fcc18003801f7044eb6755ffae4521c8e8ce8e83b9c9b0668"}, -] -iniconfig = [ - {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"}, - {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"}, -] -marshmallow = [ - {file = "marshmallow-3.14.1-py3-none-any.whl", hash = "sha256:04438610bc6dadbdddb22a4a55bcc7f6f8099e69580b2e67f5a681933a1f4400"}, - {file = "marshmallow-3.14.1.tar.gz", hash = "sha256:4c05c1684e0e97fe779c62b91878f173b937fe097b356cd82f793464f5bc6138"}, -] -marshmallow-enum = [ - {file = "marshmallow-enum-1.5.1.tar.gz", hash = "sha256:38e697e11f45a8e64b4a1e664000897c659b60aa57bfa18d44e226a9920b6e58"}, - {file = "marshmallow_enum-1.5.1-py2.py3-none-any.whl", hash = "sha256:57161ab3dbfde4f57adeb12090f39592e992b9c86d206d02f6bd03ebec60f072"}, -] -mypy-extensions = [ - {file = "mypy_extensions-0.4.3-py2.py3-none-any.whl", hash = "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d"}, - {file = "mypy_extensions-0.4.3.tar.gz", hash = "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"}, -] -packaging = [ - {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, - {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, -] -pathspec = [ - {file = "pathspec-0.9.0-py2.py3-none-any.whl", hash = "sha256:7d15c4ddb0b5c802d161efc417ec1a2558ea2653c2e8ad9c19098201dc1c993a"}, - {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"}, -] -platformdirs = [ - {file = "platformdirs-2.4.0-py3-none-any.whl", hash = "sha256:8868bbe3c3c80d42f20156f22e7131d2fb321f5bc86a2a345375c6481a67021d"}, - {file = "platformdirs-2.4.0.tar.gz", hash = "sha256:367a5e80b3d04d2428ffa76d33f124cf11e8fff2acdaa9b43d545f5c7d661ef2"}, -] -pluggy = [ - {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, - {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, -] -py = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, -] -pyparsing = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, -] -pytest = [ - {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, - {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, -] -requests = [ - {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"}, - {file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"}, -] -toml = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, -] -tomli = [ - {file = "tomli-1.2.3-py3-none-any.whl", hash = "sha256:e3069e4be3ead9668e21cb9b074cd948f7b3113fd9c8bba083f48247aab8b11c"}, - {file = "tomli-1.2.3.tar.gz", hash = "sha256:05b6166bff487dc068d322585c7ea4ef78deed501cc124060e0f238e89a9231f"}, -] -typed-ast = [ - {file = "typed_ast-1.5.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:669dd0c4167f6f2cd9f57041e03c3c2ebf9063d0757dc89f79ba1daa2bfca9d4"}, - {file = "typed_ast-1.5.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:211260621ab1cd7324e0798d6be953d00b74e0428382991adfddb352252f1d62"}, - {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:267e3f78697a6c00c689c03db4876dd1efdfea2f251a5ad6555e82a26847b4ac"}, - {file = "typed_ast-1.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c542eeda69212fa10a7ada75e668876fdec5f856cd3d06829e6aa64ad17c8dfe"}, - {file = "typed_ast-1.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:a9916d2bb8865f973824fb47436fa45e1ebf2efd920f2b9f99342cb7fab93f72"}, - {file = "typed_ast-1.5.4-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:79b1e0869db7c830ba6a981d58711c88b6677506e648496b1f64ac7d15633aec"}, - {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a94d55d142c9265f4ea46fab70977a1944ecae359ae867397757d836ea5a3f47"}, - {file = "typed_ast-1.5.4-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:183afdf0ec5b1b211724dfef3d2cad2d767cbefac291f24d69b00546c1837fb6"}, - {file = "typed_ast-1.5.4-cp36-cp36m-win_amd64.whl", hash = "sha256:639c5f0b21776605dd6c9dbe592d5228f021404dafd377e2b7ac046b0349b1a1"}, - {file = "typed_ast-1.5.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cf4afcfac006ece570e32d6fa90ab74a17245b83dfd6655a6f68568098345ff6"}, - {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed855bbe3eb3715fca349c80174cfcfd699c2f9de574d40527b8429acae23a66"}, - {file = "typed_ast-1.5.4-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:6778e1b2f81dfc7bc58e4b259363b83d2e509a65198e85d5700dfae4c6c8ff1c"}, - {file = "typed_ast-1.5.4-cp37-cp37m-win_amd64.whl", hash = "sha256:0261195c2062caf107831e92a76764c81227dae162c4f75192c0d489faf751a2"}, - {file = "typed_ast-1.5.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2efae9db7a8c05ad5547d522e7dbe62c83d838d3906a3716d1478b6c1d61388d"}, - {file = "typed_ast-1.5.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7d5d014b7daa8b0bf2eaef684295acae12b036d79f54178b92a2b6a56f92278f"}, - {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:370788a63915e82fd6f212865a596a0fefcbb7d408bbbb13dea723d971ed8bdc"}, - {file = "typed_ast-1.5.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4e964b4ff86550a7a7d56345c7864b18f403f5bd7380edf44a3c1fb4ee7ac6c6"}, - {file = "typed_ast-1.5.4-cp38-cp38-win_amd64.whl", hash = "sha256:683407d92dc953c8a7347119596f0b0e6c55eb98ebebd9b23437501b28dcbb8e"}, - {file = "typed_ast-1.5.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4879da6c9b73443f97e731b617184a596ac1235fe91f98d279a7af36c796da35"}, - {file = "typed_ast-1.5.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3e123d878ba170397916557d31c8f589951e353cc95fb7f24f6bb69adc1a8a97"}, - {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd9d7f80ccf7a82ac5f88c521115cc55d84e35bf8b446fcd7836eb6b98929a3"}, - {file = "typed_ast-1.5.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98f80dee3c03455e92796b58b98ff6ca0b2a6f652120c263efdba4d6c5e58f72"}, - {file = "typed_ast-1.5.4-cp39-cp39-win_amd64.whl", hash = "sha256:0fdbcf2fef0ca421a3f5912555804296f0b0960f0418c440f5d6d3abb549f3e1"}, - {file = "typed_ast-1.5.4.tar.gz", hash = "sha256:39e21ceb7388e4bb37f4c679d72707ed46c2fbf2a5609b8b8ebc4b067d977df2"}, -] -typing-extensions = [ - {file = "typing_extensions-4.1.1-py3-none-any.whl", hash = "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2"}, - {file = "typing_extensions-4.1.1.tar.gz", hash = "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42"}, -] -typing-inspect = [ - {file = "typing_inspect-0.7.1-py2-none-any.whl", hash = "sha256:b1f56c0783ef0f25fb064a01be6e5407e54cf4a4bf4f3ba3fe51e0bd6dcea9e5"}, - {file = "typing_inspect-0.7.1-py3-none-any.whl", hash = "sha256:3cd7d4563e997719a710a3bfe7ffb544c6b72069b6812a02e9b414a8fa3aaa6b"}, - {file = "typing_inspect-0.7.1.tar.gz", hash = "sha256:047d4097d9b17f46531bf6f014356111a1b6fb821a24fe7ac909853ca2a782aa"}, -] -urllib3 = [ - {file = "urllib3-1.26.9-py2.py3-none-any.whl", hash = "sha256:44ece4d53fb1706f667c9bd1c648f5469a2ec925fcf3a776667042d645472c14"}, - {file = "urllib3-1.26.9.tar.gz", hash = "sha256:aabaf16477806a5e1dd19aa41f8c2b7950dd3c746362d7e3223dbe6de6ac448e"}, -] -zipp = [ - {file = "zipp-3.6.0-py3-none-any.whl", hash = "sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc"}, - {file = "zipp-3.6.0.tar.gz", hash = "sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832"}, -] From 666ffec352a000676da8e1643b18d158e81c8ab0 Mon Sep 17 00:00:00 2001 From: ikaroskun Date: Fri, 1 Mar 2024 16:27:21 +0800 Subject: [PATCH 4/6] build(dependencies): :arrow_up: fix poetry --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 622a97b..709dc02 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,5 +29,5 @@ dataclasses-json = "^0.5.7" pytest = "^6.2.5" [build-system] -requires = ["poetry-core>=1.0.0"] +requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" From 9412ec80e38a4875f95fd117b1d1100dfb7bbd81 Mon Sep 17 00:00:00 2001 From: ikaroskun Date: Fri, 1 Mar 2024 16:34:52 +0800 Subject: [PATCH 5/6] build(dependencies): :arrow_up: fix action --- .github/workflows/test.yaml | 17 +++++++++++------ pyproject.toml | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index f7c716f..e09a41f 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -14,26 +14,31 @@ jobs: python-version: ['3.6', '3.7', '3.8', '3.9', '3.10', "3.11"] include: - python-version: '3.10' - update-coverage: false + update-coverage: true steps: - uses: actions/checkout@v3 - - name: Install poetry - run: pipx install poetry - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - cache: 'poetry' + - name: Cache pip + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ matrix.python-version }}-poetry-${{ hashFiles('pyproject.toml') }} - name: Install dependencies - run: poetry install + run: | + python -m pip install --upgrade pip poetry + poetry install - name: Test with pytest run: poetry run pytest - name: Upload coverage to Codecov if: ${{ matrix.update-coverage }} uses: codecov/codecov-action@v3 with: - file: ./coverage.xml + token: ${{ secrets.CODECOV_TOKEN }} + files: ./coverage.xml fail_ci_if_error: true verbose: true diff --git a/pyproject.toml b/pyproject.toml index 709dc02..a0e8b90 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ python = "^3.6.2" requests = "^2.24" dataclasses-json = "^0.5.7" -[tool.poetry.dev-dependencies] +[tool.poetry.group.dev.dependencies] pytest = "^6.2.5" [build-system] From cad7bb9d4a7f333ad580dd08fc66c5d5e2d98a4f Mon Sep 17 00:00:00 2001 From: ikaroskun Date: Fri, 1 Mar 2024 16:36:28 +0800 Subject: [PATCH 6/6] build(dependencies): :arrow_up: fix poetry --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a0e8b90..709dc02 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ python = "^3.6.2" requests = "^2.24" dataclasses-json = "^0.5.7" -[tool.poetry.group.dev.dependencies] +[tool.poetry.dev-dependencies] pytest = "^6.2.5" [build-system]