🎨 优化使用体验

This commit is contained in:
Wuyi无疑 2023-03-24 01:45:34 +08:00
parent 47d62d58d5
commit 4d0014a092
6 changed files with 473 additions and 44 deletions

View File

@ -78,12 +78,17 @@ class GsServer:
self.active_ws[bot_id] = websocket self.active_ws[bot_id] = websocket
self.active_bot[bot_id] = bot = _Bot(bot_id, websocket) self.active_bot[bot_id] = bot = _Bot(bot_id, websocket)
logger.info(f'{bot_id}已连接!') logger.info(f'{bot_id}已连接!')
try:
_task = [_def() for _def in self.bot_connect_def] _task = [_def() for _def in self.bot_connect_def]
asyncio.gather(*_task) asyncio.gather(*_task)
except Exception as e:
logger.exception(e)
return bot return bot
def disconnect(self, bot_id: str): def disconnect(self, bot_id: str):
if bot_id in self.active_ws:
del self.active_ws[bot_id] del self.active_ws[bot_id]
if bot_id in self.active_bot:
del self.active_bot[bot_id] del self.active_bot[bot_id]
logger.warning(f'{bot_id}已中断!') logger.warning(f'{bot_id}已中断!')

View File

@ -0,0 +1,31 @@
from typing import Dict
from gsuid_core.plugins.GenshinUID.GenshinUID.genshinuid_config import (
gs_config,
)
from gsuid_core.plugins.GenshinUID.GenshinUID.genshinuid_config.models import (
GsStrConfig,
)
gsconfig = gs_config.gsconfig
def get_str_panel(name: str, value: str) -> Dict:
return {}
def get_all_config():
page = {
'type': 'page',
'title': '配置管理',
'body': [],
'id': 'u:a9be7e0dc626',
}
body = []
for config in gsconfig:
gsc = gsconfig[config]
if isinstance(gsc, GsStrConfig):
body.append(get_str_panel(config, gsc.data))
page['body'] = body
return page

View File

@ -9,6 +9,7 @@ from fastapi_amis_admin import amis, admin
from fastapi_user_auth.app import UserAuthApp from fastapi_user_auth.app import UserAuthApp
from sqlalchemy_database import AsyncDatabase from sqlalchemy_database import AsyncDatabase
from fastapi_amis_admin.crud import BaseApiOut from fastapi_amis_admin.crud import BaseApiOut
from sqlalchemy.ext.asyncio import AsyncEngine
from fastapi_user_auth.site import AuthAdminSite from fastapi_user_auth.site import AuthAdminSite
from fastapi_amis_admin.models.fields import Field from fastapi_amis_admin.models.fields import Field
from fastapi_amis_admin.admin.site import APIDocsApp from fastapi_amis_admin.admin.site import APIDocsApp
@ -16,7 +17,6 @@ from fastapi_amis_admin.admin.settings import Settings
from fastapi_user_auth.auth.models import UserRoleLink from fastapi_user_auth.auth.models import UserRoleLink
from fastapi_amis_admin.utils.translation import i18n as _ from fastapi_amis_admin.utils.translation import i18n as _
from fastapi import Depends, FastAPI, Request, HTTPException from fastapi import Depends, FastAPI, Request, HTTPException
from sqlalchemy.ext.asyncio import AsyncEngine, create_async_engine
from fastapi_amis_admin.amis.constants import LevelEnum, DisplayModeEnum from fastapi_amis_admin.amis.constants import LevelEnum, DisplayModeEnum
from fastapi_user_auth.admin import ( from fastapi_user_auth.admin import (
FormAdmin, FormAdmin,
@ -37,7 +37,6 @@ from fastapi_amis_admin.amis.components import (
ButtonToolbar, ButtonToolbar,
) )
from gsuid_core.data_store import get_res_path
from gsuid_core.webconsole.models import WebUser from gsuid_core.webconsole.models import WebUser
from gsuid_core.webconsole.html import gsuid_webconsole_help from gsuid_core.webconsole.html import gsuid_webconsole_help
from gsuid_core.webconsole.create_sv_panel import get_sv_page from gsuid_core.webconsole.create_sv_panel import get_sv_page

454
poetry.lock generated
View File

@ -12,6 +12,11 @@ files = [
{file = "aiofiles-23.1.0.tar.gz", hash = "sha256:edd247df9a19e0db16534d4baaf536d6609a43e1de5401d7a4c1c148753a1635"}, {file = "aiofiles-23.1.0.tar.gz", hash = "sha256:edd247df9a19e0db16534d4baaf536d6609a43e1de5401d7a4c1c148753a1635"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "aiohttp" name = "aiohttp"
version = "3.8.4" version = "3.8.4"
@ -121,6 +126,11 @@ yarl = ">=1.0,<2.0"
[package.extras] [package.extras]
speedups = ["Brotli", "aiodns", "cchardet"] speedups = ["Brotli", "aiodns", "cchardet"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "aiosignal" name = "aiosignal"
version = "1.3.1" version = "1.3.1"
@ -136,6 +146,11 @@ files = [
[package.dependencies] [package.dependencies]
frozenlist = ">=1.1.0" frozenlist = ">=1.1.0"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "aiosqlite" name = "aiosqlite"
version = "0.18.0" version = "0.18.0"
@ -148,6 +163,11 @@ files = [
{file = "aiosqlite-0.18.0.tar.gz", hash = "sha256:faa843ef5fb08bafe9a9b3859012d3d9d6f77ce3637899de20606b7fc39aa213"}, {file = "aiosqlite-0.18.0.tar.gz", hash = "sha256:faa843ef5fb08bafe9a9b3859012d3d9d6f77ce3637899de20606b7fc39aa213"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "anyio" name = "anyio"
version = "3.6.2" version = "3.6.2"
@ -169,6 +189,11 @@ doc = ["packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"]
test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"] test = ["contextlib2", "coverage[toml] (>=4.5)", "hypothesis (>=4.0)", "mock (>=4)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (<0.15)", "uvloop (>=0.15)"]
trio = ["trio (>=0.16,<0.22)"] trio = ["trio (>=0.16,<0.22)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "apscheduler" name = "apscheduler"
version = "3.10.1" version = "3.10.1"
@ -199,6 +224,11 @@ tornado = ["tornado (>=4.3)"]
twisted = ["twisted"] twisted = ["twisted"]
zookeeper = ["kazoo"] zookeeper = ["kazoo"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "async-timeout" name = "async-timeout"
version = "4.0.2" version = "4.0.2"
@ -211,6 +241,11 @@ files = [
{file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"}, {file = "async_timeout-4.0.2-py3-none-any.whl", hash = "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "attrs" name = "attrs"
version = "22.2.0" version = "22.2.0"
@ -230,6 +265,11 @@ docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-
tests = ["attrs[tests-no-zope]", "zope.interface"] tests = ["attrs[tests-no-zope]", "zope.interface"]
tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "backports-zoneinfo" name = "backports-zoneinfo"
version = "0.2.1" version = "0.2.1"
@ -259,6 +299,11 @@ files = [
[package.extras] [package.extras]
tzdata = ["tzdata"] tzdata = ["tzdata"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "bcrypt" name = "bcrypt"
version = "4.0.1" version = "4.0.1"
@ -294,16 +339,21 @@ files = [
tests = ["pytest (>=3.2.1,!=3.3.0)"] tests = ["pytest (>=3.2.1,!=3.3.0)"]
typecheck = ["mypy"] typecheck = ["mypy"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "beautifulsoup4" name = "beautifulsoup4"
version = "4.12.0" version = "4.11.2"
description = "Screen-scraping library" description = "Screen-scraping library"
category = "main" category = "main"
optional = false optional = false
python-versions = ">=3.6.0" python-versions = ">=3.6.0"
files = [ files = [
{file = "beautifulsoup4-4.12.0-py3-none-any.whl", hash = "sha256:2130a5ad7f513200fae61a17abb5e338ca980fa28c439c0571014bc0217e9591"}, {file = "beautifulsoup4-4.11.2-py3-none-any.whl", hash = "sha256:0e79446b10b3ecb499c1556f7e228a53e64a2bfcebd455f370d8927cb5b59e39"},
{file = "beautifulsoup4-4.12.0.tar.gz", hash = "sha256:c5fceeaec29d09c84970e47c65f2f0efe57872f7cff494c9691a26ec0ff13234"}, {file = "beautifulsoup4-4.11.2.tar.gz", hash = "sha256:bc4bdda6717de5a2987436fb8d72f45dc90dd856bdfd512a1314ce90349a0106"},
] ]
[package.dependencies] [package.dependencies]
@ -313,6 +363,11 @@ soupsieve = ">1.2"
html5lib = ["html5lib"] html5lib = ["html5lib"]
lxml = ["lxml"] lxml = ["lxml"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "black" name = "black"
version = "22.12.0" version = "22.12.0"
@ -349,6 +404,11 @@ d = ["aiohttp (>=3.7.4)"]
jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"]
uvloop = ["uvloop (>=0.15.2)"] uvloop = ["uvloop (>=0.15.2)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "certifi" name = "certifi"
version = "2022.12.7" version = "2022.12.7"
@ -361,6 +421,11 @@ files = [
{file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "cfgv" name = "cfgv"
version = "3.3.1" version = "3.3.1"
@ -373,6 +438,11 @@ files = [
{file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"}, {file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "charset-normalizer" name = "charset-normalizer"
version = "3.1.0" version = "3.1.0"
@ -458,6 +528,11 @@ files = [
{file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "click" name = "click"
version = "8.1.3" version = "8.1.3"
@ -473,6 +548,11 @@ files = [
[package.dependencies] [package.dependencies]
colorama = {version = "*", markers = "platform_system == \"Windows\""} colorama = {version = "*", markers = "platform_system == \"Windows\""}
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "colorama" name = "colorama"
version = "0.4.6" version = "0.4.6"
@ -485,6 +565,11 @@ files = [
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "distlib" name = "distlib"
version = "0.3.6" version = "0.3.6"
@ -497,6 +582,11 @@ files = [
{file = "distlib-0.3.6.tar.gz", hash = "sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46"}, {file = "distlib-0.3.6.tar.gz", hash = "sha256:14bad2d9b04d3a36127ac97f30b12a19268f211063d8f8ee4f47108896e11b46"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "dnspython" name = "dnspython"
version = "2.3.0" version = "2.3.0"
@ -518,6 +608,11 @@ idna = ["idna (>=2.1,<4.0)"]
trio = ["trio (>=0.14,<0.23)"] trio = ["trio (>=0.14,<0.23)"]
wmi = ["wmi (>=1.5.1,<2.0.0)"] wmi = ["wmi (>=1.5.1,<2.0.0)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "email-validator" name = "email-validator"
version = "1.3.1" version = "1.3.1"
@ -534,17 +629,10 @@ files = [
dnspython = ">=1.15.0" dnspython = ">=1.15.0"
idna = ">=2.0.0" idna = ">=2.0.0"
[[package]] [package.source]
name = "et-xmlfile" type = "legacy"
version = "1.1.0" url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
description = "An implementation of lxml.xmlfile for the standard library" reference = "mirrors"
category = "main"
optional = false
python-versions = ">=3.6"
files = [
{file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"},
{file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"},
]
[[package]] [[package]]
name = "fastapi" name = "fastapi"
@ -568,16 +656,21 @@ dev = ["pre-commit (>=2.17.0,<3.0.0)", "ruff (==0.0.138)", "uvicorn[standard] (>
doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pyyaml (>=5.3.1,<7.0.0)", "typer-cli (>=0.0.13,<0.0.14)", "typer[all] (>=0.6.1,<0.8.0)"] doc = ["mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-markdownextradata-plugin (>=0.1.7,<0.3.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pyyaml (>=5.3.1,<7.0.0)", "typer-cli (>=0.0.13,<0.0.14)", "typer[all] (>=0.6.1,<0.8.0)"]
test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==23.1.0)", "coverage[toml] (>=6.5.0,<8.0)", "databases[sqlite] (>=0.3.2,<0.7.0)", "email-validator (>=1.1.1,<2.0.0)", "flask (>=1.1.2,<3.0.0)", "httpx (>=0.23.0,<0.24.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.982)", "orjson (>=3.2.1,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "peewee (>=3.13.3,<4.0.0)", "pytest (>=7.1.3,<8.0.0)", "python-jose[cryptography] (>=3.3.0,<4.0.0)", "python-multipart (>=0.0.5,<0.0.7)", "pyyaml (>=5.3.1,<7.0.0)", "ruff (==0.0.138)", "sqlalchemy (>=1.3.18,<1.4.43)", "types-orjson (==3.6.2)", "types-ujson (==5.7.0.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)"] test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==23.1.0)", "coverage[toml] (>=6.5.0,<8.0)", "databases[sqlite] (>=0.3.2,<0.7.0)", "email-validator (>=1.1.1,<2.0.0)", "flask (>=1.1.2,<3.0.0)", "httpx (>=0.23.0,<0.24.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.982)", "orjson (>=3.2.1,<4.0.0)", "passlib[bcrypt] (>=1.7.2,<2.0.0)", "peewee (>=3.13.3,<4.0.0)", "pytest (>=7.1.3,<8.0.0)", "python-jose[cryptography] (>=3.3.0,<4.0.0)", "python-multipart (>=0.0.5,<0.0.7)", "pyyaml (>=5.3.1,<7.0.0)", "ruff (==0.0.138)", "sqlalchemy (>=1.3.18,<1.4.43)", "types-orjson (==3.6.2)", "types-ujson (==5.7.0.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0,<6.0.0)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "fastapi-amis-admin" name = "fastapi-amis-admin"
version = "0.5.2" version = "0.5.1"
description = "FastAPI-Amis-Admin is a high-performance, efficient and easily extensible FastAPI admin framework. Inspired by Django-admin, and has as many powerful functions as Django-admin. " description = "FastAPI-Amis-Admin is a high-performance, efficient and easily extensible FastAPI admin framework. Inspired by Django-admin, and has as many powerful functions as Django-admin."
category = "main" category = "main"
optional = false optional = false
python-versions = ">=3.7" python-versions = ">=3.7"
files = [ files = [
{file = "fastapi_amis_admin-0.5.2-py3-none-any.whl", hash = "sha256:d45a7389c2898a5a5e01c8eae080fe5051a20a4d3e26673b8a9ea5a388464a00"}, {file = "fastapi_amis_admin-0.5.1-py3-none-any.whl", hash = "sha256:7cb65e6389c8f132152fd185cb8832d63a2401689db92b2e0fc2cb9d8d22969c"},
{file = "fastapi_amis_admin-0.5.2.tar.gz", hash = "sha256:b17fa1e5f2f746f1fd5f937405bac07b941a2fca18a2ec6d8cc41756e5f7936b"}, {file = "fastapi_amis_admin-0.5.1.tar.gz", hash = "sha256:da4d11fc1f68bb48c817e02b477b5673e4d8e42dfec28e29eabd3937f2b35a36"},
] ]
[package.dependencies] [package.dependencies]
@ -594,6 +687,11 @@ dev = ["fastapi-amis-admin[test]", "pre-commit (>=2.20.0)"]
standard = ["fastapi-amis-admin-cli (>=0.1.0,<0.2.0)", "uvicorn[standard] (>=0.19.0,<1.0)"] standard = ["fastapi-amis-admin-cli (>=0.1.0,<0.2.0)", "uvicorn[standard] (>=0.19.0,<1.0)"]
test = ["aiosqlite (>=0.15.0)", "fastapi-amis-admin[standard]", "httpx (>=0.23.0,<1.0)", "jinja2 (>=2.11.2,<4.0.0)", "pytest (>=6.2.4,<7.0.0)", "pytest-asyncio (>=0.17)", "requests (>=2.28.1)", "ujson (>=4.0.1)"] test = ["aiosqlite (>=0.15.0)", "fastapi-amis-admin[standard]", "httpx (>=0.23.0,<1.0)", "jinja2 (>=2.11.2,<4.0.0)", "pytest (>=6.2.4,<7.0.0)", "pytest-asyncio (>=0.17)", "requests (>=2.28.1)", "ujson (>=4.0.1)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "fastapi-user-auth" name = "fastapi-user-auth"
version = "0.5.0" version = "0.5.0"
@ -621,6 +719,11 @@ jwt = ["python-jose (==3.3.0)"]
redis = ["aioredis"] redis = ["aioredis"]
test = ["aiosqlite (>=0.15.0)", "jinja2 (>=2.11.2,<4.0.0)", "pytest (>=6.2.4)", "pytest-asyncio (>=0.17)", "python-jose (==3.3.0)", "requests (>=2.28.1)", "ujson (>=5.5.0)", "uvicorn[standard] (>=0.19.0,<1.0)"] test = ["aiosqlite (>=0.15.0)", "jinja2 (>=2.11.2,<4.0.0)", "pytest (>=6.2.4)", "pytest-asyncio (>=0.17)", "python-jose (==3.3.0)", "requests (>=2.28.1)", "ujson (>=5.5.0)", "uvicorn[standard] (>=0.19.0,<1.0)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "filelock" name = "filelock"
version = "3.10.0" version = "3.10.0"
@ -637,6 +740,11 @@ files = [
docs = ["furo (>=2022.12.7)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] docs = ["furo (>=2022.12.7)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"]
testing = ["covdefaults (>=2.3)", "coverage (>=7.2.1)", "pytest (>=7.2.2)", "pytest-cov (>=4)", "pytest-timeout (>=2.1)"] testing = ["covdefaults (>=2.3)", "coverage (>=7.2.1)", "pytest (>=7.2.2)", "pytest-cov (>=4)", "pytest-timeout (>=2.1)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "flake8" name = "flake8"
version = "6.0.0" version = "6.0.0"
@ -654,6 +762,11 @@ mccabe = ">=0.7.0,<0.8.0"
pycodestyle = ">=2.10.0,<2.11.0" pycodestyle = ">=2.10.0,<2.11.0"
pyflakes = ">=3.0.0,<3.1.0" pyflakes = ">=3.0.0,<3.1.0"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "frozenlist" name = "frozenlist"
version = "1.3.3" version = "1.3.3"
@ -738,6 +851,11 @@ files = [
{file = "frozenlist-1.3.3.tar.gz", hash = "sha256:58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"}, {file = "frozenlist-1.3.3.tar.gz", hash = "sha256:58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "gitdb" name = "gitdb"
version = "4.0.10" version = "4.0.10"
@ -753,6 +871,11 @@ files = [
[package.dependencies] [package.dependencies]
smmap = ">=3.0.1,<6" smmap = ">=3.0.1,<6"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "gitpython" name = "gitpython"
version = "3.1.31" version = "3.1.31"
@ -768,6 +891,11 @@ files = [
[package.dependencies] [package.dependencies]
gitdb = ">=4.0.1,<5" gitdb = ">=4.0.1,<5"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "greenlet" name = "greenlet"
version = "2.0.2" version = "2.0.2"
@ -842,6 +970,11 @@ files = [
docs = ["Sphinx", "docutils (<0.18)"] docs = ["Sphinx", "docutils (<0.18)"]
test = ["objgraph", "psutil"] test = ["objgraph", "psutil"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "h11" name = "h11"
version = "0.14.0" version = "0.14.0"
@ -854,6 +987,11 @@ files = [
{file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "httpcore" name = "httpcore"
version = "0.16.3" version = "0.16.3"
@ -876,6 +1014,11 @@ sniffio = ">=1.0.0,<2.0.0"
http2 = ["h2 (>=3,<5)"] http2 = ["h2 (>=3,<5)"]
socks = ["socksio (>=1.0.0,<2.0.0)"] socks = ["socksio (>=1.0.0,<2.0.0)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "httpx" name = "httpx"
version = "0.23.3" version = "0.23.3"
@ -900,6 +1043,11 @@ cli = ["click (>=8.0.0,<9.0.0)", "pygments (>=2.0.0,<3.0.0)", "rich (>=10,<13)"]
http2 = ["h2 (>=3,<5)"] http2 = ["h2 (>=3,<5)"]
socks = ["socksio (>=1.0.0,<2.0.0)"] socks = ["socksio (>=1.0.0,<2.0.0)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "identify" name = "identify"
version = "2.5.21" version = "2.5.21"
@ -915,6 +1063,11 @@ files = [
[package.extras] [package.extras]
license = ["ukkonen"] license = ["ukkonen"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "idna" name = "idna"
version = "3.4" version = "3.4"
@ -927,6 +1080,11 @@ files = [
{file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "isort" name = "isort"
version = "5.12.0" version = "5.12.0"
@ -945,6 +1103,11 @@ pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"
plugins = ["setuptools"] plugins = ["setuptools"]
requirements-deprecated-finder = ["pip-api", "pipreqs"] requirements-deprecated-finder = ["pip-api", "pipreqs"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "libcst" name = "libcst"
version = "0.4.9" version = "0.4.9"
@ -993,6 +1156,11 @@ typing-inspect = ">=0.4.0"
[package.extras] [package.extras]
dev = ["Sphinx (>=5.1.1)", "black (==22.10.0)", "coverage (>=4.5.4)", "fixit (==0.1.1)", "flake8 (>=3.7.8,<5)", "hypothesis (>=4.36.0)", "hypothesmith (>=0.0.4)", "jinja2 (==3.1.2)", "jupyter (>=1.0.0)", "maturin (>=0.8.3,<0.14)", "nbsphinx (>=0.4.2)", "prompt-toolkit (>=2.0.9)", "pyre-check (==0.9.9)", "setuptools-rust (>=1.5.2)", "setuptools-scm (>=6.0.1)", "slotscheck (>=0.7.1)", "sphinx-rtd-theme (>=0.4.3)", "ufmt (==2.0.1)", "usort (==1.0.5)"] dev = ["Sphinx (>=5.1.1)", "black (==22.10.0)", "coverage (>=4.5.4)", "fixit (==0.1.1)", "flake8 (>=3.7.8,<5)", "hypothesis (>=4.36.0)", "hypothesmith (>=0.0.4)", "jinja2 (==3.1.2)", "jupyter (>=1.0.0)", "maturin (>=0.8.3,<0.14)", "nbsphinx (>=0.4.2)", "prompt-toolkit (>=2.0.9)", "pyre-check (==0.9.9)", "setuptools-rust (>=1.5.2)", "setuptools-scm (>=6.0.1)", "slotscheck (>=0.7.1)", "sphinx-rtd-theme (>=0.4.3)", "ufmt (==2.0.1)", "usort (==1.0.5)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "lxml" name = "lxml"
version = "4.9.2" version = "4.9.2"
@ -1086,6 +1254,11 @@ html5 = ["html5lib"]
htmlsoup = ["BeautifulSoup4"] htmlsoup = ["BeautifulSoup4"]
source = ["Cython (>=0.29.7)"] source = ["Cython (>=0.29.7)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "mccabe" name = "mccabe"
version = "0.7.0" version = "0.7.0"
@ -1098,6 +1271,11 @@ files = [
{file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "msgspec" name = "msgspec"
version = "0.13.1" version = "0.13.1"
@ -1144,6 +1322,11 @@ test = ["msgpack", "mypy", "pyright", "pytest", "pyyaml", "tomli", "tomli-w"]
toml = ["tomli", "tomli-w"] toml = ["tomli", "tomli-w"]
yaml = ["pyyaml"] yaml = ["pyyaml"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "multidict" name = "multidict"
version = "6.0.4" version = "6.0.4"
@ -1228,6 +1411,11 @@ files = [
{file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "mypy-extensions" name = "mypy-extensions"
version = "1.0.0" version = "1.0.0"
@ -1240,6 +1428,11 @@ files = [
{file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "nodeenv" name = "nodeenv"
version = "1.7.0" version = "1.7.0"
@ -1255,20 +1448,10 @@ files = [
[package.dependencies] [package.dependencies]
setuptools = "*" setuptools = "*"
[[package]] [package.source]
name = "openpyxl" type = "legacy"
version = "3.1.2" url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
description = "A Python library to read/write Excel 2010 xlsx/xlsm files" reference = "mirrors"
category = "main"
optional = false
python-versions = ">=3.6"
files = [
{file = "openpyxl-3.1.2-py2.py3-none-any.whl", hash = "sha256:f91456ead12ab3c6c2e9491cf33ba6d08357d802192379bb482f1033ade496f5"},
{file = "openpyxl-3.1.2.tar.gz", hash = "sha256:a6f5977418eff3b2d5500d54d9db50c8277a368436f4e4f8ddb1be3422870184"},
]
[package.dependencies]
et-xmlfile = "*"
[[package]] [[package]]
name = "passlib" name = "passlib"
@ -1288,6 +1471,11 @@ bcrypt = ["bcrypt (>=3.1.0)"]
build-docs = ["cloud-sptheme (>=1.10.1)", "sphinx (>=1.6)", "sphinxcontrib-fulltoc (>=1.2.0)"] build-docs = ["cloud-sptheme (>=1.10.1)", "sphinx (>=1.6)", "sphinxcontrib-fulltoc (>=1.2.0)"]
totp = ["cryptography"] totp = ["cryptography"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pathspec" name = "pathspec"
version = "0.10.3" version = "0.10.3"
@ -1300,6 +1488,11 @@ files = [
{file = "pathspec-0.10.3.tar.gz", hash = "sha256:56200de4077d9d0791465aa9095a01d421861e405b5096955051deefd697d6f6"}, {file = "pathspec-0.10.3.tar.gz", hash = "sha256:56200de4077d9d0791465aa9095a01d421861e405b5096955051deefd697d6f6"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pillow" name = "pillow"
version = "9.4.0" version = "9.4.0"
@ -1391,6 +1584,11 @@ files = [
docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-issues (>=3.0.1)", "sphinx-removed-in", "sphinxext-opengraph"] docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-issues (>=3.0.1)", "sphinx-removed-in", "sphinxext-opengraph"]
tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "platformdirs" name = "platformdirs"
version = "3.1.1" version = "3.1.1"
@ -1407,6 +1605,11 @@ files = [
docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"] docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-autodoc-typehints (>=1.22,!=1.23.4)"]
test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"] test = ["appdirs (==1.4.4)", "covdefaults (>=2.2.2)", "pytest (>=7.2.1)", "pytest-cov (>=4)", "pytest-mock (>=3.10)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pre-commit" name = "pre-commit"
version = "2.21.0" version = "2.21.0"
@ -1426,6 +1629,11 @@ nodeenv = ">=0.11.1"
pyyaml = ">=5.1" pyyaml = ">=5.1"
virtualenv = ">=20.10.0" virtualenv = ">=20.10.0"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pycln" name = "pycln"
version = "2.1.3" version = "2.1.3"
@ -1445,6 +1653,11 @@ pyyaml = ">=5.3.1,<7.0.0"
tomlkit = ">=0.11.1,<0.12.0" tomlkit = ">=0.11.1,<0.12.0"
typer = ">=0.4.1,<0.8.0" typer = ">=0.4.1,<0.8.0"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pycodestyle" name = "pycodestyle"
version = "2.10.0" version = "2.10.0"
@ -1457,6 +1670,11 @@ files = [
{file = "pycodestyle-2.10.0.tar.gz", hash = "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"}, {file = "pycodestyle-2.10.0.tar.gz", hash = "sha256:347187bdb476329d98f695c213d7295a846d1152ff4fe9bacb8a9590b8ee7053"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pydantic" name = "pydantic"
version = "1.10.6" version = "1.10.6"
@ -1510,6 +1728,11 @@ typing-extensions = ">=4.2.0"
dotenv = ["python-dotenv (>=0.10.4)"] dotenv = ["python-dotenv (>=0.10.4)"]
email = ["email-validator (>=1.0.3)"] email = ["email-validator (>=1.0.3)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pyflakes" name = "pyflakes"
version = "3.0.1" version = "3.0.1"
@ -1522,6 +1745,11 @@ files = [
{file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"}, {file = "pyflakes-3.0.1.tar.gz", hash = "sha256:ec8b276a6b60bd80defed25add7e439881c19e64850afd9b346283d4165fd0fd"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pypng" name = "pypng"
version = "0.20220715.0" version = "0.20220715.0"
@ -1534,6 +1762,11 @@ files = [
{file = "pypng-0.20220715.0.tar.gz", hash = "sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1"}, {file = "pypng-0.20220715.0.tar.gz", hash = "sha256:739c433ba96f078315de54c0db975aee537cbc3e1d0ae4ed9aab0ca1e427e2c1"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "python-multipart" name = "python-multipart"
version = "0.0.6" version = "0.0.6"
@ -1549,6 +1782,11 @@ files = [
[package.extras] [package.extras]
dev = ["atomicwrites (==1.2.1)", "attrs (==19.2.0)", "coverage (==6.5.0)", "hatch", "invoke (==1.7.3)", "more-itertools (==4.3.0)", "pbr (==4.3.0)", "pluggy (==1.0.0)", "py (==1.11.0)", "pytest (==7.2.0)", "pytest-cov (==4.0.0)", "pytest-timeout (==2.1.0)", "pyyaml (==5.1)"] dev = ["atomicwrites (==1.2.1)", "attrs (==19.2.0)", "coverage (==6.5.0)", "hatch", "invoke (==1.7.3)", "more-itertools (==4.3.0)", "pbr (==4.3.0)", "pluggy (==1.0.0)", "py (==1.11.0)", "pytest (==7.2.0)", "pytest-cov (==4.0.0)", "pytest-timeout (==2.1.0)", "pyyaml (==5.1)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pytz" name = "pytz"
version = "2022.7.1" version = "2022.7.1"
@ -1561,6 +1799,11 @@ files = [
{file = "pytz-2022.7.1.tar.gz", hash = "sha256:01a0681c4b9684a28304615eba55d1ab31ae00bf68ec157ec3708a8182dbbcd0"}, {file = "pytz-2022.7.1.tar.gz", hash = "sha256:01a0681c4b9684a28304615eba55d1ab31ae00bf68ec157ec3708a8182dbbcd0"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pytz-deprecation-shim" name = "pytz-deprecation-shim"
version = "0.1.0.post0" version = "0.1.0.post0"
@ -1577,6 +1820,11 @@ files = [
"backports.zoneinfo" = {version = "*", markers = "python_version >= \"3.6\" and python_version < \"3.9\""} "backports.zoneinfo" = {version = "*", markers = "python_version >= \"3.6\" and python_version < \"3.9\""}
tzdata = {version = "*", markers = "python_version >= \"3.6\""} tzdata = {version = "*", markers = "python_version >= \"3.6\""}
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "pyyaml" name = "pyyaml"
version = "6.0" version = "6.0"
@ -1627,6 +1875,11 @@ files = [
{file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "qrcode" name = "qrcode"
version = "7.4.2" version = "7.4.2"
@ -1652,6 +1905,11 @@ maintainer = ["zest.releaser[recommended]"]
pil = ["pillow (>=9.1.0)"] pil = ["pillow (>=9.1.0)"]
test = ["coverage", "pytest"] test = ["coverage", "pytest"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "requests" name = "requests"
version = "2.28.2" version = "2.28.2"
@ -1674,6 +1932,11 @@ urllib3 = ">=1.21.1,<1.27"
socks = ["PySocks (>=1.5.6,!=1.5.7)"] socks = ["PySocks (>=1.5.6,!=1.5.7)"]
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "rfc3986" name = "rfc3986"
version = "1.5.0" version = "1.5.0"
@ -1692,6 +1955,11 @@ idna = {version = "*", optional = true, markers = "extra == \"idna2008\""}
[package.extras] [package.extras]
idna2008 = ["idna"] idna2008 = ["idna"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "rollbar" name = "rollbar"
version = "0.16.3" version = "0.16.3"
@ -1708,6 +1976,11 @@ files = [
requests = {version = ">=0.12.1", markers = "python_version >= \"3.6\""} requests = {version = ">=0.12.1", markers = "python_version >= \"3.6\""}
six = ">=1.9.0" six = ">=1.9.0"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "setuptools" name = "setuptools"
version = "67.6.0" version = "67.6.0"
@ -1725,6 +1998,11 @@ docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-g
testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"]
testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "six" name = "six"
version = "1.16.0" version = "1.16.0"
@ -1737,6 +2015,11 @@ files = [
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "smmap" name = "smmap"
version = "5.0.0" version = "5.0.0"
@ -1749,6 +2032,11 @@ files = [
{file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "sniffio" name = "sniffio"
version = "1.3.0" version = "1.3.0"
@ -1761,6 +2049,11 @@ files = [
{file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "soupsieve" name = "soupsieve"
version = "2.4" version = "2.4"
@ -1773,6 +2066,11 @@ files = [
{file = "soupsieve-2.4.tar.gz", hash = "sha256:e28dba9ca6c7c00173e34e4ba57448f0688bb681b7c5e8bf4971daafc093d69a"}, {file = "soupsieve-2.4.tar.gz", hash = "sha256:e28dba9ca6c7c00173e34e4ba57448f0688bb681b7c5e8bf4971daafc093d69a"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "sqlalchemy" name = "sqlalchemy"
version = "1.4.41" version = "1.4.41"
@ -1848,6 +2146,11 @@ postgresql-psycopg2cffi = ["psycopg2cffi"]
pymysql = ["pymysql", "pymysql (<1)"] pymysql = ["pymysql", "pymysql (<1)"]
sqlcipher = ["sqlcipher3-binary"] sqlcipher = ["sqlcipher3-binary"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "sqlalchemy-database" name = "sqlalchemy-database"
version = "0.1.0" version = "0.1.0"
@ -1868,6 +2171,11 @@ sqlalchemy2-stubs = ">=0.0.2a29"
docs = ["mkdocs-material (>=8.3.8)", "mkdocstrings[python] (>=0.19.0)"] docs = ["mkdocs-material (>=8.3.8)", "mkdocstrings[python] (>=0.19.0)"]
test = ["aiosqlite", "fastapi", "httpx", "pytest (>=6.2.4,<7.0.0)", "pytest-asyncio (>=0.17)", "pytest-cov", "sqlmodel"] test = ["aiosqlite", "fastapi", "httpx", "pytest (>=6.2.4,<7.0.0)", "pytest-asyncio (>=0.17)", "pytest-cov", "sqlmodel"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "sqlalchemy2-stubs" name = "sqlalchemy2-stubs"
version = "0.0.2a32" version = "0.0.2a32"
@ -1883,6 +2191,11 @@ files = [
[package.dependencies] [package.dependencies]
typing-extensions = ">=3.7.4" typing-extensions = ">=3.7.4"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "sqlmodel" name = "sqlmodel"
version = "0.0.8" version = "0.0.8"
@ -1900,6 +2213,11 @@ pydantic = ">=1.8.2,<2.0.0"
SQLAlchemy = ">=1.4.17,<=1.4.41" SQLAlchemy = ">=1.4.17,<=1.4.41"
sqlalchemy2-stubs = "*" sqlalchemy2-stubs = "*"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "sqlmodelx" name = "sqlmodelx"
version = "0.0.4" version = "0.0.4"
@ -1918,6 +2236,11 @@ sqlmodel = ">=0.0.7"
[package.extras] [package.extras]
test = ["pytest (>=7.1.3)"] test = ["pytest (>=7.1.3)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "starlette" name = "starlette"
version = "0.26.1" version = "0.26.1"
@ -1937,6 +2260,11 @@ typing-extensions = {version = ">=3.10.0", markers = "python_version < \"3.10\""
[package.extras] [package.extras]
full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyaml"] full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart", "pyyaml"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "tomli" name = "tomli"
version = "2.0.1" version = "2.0.1"
@ -1949,6 +2277,11 @@ files = [
{file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "tomlkit" name = "tomlkit"
version = "0.11.6" version = "0.11.6"
@ -1961,6 +2294,11 @@ files = [
{file = "tomlkit-0.11.6.tar.gz", hash = "sha256:71b952e5721688937fb02cf9d354dbcf0785066149d2855e44531ebdd2b65d73"}, {file = "tomlkit-0.11.6.tar.gz", hash = "sha256:71b952e5721688937fb02cf9d354dbcf0785066149d2855e44531ebdd2b65d73"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "typer" name = "typer"
version = "0.7.0" version = "0.7.0"
@ -1982,6 +2320,11 @@ dev = ["autoflake (>=1.3.1,<2.0.0)", "flake8 (>=3.8.3,<4.0.0)", "pre-commit (>=2
doc = ["cairosvg (>=2.5.2,<3.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pillow (>=9.3.0,<10.0.0)"] doc = ["cairosvg (>=2.5.2,<3.0.0)", "mdx-include (>=1.4.1,<2.0.0)", "mkdocs (>=1.1.2,<2.0.0)", "mkdocs-material (>=8.1.4,<9.0.0)", "pillow (>=9.3.0,<10.0.0)"]
test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.910)", "pytest (>=4.4.0,<8.0.0)", "pytest-cov (>=2.10.0,<5.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<4.0.0)", "rich (>=10.11.0,<13.0.0)", "shellingham (>=1.3.0,<2.0.0)"] test = ["black (>=22.3.0,<23.0.0)", "coverage (>=6.2,<7.0)", "isort (>=5.0.6,<6.0.0)", "mypy (==0.910)", "pytest (>=4.4.0,<8.0.0)", "pytest-cov (>=2.10.0,<5.0.0)", "pytest-sugar (>=0.9.4,<0.10.0)", "pytest-xdist (>=1.32.0,<4.0.0)", "rich (>=10.11.0,<13.0.0)", "shellingham (>=1.3.0,<2.0.0)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "typing-extensions" name = "typing-extensions"
version = "4.5.0" version = "4.5.0"
@ -1994,6 +2337,11 @@ files = [
{file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "typing-inspect" name = "typing-inspect"
version = "0.8.0" version = "0.8.0"
@ -2010,6 +2358,11 @@ files = [
mypy-extensions = ">=0.3.0" mypy-extensions = ">=0.3.0"
typing-extensions = ">=3.7.4" typing-extensions = ">=3.7.4"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "tzdata" name = "tzdata"
version = "2022.7" version = "2022.7"
@ -2022,6 +2375,11 @@ files = [
{file = "tzdata-2022.7.tar.gz", hash = "sha256:fe5f866eddd8b96e9fcba978f8e503c909b19ea7efda11e52e39494bad3a7bfa"}, {file = "tzdata-2022.7.tar.gz", hash = "sha256:fe5f866eddd8b96e9fcba978f8e503c909b19ea7efda11e52e39494bad3a7bfa"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "tzlocal" name = "tzlocal"
version = "4.3" version = "4.3"
@ -2042,6 +2400,11 @@ tzdata = {version = "*", markers = "platform_system == \"Windows\""}
[package.extras] [package.extras]
devenv = ["black", "check-manifest", "flake8", "pyroma", "pytest (>=4.3)", "pytest-cov", "pytest-mock (>=3.3)", "zest.releaser"] devenv = ["black", "check-manifest", "flake8", "pyroma", "pytest (>=4.3)", "pytest-cov", "pytest-mock (>=3.3)", "zest.releaser"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "urllib3" name = "urllib3"
version = "1.26.15" version = "1.26.15"
@ -2059,6 +2422,11 @@ brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "uvicorn" name = "uvicorn"
version = "0.21.1" version = "0.21.1"
@ -2078,6 +2446,11 @@ h11 = ">=0.8"
[package.extras] [package.extras]
standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "virtualenv" name = "virtualenv"
version = "20.21.0" version = "20.21.0"
@ -2099,6 +2472,11 @@ platformdirs = ">=2.4,<4"
docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"] docs = ["furo (>=2022.12.7)", "proselint (>=0.13)", "sphinx (>=6.1.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=22.12)"]
test = ["covdefaults (>=2.2.2)", "coverage (>=7.1)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23)", "pytest (>=7.2.1)", "pytest-env (>=0.8.1)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)"] test = ["covdefaults (>=2.2.2)", "coverage (>=7.1)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23)", "pytest (>=7.2.1)", "pytest-env (>=0.8.1)", "pytest-freezegun (>=0.4.2)", "pytest-mock (>=3.10)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)"]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "websockets" name = "websockets"
version = "10.4" version = "10.4"
@ -2178,6 +2556,11 @@ files = [
{file = "websockets-10.4.tar.gz", hash = "sha256:eef610b23933c54d5d921c92578ae5f89813438fded840c2e9809d378dc765d3"}, {file = "websockets-10.4.tar.gz", hash = "sha256:eef610b23933c54d5d921c92578ae5f89813438fded840c2e9809d378dc765d3"},
] ]
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[[package]] [[package]]
name = "yarl" name = "yarl"
version = "1.8.2" version = "1.8.2"
@ -2266,7 +2649,12 @@ files = [
idna = ">=2.0" idna = ">=2.0"
multidict = ">=4.0" multidict = ">=4.0"
[package.source]
type = "legacy"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple"
reference = "mirrors"
[metadata] [metadata]
lock-version = "2.0" lock-version = "2.0"
python-versions = "^3.8.1" python-versions = "^3.8.1"
content-hash = "be4fc4bbfe9d756588e450414185427056988499f9d901d96d9245075cd8ac00" content-hash = "d2662d3afa13a7c407eb0ec5f13aa02b5fcfb09296446e52a469eeb86cd75c8f"

View File

@ -17,7 +17,6 @@ python = "^3.8.1"
httpx = ">=0.23.0" httpx = ">=0.23.0"
beautifulsoup4 = ">=4.11.1" beautifulsoup4 = ">=4.11.1"
lxml = ">=4.9.2" lxml = ">=4.9.2"
openpyxl = ">=3.0.10"
aiohttp = ">=3.8.1" aiohttp = ">=3.8.1"
apscheduler = "^3.7.0" apscheduler = "^3.7.0"
sqlalchemy = ">=1.4.39,<2.0.0" sqlalchemy = ">=1.4.39,<2.0.0"
@ -41,6 +40,13 @@ isort = "^5.11.4"
pre-commit = "^2.21.0" pre-commit = "^2.21.0"
pycln = "^2.1.2" pycln = "^2.1.2"
[[tool.poetry.source]]
name = "mirrors"
url = "https://mirrors.bfsu.edu.cn/pypi/web/simple/"
default = true
secondary = false
[build-system] [build-system]
requires = ["poetry-core"] requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api" build-backend = "poetry.core.masonry.api"

View File

@ -1,3 +1,5 @@
--index-url https://mirrors.bfsu.edu.cn/pypi/web/simple
aiofiles==23.1.0 ; python_full_version >= "3.8.1" and python_version < "4.0" aiofiles==23.1.0 ; python_full_version >= "3.8.1" and python_version < "4.0"
aiohttp==3.8.4 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" aiohttp==3.8.4 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
aiosignal==1.3.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" aiosignal==1.3.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
@ -8,15 +10,14 @@ async-timeout==4.0.2 ; python_full_version >= "3.8.1" and python_full_version <
attrs==22.2.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" attrs==22.2.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
backports-zoneinfo==0.2.1 ; python_full_version >= "3.8.1" and python_version < "3.9" backports-zoneinfo==0.2.1 ; python_full_version >= "3.8.1" and python_version < "3.9"
bcrypt==4.0.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" bcrypt==4.0.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
beautifulsoup4==4.12.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" beautifulsoup4==4.11.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
certifi==2022.12.7 ; python_full_version >= "3.8.1" and python_version < "4" certifi==2022.12.7 ; python_full_version >= "3.8.1" and python_version < "4"
charset-normalizer==3.1.0 ; python_full_version >= "3.8.1" and python_version < "4" charset-normalizer==3.1.0 ; python_full_version >= "3.8.1" and python_version < "4"
click==8.1.3 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" click==8.1.3 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
colorama==0.4.6 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" and platform_system == "Windows" colorama==0.4.6 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" and platform_system == "Windows"
dnspython==2.3.0 ; python_full_version >= "3.8.1" and python_version < "4.0" dnspython==2.3.0 ; python_full_version >= "3.8.1" and python_version < "4.0"
email-validator==1.3.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" email-validator==1.3.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
et-xmlfile==1.1.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" fastapi-amis-admin==0.5.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
fastapi-amis-admin==0.5.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
fastapi-user-auth==0.5.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" fastapi-user-auth==0.5.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
fastapi==0.95.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" fastapi==0.95.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
frozenlist==1.3.3 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" frozenlist==1.3.3 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
@ -30,7 +31,6 @@ idna==3.4 ; python_full_version >= "3.8.1" and python_version < "4"
lxml==4.9.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" lxml==4.9.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
msgspec==0.13.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" msgspec==0.13.1 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
multidict==6.0.4 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" multidict==6.0.4 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
openpyxl==3.1.2 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
passlib==1.7.4 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" passlib==1.7.4 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
pillow==9.4.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" pillow==9.4.0 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"
pydantic==1.10.6 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0" pydantic==1.10.6 ; python_full_version >= "3.8.1" and python_full_version < "4.0.0"