From 424e942f1aad559a6afb21111418b28b4091fcdd Mon Sep 17 00:00:00 2001 From: muzing Date: Fri, 17 Nov 2023 22:17:50 +0800 Subject: [PATCH] Usual update --- .pre-commit-config.yaml | 22 ++ README.md | 22 +- Resources/Images/muzing-WeChat-Collection.png | Bin 0 -> 39558 bytes poetry.lock | 259 +++++++++--------- pyproject.toml | 8 +- 5 files changed, 169 insertions(+), 142 deletions(-) create mode 100644 .pre-commit-config.yaml create mode 100644 Resources/Images/muzing-WeChat-Collection.png diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..b5dd06f --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,22 @@ +fail_fast: false + +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.5.0 + hooks: + - id: check-toml + - id: check-yaml + - id: trailing-whitespace + - id: end-of-file-fixer + +- repo: https://github.com/psf/black + rev: 23.10.1 + hooks: + - id: black + args: [--config, "./pyproject.toml"] + +- repo: https://github.com/pycqa/isort + rev: 5.12.0 + hooks: + - id: isort + args: [--settings-path, "./pyproject.toml"] diff --git a/README.md b/README.md index 8ebf439..a955eba 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,10 @@ ![GitHub Repo stars](https://img.shields.io/github/stars/muziing/PySide6-Code-Tutorial) ![License](https://img.shields.io/github/license/muziing/PySide6-Code-Tutorial) ![GitHub Last Commit](https://img.shields.io/github/last-commit/muziing/PySide6-Code-Tutorial) -[![PySide Version](https://img.shields.io/badge/PySide-6.5-blue)](https://doc.qt.io/qtforpython/index.html) +[![PySide Version](https://img.shields.io/badge/PySide-6.6-blue)](https://doc.qt.io/qtforpython/index.html) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/) -[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/) +[![Checked with mypy](https://www.mypy-lang.org/static/mypy_badge.svg)](https://mypy-lang.org/) ## 简介 @@ -21,7 +21,7 @@ - 在自己的机器上实际运行一下,仔细观察一下每个属性值的改变会怎样影响控件的外观行为,可能比静态的文档教程更有效 - 前身为 GitHub 热度最高的中文 PyQt5 教程 [PyQt-Practice](https://github.com/muziing/PyQt_practice),目前已有 ![PyQt-Practice Stars](https://img.shields.io/github/stars/muziing/PyQt_practice.svg) 个 Stars - 相比 [PyQt-Practice](https://github.com/muziing/PyQt_practice),改进了项目目录结构,增加了部分内容,更加清晰丰富 -- 使用最新的 Python 与 PySide 版本(目前为`3.11`与`6.5`) +- 使用最新的 Python 与 PySide 版本(目前为`3.11`与`6.6`) 希望本项目对你我的 Python-GUI 学习之旅有所帮助。 @@ -35,9 +35,9 @@ 1. Star 本仓库 2. 通过以下方法之一获取源码 - - 克隆仓库(推荐):`git clone https://github.com/muziing/PySide6-Code-Tutorial.git` - - 下载 zip: - - 查看 [Releases](https://github.com/muziing/PySide6-Code-Tutorial/releases) 界面,下载最新发布版(文件更小) + - 克隆仓库(推荐):`git clone https://github.com/muziing/PySide6-Code-Tutorial.git` + - 下载 zip: + - 查看 [Releases](https://github.com/muziing/PySide6-Code-Tutorial/releases) 界面,下载最新发布版(文件更小) 3. 进入项目目录 ### 二、配置虚拟环境与安装依赖 @@ -56,11 +56,11 @@ 1. 确保 Python 版本与 [pyproject.toml](./pyproject.toml) 中要求的一致 2. 创建虚拟环境 - - Windows: `python -m venv --upgrade-deps venv` - - Linux/macOS: `python3 -m venv --upgrade-deps venv` + - Windows: `python -m venv --upgrade-deps venv` + - Linux/macOS: `python3 -m venv --upgrade-deps venv` 3. 激活虚拟环境 - - Windows: `venv\Scripts\activate` - - Linux/macOS: `. venv/bin/activate` + - Windows: `venv\Scripts\activate` + - Linux/macOS: `. venv/bin/activate` 4. 安装依赖:`pip install -r requirements.txt` **方式 C** :其他包管理工具 @@ -142,4 +142,4 @@ PySide6 Code Tutorial 是一个开源项目,非常期待以及感谢你的参 本项目的[主要作者/维护者](https://muzing.top/about/)是一名还没有收入的在校学生,如果本项目对你有帮助,希望可以请他喝一杯冰可乐 :beer:。 -![微信收款码](./Resources/Images/muzing-WeChat-Collection-QRCode.png) +![微信收款码](./Resources/Images/muzing-WeChat-Collection.png) diff --git a/Resources/Images/muzing-WeChat-Collection.png b/Resources/Images/muzing-WeChat-Collection.png new file mode 100644 index 0000000000000000000000000000000000000000..4f9f8dec09348f676ad5be62f02b951bc03ffae7 GIT binary patch literal 39558 zcmeFZWmH_vvoAd85HtjL5;Rx{E`v;PclY2fgIn+roCy*J7~BRY_ymFlcXxMp2t+Q= zIqzBLe7Ntr>woU~cx$iS`?tEQt9t8HS5?p7`M>Lc=ZdllvH%nm008A_1N_}YWmS-p zGE>)7lT}cb`L_mCa=;Uza{~a*E}kBma_{K%4Gii3srwJIu!Ok%2maq2pXA=o{v#a# znBx53wEv%~o>^H#ET5RppLS1=C*@CrwR*zDw*QWO|H1G79moBHJ+w8Yo_KPfFsto< z!SDYI_VIM{eB$Z zKT7|3Jzetw0HGTI04?c1>)vMo08Nnq0Qus7)-mP+00a>LK;xL3g@?tz4F>(GM76O2 z04_@a06YT#fM^^5z&84if&ORT|GXFfKj%vS)Q9@%JYAnQTYwY58bA+F0Js1w0bEar z2fz(@3lR9b1dsw?qGMoUpkrcUU;=@dSlG|8v7bG|CdMbgeNIM9PEJNlN=iw?L`O-* zKuthU%Y&aMFiHcAb#Z@%JVKcua<;Cvy+sJS5U|U;t5UpIzi6JC!nRR`~GvC zl#X6lMEB$dzh!uS*OYW>!TFPD$|q4z;{J_q(rj~o{`NiKw04~~74?;9TfCQj{H990Z8teZR|L+?7Up)t{ zFDr`SdOz@_dF00mXF)I4qV-R#4$}@qk);aG>P1Pta_YW{xk#PzQ^Np=^GtO`W|U$c zi6mrzz%c<|J?Mo@FUuze$E9H*R5C`oL=Y!SzqM9uiCvHm{P4gsAK|1D5QMMzHM?EM!DydH#KSvg7jJip2mqr@8u5G3{eEu7`oQhrpJ15I+A-# zfGmEoOtJEtB+cm2SU06Twr#$ovC2|$cl4Dyckclr*7Q_pIEb|;rY5DRxn+e6sHmdq z{V|q9npHU5dJmWbEaSfoWx1j5mXkS+7--2U+1F@ji@y}N&3Ze}g_Z<71KXIx*`j+= zF6;EiuVwe!h@ak<1`9>NnKQA;R`_jC2ag7WF2BM!lcwmu)Q)3}H6%yE&+G z{2Ab0SpoUwzPN^tFoI|^!8_d{=CtL^5gbE(dIV(i&ud|OGx=1j6ZWs^D_RKp_JbI^ zLlX|?7~lJDW2|kOu?h5z2A|zSlkasVR0*%kGJ8Q;m{>-J{13&hZOTvBVYkP1UQ_x`i!rb~VOaM52)?%ubb{_{TRy(*@fjMSt0kp-d&)lg9wITX}%MYw(m`BO{B zM+$j=XMxO6Fj*bP7HQ=Xg3Y<}cU-?zj3GQO%3mqIe%_+fV_@Pbc7RXaEnfQD!9`M9 z8eRH-qQJmAT=@%_@^>^6Rh`z-QQR*iR8t>z>plCJK-{0lX|Ztlqs*&*G0NevG~lQ7 zl-5^jE}ujR++3LbuC)vZBJEp{oHrtFUiD)}3GKCge%Qv-FKa;hw{svSQ)i0RcMwBwL>pbTMf=>!W@%VT%Xl9V7Ua{;SrDR^p3QYhH4!F()cUJQMY$^|b+!QWnZC{&OoN<;>lZyB>;n0IUhu&kD6<2JKdE$|nFbzS?US z=AdR@x)t-4yY^bQZ^G%;w5|r7aXv8-yajJ10ENxVMo$1CCGxOt{$2FfJ9LnKEr|iGT*R6>#zvUjegWPM6q0qxnDe1F}xFnzyh|Gx0s90lC$rx*X3=(~4a@IRj=*V`;W->BV9vtO=0!o`tp=9yTAI@>>DL z1vV<}_A%9!qNBs#t^PJ2A!}-)Jil$MlD#878GRPe;&Jb#{n6gDO}2H}5StA3e(lW% z&8_tg56H!Sq4*r-xEX(;w}^sL8K-6BI<2hM-0^-9S3l*OOV!jI4PB{j9e1JVW(Xnv zm;2lrzLbl}DH(K5yaa(LJ^}!l!zt zyL&Ndzn6W%Eh&y+O-dkbfA86t+PF~m>FwmZ`TN9AeLP?P2h5FDN4DI8VrV`>R|?&E zGho$?QcN+_YtFt>%o+hrSDRGuPW^~!%7t}xu&J((uET>rOA>T`R=~#v@?!|C#|zJ zbG&iVG|Mv`e(t=WpMDW^vJ<`>f(}YM`Dr^Ysdbany^NMHNPo3I>Z@_D(Gz12g4Rx-iAzK1 zVn)2#+MiW4W%90_fmyTTSvr>!#4Rvj#@2!Ey?evEjods+2>|1iH;bdKtsfnj_=w0e zIhEaq4c(Mf{etq)yXACL^vL|=Kw5HBF)ToW79T|TeAi!qCcoI~1jnQTdi|zN!)U)F z%hTh7?6+m(Q~b@0Q{Wsqoj+FB-r^gT2}etF;#8iV zh2PmX@eC27Lfar&?Iog~7wKLcKHWtC5}r$* z7sl(LP%+f7N74yX+;qgxHNoxlhT5-jP#Ss`Ms|`4e&=*~BO0?0l?gDyYp^h6EQywt zw;yqvdt#(QVwCZ|rqzzpjj{A|1ae!1tNe|_{)+bOs^?E@VWBrA=}hg-V(NxghO-}M zZ)u!eZbu{x2NuP%Y(LKjMjNrAzM_Bi>c3rFtd@B3!&`lSiVM+RT;MTbNS#Qvk~CF< zxuCV9w@U|bhMZQ=-shopQivT=P;1sOx7G2ZGUFFuU5udHc~f`v&j;2V8&-o-pZ3M2 zk9%l{HPQQ)3&PL$z*=dxbe@Y{#{)bYB>ePdbl<7QfKkSM!63v4o%k_y7r6<sD zozxagCxRr&mFj7Iy{#;t6?FxhdAQzBTXo$1$syokeDSV0yN<8t+OQY;XM9g{PMU#* z8g_fxH(zBq`w$Hy^sVcR+MhDbxe^MUMEhh=kbihil|C2+uQraw5IXunftR(E`A>po* zSodVZTrwYx_uLWU1<)vOzzsls>(v5zO?4;lt8F(;pwd$aK8o&^+IVG4cc{u&8w zyMQ0?R}-At7!{ibKc<5=FocdjYc0F{=H)q7QDPUS3*EbApGUm0UCEyDrWpu33eM-# z_5}aANTR(?4#5PGw1TG$bkt;&A7Tay!Z2}L6{smEE|@$QPgBVBMUSklNZip9giNV< zFE#e;vf2G+9(_15;fynNHiPf+H_i-s)An{7#0MXUH0_Rp7F868%4C!>SF~DwNn4h; zcwn(KV0gDpOF$b}(&m??=U#Vn6HL4EKBOF$B|0GwDrT<*(wfQlbMfhYg_r*VaOp3+ zC8pL=?noW8;)iwjaX!AOI+Z#dL^`zJ3f5B601Z5$;$(B$v}Bg$Mne~aHS+)FsK72e z3Ld#bo^I+c+n;K$K^+}%#{whn;?TF_e9QHt`3)6~WS8v(dEf%wu8msh)E=AkUgCua znP8-Y$?>vmCm=8(b*JVXK?}Oy;fFRu{MqzprQQj7NkUDF4wjMk7p}aC&71_aGWnVF zXHB-;BIVzl@Z9NSn#UNaToRAx3Y}Bl{xPwd6X}}h-2*j*JOGe4ayBbuko*8=?hz+M z=Q>mvCo@M~ccdK|%e8E;??PN3Uxp~nY>5LsR_;I*FPupCwOv%;t%eT*S~{BYS8Nfj871SC4^wu!uQP`(k8u5!R?z4Pg)cJt^T8d6HCUp#N@&6X%B-qzhNRV2Coo#<%#s+X)T4G z>T7nDS(K|^Rx4B--z4$k+k(|6HgfolJx#ZdOv(^xOWh3gj%|l*y|m9itcV;UzU%yJetZ_s6M#6aR;%(M9;)iJZGqc_!# zkz&MLwq&6Jzr;JL!loOCq?YPQzl2RWyApkD1q`mi({bhs5CYQA4=7i;Q~O-hjDG;IAh4JGPAnmTUIwd0I}aB!H*!@8xyw! zJ(|6D$s89@GBWDgf1T0y>pf5KO?@r^UyRoXJf*QLo)#n)ys3?|fMcwwf7Y-Ve86sz@a<#AT^9bi$A$!n z2Xp*q>H8hKKv#?^dkS^{XJ!uW(677mjuLbwiH6 z!HV;DO&&y2()qJa;4tBY=YA!H<%I6ug#97&WXGNR_Y9`KVQATH@(EQ1-w6&Y7h$)D z6GLcK8M^%2b@`(!lZTx8#;R}Q?a&nr{^oum<)pB^t4o%AyqrdXrlP8}aHXX^tK#fk zhbpwBIZwR%GTypiIDDY-t+r0>#DH7MG$!)eAMKWv-Rk!JS>>5Zn?v+o*yP+@B5xR- z=J6i&FEO3Ls;Y*AOzyNsUsmVqVLXg&{z`x+7Ei3~a?r$7X5gXS*_FzgHf|j&MbEJx z+!A^^fy^x8kMDJ$!k9=U(ZFY*u(xLzwna=gb=z1jBL>;#t7M}P+1U$BSt<|+9B#*$ z%~E>Ois)1Gt{Yp^Q018;3Am?%yW^%UsZ+f!% z#EvJl99MukwuMPKw_n$EX*j_j`xjmz}GmdS-7?wgY$k=G6H zs~5e;K19g)H%`vhme8w_dy7v~3fg9yL1r@p)ZE&d_??o+Gu#ud2`ZX6WeO`q5@-+a z911I3{{jTK<$qSB)~(1n6eK`bR7m*wEb(HPqv`|0Zs-%u7vfRSM^a%nA3v2ae9EAE zzsfoLAnGh?o?9FRCym3D?id&UaVU)uGVMR4X5X?I_0zj3Kg}$6z$8pJNc(hd@x_IP zcdU-a+Z%z~o>v)_yA}+6wDO!LOv)rF6VsZ51G&k0!%r_}_b|zFnX66wa#gJ<>vh|7 zd-0qeeFCbgGQPMeJmvu3;_0`8MEc~D*LU^9C1W?8>8T}UY7HM(PWxcL>kHiznYMgB zs)o^sG&a`z(-fDpvXH~A%{3UVnGK#FSM>z#fJdq4oRa%#A!O9}Hb{?z>BuovCP#jy zir9IxthhKZInMSAb!zZ&NfTwJ@|ugF;|-|s!S=^;WAYk?qDaqo_iF5==G%)v6;!d>F71U44hwxp+xmOUPod9vd*XjQM1<@{4P= z1H?vKwtYgZhs_V)^?7T~!NT>8s?HDDnr12GnvfY=t9$EeF|(rD`zmG#ev@{@hzqoJ zwIAJykT6XYbcvmU6x|nz$H}uSY3c1XK7`w3R|;>8$$s8{uE--+TRWEASz$K-NdTBK z4>`4IwZ%c9tgdNJ;1WqvpwIQS{x^?s#Uadnen zwv>{F9GLNCe1h$7!M#$tN{p1E;xH&73CG)R^8HypfVffviQ(GG-V996ZN;umM8sc+ zvd`iI=(9j^7$}Y!}_Vgid zFTp=-nS$o`ki{g~>uSpPbMA=P7I<+sv>jv_kqjj@L2*o1aWAgai!wYFgoy-%_oI@1 z#~(O2H=;xY~e34QyAq(Atg^wOqZy<#2Ta6V6Ylflh+_lJE8LnFt@~WEl_V~6kpP8oF@(0 znApOcf2^?s;tLng$chYaepn1B>MIc7cAx4k;A$-D#%D~HVIRr2bDAK_x6=YFH7MR+ z5n4i4Ro0E;#3m^J9`e1~OCi~-+nqG6m@9TDzoL;IJs1wlScadzAtON9uVh0B4ITJz z#SefoL2`BK)7qrzJ{m2*7|J?ENzBJr^3LW)28+JV8Xd^AB62&PK7H}oZXT7qA#U_> z;r)@NhPQL_i#KT1o}`NME;2t>u8f9>rbE}mU1jpmtY@#RmjW8RGYNhbPyuni@a*DV zxzUDd)6jiyT~pJ$m|bRU)k+UIpMk%rxxsqV#ffIy#P-p{NmF-Ht353r=%$8~;H&mU z{H5zYR&=<^ib;S}lfTu<(FU|2228A8v)r zj34O|{4sa#!PH1>U^H>{>{V);rSHBD)$&Tkw2_}1r2LiVG_@J5GJ=+9C+Ai8e)P+Z z=U`wS4x$Q1*=qm#(9)`=e{!yN>t)A1iQ?^tdZsyLSb$9lkFhfYu2aOWzFgh~ZOr;X zkb?aTY5&o&SFO&}H(L(S(!N|Mn0Ee_NN%CQ$>&fWAv#}p_C9pdMnH7@wPI^)+8RNC zkp?lL=VtOe&UkL+eR;-WSXxTk%8&&<-WUh8zE2ft4>yKq`$MO^tRqJ|kQ$$NR?$W3 zI-X&k$R$tvgzA|3VSLLH4nvv-+&_*BS=+KCa<_^viW?^n)jx959e-D|A{ZhzkoeWn zBB-lReT>sUA#Sp+BiEYPwk4r&DK6sy6k^~E2n>t~st?TZk-*V=W1UeD^gSzmt=u8J52aaUV{UsC^oy{Lb(rCqsit zWC=b}BYf^o^1Fm}Bf-OJ;vae)b^c?HGhV2$)kBrE6-2EuF-47Q;<$mX?l(wEZ6`(| zpkxoo|G@7Yl7z9E$WpS0im2tU?fMmVKrvD>o@d9=@ss$`?k7vS1djIq$HcfrvwoOU zw*>s{D)$%goUM@2hdlY@*H%jt4Y2IS=p<3iXrWkT)Ekx&VZDqm!z^x{uaSFjvv`n?XRV?0;#Z*z&|HIQ`azbfyp+llF8MC6NK{gJx zTig>|SDeWqGUER5CWn93aISuPkF7n6^N#3zmBK)din3RQ$Pg0%Ou}hoD`oP*)vO)8 z#E`o`{U|8hbB%suYH;dOSY4dJ;`TkhsBb*wdW!nfT|{o|#YYbNE1aA6hooiI4L9LZ zMkYFe6_#{~BOOy2jN+1<6?;G$y|IzrDatMNQ?XHzA?scQLNQ%{M_)+@G6c*e2V38E ze>gGR)5W23{yd?;>K-Ns5)!2arZdqWt$d$aJcVO5kdS>?rtZCMZWy_upvC5x=ZyUw zIV<&Hnn=K?4~4L6EDzuR>Vhp8{Au#Rf2o*b-0--5q_`l$qQZ4k?UR9(G`eX(yp_NM zcFbV9TPM0p@?Jj*G#?MRh}vC#6YlhUd`3%LPq;?qB}O&FurGbaGQ|8aG_B|D9 zes$&d?r|2?JJYYl-q+8<8|*VJId4T+OAjbL7~;%rhbs{Oy8DlyueOf6;RN5FoIWlr zKd5Uyo~eAtOUZtuv89g-mV$W^Xf&b38ZN!)+}L>1R-B)(#MeNO{mVm%i%0FF49(f@ z?TWx(fR>h_GaujO?n@4+G6CowL!wg7(0TUDY%1~9A(fSv7I*+^Rln7rJWYRn(px0* zU1sqtA-p-r7<`)8f4?>1R6gRAThyoymI33?7lq~}_jZPigHTUPVIsbaFk8$%Dy8ME zbs$eT>~i^JI$iO#Js0uClc^g2qDiB}@GD3Bd1)Jy>FQZ~G5ckK)?fhpvOpe^GC#Su+<5w^ z;8Xp{!(4bAkbZJouJ~PoJFdIzs^3|wqrd?=9+aJP6AvN&ht&5XTJN>*@>V z2u~9-1SuFJ2TXfwnj0#~$w7Z+X7?1W;%BIrx`#qN-0eCoV_|*}a{5x`+w)E404pag z8~GKuZH8-=9*bz}9W4Q=KRm*(AWD|Z>XmKR?mOzA#>bXDwgXtFhlsP+i+$%WXt_~n zz!#6{TQom&w}wy@L*3tztU^9o{OBs1NGkF2)pUI-75nJIf{ z$KFlwA5S{XK9r|wy%+uDI;4Qifx%HN+=fNBQ4#-NmKzN&* z8`P%0#z{$-3IPAym-MI#9XJ<>j=lQp8@u>A)+Ygo8_s-3uevEQ6{fm;o&&3J`u^js zh~#_v)P~y&dm0Mj_=;wMs)lcooNo!dgVZE*GeoskS-$tYcABneY?WLEzOdqC85@yq zWpL#8ZZ5OjXJvL49W~L@N~<9N!ELuIW|wYVYYq;|j;gOjj?4%N@ED?)oBe%%jjKRq z@D6(|OD#^>>ARQqH->`_S;jL_%qK*;qsS9 z;t}*+P6_SlZr5(D)02&`JScggBfg>h1vXgUnWebWP<4!^?uX)_q0pri)fnRq<9%v| zq>N^O${`KJb=l6mZrb?ZPuP}i86DBG&&cxSW zgZKDc;^!|JaN3@0wv8NblyXd|nG|Pn)vLPuc!(|Ni_>7oa){*Uocx}T!A2}OD-nE0 zyF_clQPa83c4!@wv~ROi+;?qkW^q4Yb;XUp7lMH4ynR<5+I~1Y<1MBMRS`Qm4%d1( zgByPQ?zAfFf*U+Ua1lTE2AX2rqQK-&$RtJ9qPm2Y#+;6||Y7 z>Dq7&tVomXUB}Uv+zwPQ+{iW<8;GAEG4uQj@Y2$^Kcwf3&zGVj`!=pye@9Ec)H#yT z{cU!tsyzJcg_c$mG8Dd5JM^hLU4p-oF6^v$SM=M@6A_QHKovqCOZ<-hYxd~f=10LG zMQLB6zM)N^#lNc=pZo>v@IeW5AG=Srv@0wrpSdUq^&gT&?Z~?DZIX>> zVU4PJAKPx0Q&{tw_G{E%w(82QG>dIxe#Et^j8)Tj(Z1U^;gDtSSvTGDWSEfuylB63 zE598rf9OOi_FLh;qF{A4tzPg`k1yl)@~ir(AsGc+5`LnF#4{FQAHx2hes2^atA#l! z%<@Lbx9q6p&~o^at0=@a93{t?(&mCKPHDFcC$b<%kvq-HMvCa}aF$>GZ}7YZHlRFY zQCn&Lsg){TG4@t5Fx?TYiFt+#n5omvG05gwwI|>9lE}9wxo;rnMGUSoA2)7$0G92ToPWJ za7=`(7J$YE9IB_MwRLa7E@8@{UDSW{Zw$Z11tu~Teotf(cbHJgwB<^F8C=;%m_Qo5 zGX~uQqsfdepO2C~`$ChvNlp3+%0SF43~ZYwX}41nt-A57DtFAJR>L1VFfSi12WA+^ ze{fH{&x4pM{$wg{m{w386)uPzjsIRKxlJNDMRiim*2D%~GrSdn8`h%j_W<0&jsyMP z@E>t$#sat(P6h zk6z_NmX41R{U9^_kU)}<@`BC=+mE7p~LO8DL(`IQC@V49@)lHX`exwk z$HU@Ub@9zr%BGHP?!SNl>T&SmUqF3ZrrL@_Wn+NT9A%8pmlgKxPP*qui7y(QaTZO_ z{AaaEkK&6{>%Bf>$$6>~@s2-KtmYrLxwalEA|nJ_4h|fcc)kSGD0z5DvU`mi;T3vD zcHu;5s2G_&8}^tMeOWS$AI+5OfpYaP=SzX-7zq`@Y0RL6$Ppk;4KBWXG<~K0!s1k! zSI^v?G2-=t1}n_pyZ-r}@A|#9Dsd7|S{kKqdxSEsYX>gZw4|w0TQ7Xd2~l170fV2< zMuBD5G=y-agNvZ)*8fq+BzC^UM-y&cvx2M1KL&N?2H27$8Eecm4KTR_@#u73Lji z4uFxZq+}Rf_`Y@k@0pu+^2ayrff8xQ2#j83NNsxakk9l2@PKW&VuqgHIkJHI8` z*qahD)-)(7Mv{U?*Z25KlKNB~-{%!1M3HJu_RJq-eD1$tA2+0X)4m*)U`8@fv~?he zwpo*rValM^+ka>E9XGMVYw-6*3^&2c!*4hIDaZZpjzfOyw6R9bv&a`}8n1DwAJzf6 z&a%bSkmNS^87~zbbicD^DakRymon!LF#pWxk{Gh)wq;H~pEtEOMWt||?wwBw7Z3U! zT5q}I8)KGILF%9AeWCB%fY3R9l2b!=$RT4uB8b1`Q1`1AVxQV?Qe1)ZxM`EL#iwP~ z)WK*?5E+eI8=k9I$r3aGt=7<;{a9y!!@z=%yZy~dg+?tv)p!m-Kb~5Qy6KKdk%KKqR8}aU+3aDRhoD8S(!s$j_|FItmw4Ao$ zM2lK;1T(9S%ndrhuk|bN{@s>;tZWSO81rtGe-!~63MeeG=Weyz2`#il_mFU?#lmJf zA!tcOLM-y3GiuZgsZingz;I4;v?`EdS{l&6o{Fos5gSiRhQ>tHq<8#Orev57otQz} zWw&v96yjLzrSfU*nr{#3I#0?rmVe_?lHJ~E-#pXun-PNLdY#A=$TvE*-zIdy)Yz@a z{1>3W9?%z5e%!wBx@U|e=uInl0hvYs)Mq8yL5K2~Z<-DsBbX;csY4v+HoJ`=Z z$NC$e*Fg2XbG~0;IfR&PC7!xjQ?>kQj{GEVu=L@4Pp-C>hXA+DoJ-=b0=@vAZeAhd@xUP6HAu6j;eKIx z^R$eL3i(iB>M|!C|BGXR5u~$CWo2cvKwV>57!QLjjy{k-Ywd&vGW!_BUp2sBq`zRq ztH0;=2{4Atf#J<|e`s*Pw$(OpJUFtj@AQ0w4|u5fygbX-a*AhnsL+9pbNr+6?)Nh} zuXGJJ>4zph9!!bY2!a>c6{R=)HqfSczQvZ;OK?jS4Il)QJMi%&mJ`hd&{@fN!c#(K(yx` zquk^uTM7NMdB5aNC{*zaEzZhfK3oH%HET>A(>M@#ms)7-qNh~wm@yoI_LwOP9FcDn zvWSsqD}U)&yfMbr!oKE-RM+4id)rCqqX)t*|B)}2{I)UAh0y*)f<(rWpk8?A1W!!i zDUIsXKcVV7-kA6Bm1Cfun1-+OVp-B8szoB`;yMv_4pyW{FjkZBm~2?{(+m(bQk=Jf zWby0;tYHl7UDbXdVxKbnAOwuI!|aB$+t<744QllpsgPv}U>&APL+@ z3Egi|pHMT>oG&YQ6VMO9sMp!g{9Nxuk7jUoK5?xfi{>X~NA}7!z9R=5eGbD+wP*%n#3qhH>7zS*mf7CVb!@ZNHu` zgi-p|>|xeptV4I_nTr$R8rJ(~e_`r==YR$j91v~#V=PFmW=3Evzs#4tJc2uTzH?3^ z)t(fmfYDILaYEFh88Gx)Nd#kZO-n*eIxFvV^E_%)Zt?<#iB@8%D%5Xs-(l%_7Lxm}Kh zt?IZ`o*2D17w@yEN(vuJ&~0Kk*2g}bCBYcGr4c5Qo8cK&TZ$mHSi#_T28!OmrP$ z;{C--HxVNaq=>wfn=E~}Z3Zq-^t_(H$&d&>BEpO!HQ`A~% z)__aqq@)yW)na#2IPAGYfWkLY=YDt{EDY|i*lJGuJ|(#IH1mpF;oS69>s}qo@Eluk)uBmW+VD6JBfQl@Le_A{t&`?POAjg6J zBk_}utrZ6{(#v_&9}y!OVs2TOh%SVmfuVRgM9s08Ci}MCMF@vNql}||o#J$waC>XD z)b%d6(u?MEYk)wJ_&3j=zp%Szy|upciVpFQQ{Tst!d{FZZe!N+F; z<_uVr3nE?1q+)My2{wdY2?(#1VJg}2iF!ZTjZ+Je;Ib5<0gf*nTw-pZ^x&!uK}?`K zfFdg)mcN)E@2l40%a#SU3@y1g69ImK(dYUq1}mAFhCjKLEmuZK4t5egbcUDUJGRY_ z0aag}O}Dg*9~5;Kos3CCWo1V-N!R22xIR_YPh8;hY=XY&p0eZ)uAT}KcvbCs2v;Ex z`xfzCmczf*J#?Sl2^Vn<#iD><4KzBXg-v%(C3u0=13qNpithzCOd1^q2iS@{zj1Dy zqu;aMsXG{coF2oFz#*U1r=5bE#^xK{j2?X{2zb5Ki{;AkYnEG6RskIf-W&VjtQc6% zb6C_oCq?hfuROd3I^RStp{<%ee4^nk+%>*RUBci4k62J=`K1nDZm)(XT^l-(ER7LS zb%4nsY8)Jq#4?}B1_6#hoh=SGcZgs3^c$;7dFKxKsa{ol;^dVnhVboxC^uET9jtyR zQNL&s%ZR&e>-e()Q>0jX{+2#{i9I8dF%bcp)Sxx8SvI8M)KO7B@qTq@>3;BIw=i0N zz5wtXG?rm%D8ehJK*BGyZcaT0-7(O>!xIhyZ$##%xAg(IjEoT8iwvqiUs@(ucYpi3 zP6l-2JxFVaFh{MuZbDETEQpC|L*D&5Z-yMK*YY>~nPD#qHXPo_P1PPgfPQZkl*6*e zN9&+f()zZt-T>}dr{TRM@4e5_nem#|eUNQ|j`dzlBxgbE*=J^zvW=|PapQBq;hm=S z8L7;s1!Yy5@|S(}!oLX!1b&fKjg+~ZuduGeC2w181V4=o^gX}ONB9a6_{z0jq*YYr z6Ka?!gr3!TQ_~UlkWT4OzOr>R(o$VqvPzkRQh;Oy3AbfQlv}*@+LZjuyqFF@)#Lkl zx&#=Th50|P>^7Y*liGH3qy@m{Wo1#w5=5R$Jy#q zL0>hw=_(k)9|uRqZ#C<=Yi7+HnL6*n$!B+zrUSm_A?^dRmB8tq_#X&1ziRvUsp?|F z9CunJPrsD9O0=O{lpqE6hg1SdJRYsBlD>&mrm1-*Ptm`w6A%#Kj|1=*00;ozu4k^j z=gCsOQx@A+A*BEEp@DLDe?heMkY*YCaU)(407T<+);qpI63mLeP3DY@+61AB;6e#Iq_%I3v#cCnx6wH?jL%nIlCb^LM_==^TIc ziBA*8>ffZ;mP_ZaaKfCNKB>^7;3B!0(b08_lg4tCyw6>{Gjpqagp_1Ln!A~#iaxi- zkdNYIU!3C%)Qe`iE|;sQ=-~0yf7X%+)3^= zSG#)_&dgETts}xLi5|b5Bd0n0^bSP1s+$Bps*lSUJO$$TKoI*YV5j$iGr#?0W8+c< zpN6I;U%DH&m$>Z+rUl`19j-ZTSYv_uc&3xiv~@7%+cwIHOYjvU*6wBp0(&);x_aKv16b>+xB=R>b(M2$*8e~= z+2S}Mzu#i}wa&qLrlVh>(K6@QK*H*(!I(?;6@dq_x|Uu9N@*Fg9a4$u5vJ)0?ti31 z*{^*}+ItGeJwuPWlPZC0hugJGn6kdAYSix2QeYioirapkdvb}?HEJl5_$q&Twg6Ki z;Py+cB47F9!J_TmYM`7eqFjH2UOm^$XInBLcjbr;9XG&{&MEZ!Jv4fv1qtw&tNnH{ z(59y*-RwQ+NY!A?q-0*4)YJDhgHGu$z`B%AO@kf2d3WzFv=a~k(G^!<+vZB$iYB9b z-cl3YZM3e+(@^P!ZK&uwtPz?eI^s{IXcMB8#JtzzZ|#P+>6l20wGWzWpK&Q`(ZP1G zGv3@7-r9diwLgyL^kz?;gen}o#7NE}bGOXNzns-lk$Z!FK0wv_e0PgwLfPMCcu57h z5I(TivjtaWXVH+KSe$BIN zz-_q|k>i&fMEAARucWGG+|0Wk9t#;yI>D$o={01)Of`Q_q{vK%rXj>B&1yue=}=S`(= zcEF)K;D9LZbW}q(k84>~L>^W`e5c3wW>RI@c#a!MJ?JF(zn%s~?UOd8Ogp*?G#tA0L+>$!FnV_3g$}YP>r^#2-q#=Fsds{3}(xV_m@$@;NctXy(*X zPxfVu21;^XPxBQd5SB~63DajRec72D7oJe$BXDB!HZjHzeoF^g6>{ygq`1_aC`E0mUE@CcrLJtZz|>FP(-Y?8?R_0ht&yj@F4 zCJ1i8WEs8*$w+uUu^Fh#wtabc7`Bc=z>w5+eZCV{J3~vW#(;5d>b^EC!thF#v?=33 z;eg=*XyJ&s|(@AU~&5LHbT76$fy4v;0adJFIpC3 z(sGA|QT;|iL@pCpq~OwVz-9c@EaV&;)!bOavzg(gzQCs?9p1rRH8WHnDp_MA(s0U! zMACY;5^IBAh1r#Sssl4H#xHk&0RwkiNb7F^xj!cgofbFKwbTWcWPHOazj7zKp8%}9 zuFa(F0w!dD^}#0{s}c#qRTIP(%iwtYtFGC@golRJXFJqXpAGaa)}&^q@qLScIcE31 zOpr`E{qP=_iO!MIG<&NraPpqRvCo=tqMycRnO`{ zQ?Bk%ICJQz3wuex$J}DvKeefKsI00iKEX=aDG<*kP)*#91$(fRwamJ#JT zg_+2sn@oDPFKi2CK2)T?6^+$i^&8Jo~FD(-T@ zLqD^0TAiHTdjV#bm$1jcIICOZ^yycgjd^hBUz!>3r%6m8mC+p?%nU$y77ZSlmD+FT z6~USNs0rMd`h-V;GFIdN@-lOt=Y(X>wx4%0M!X=O+yv%=M@USjeixk1(e#B)a8_kE zE*!RHS&D7Rx?$H#Zlmpn)0J{vr%~~nOm1EdD(VkIg>bVl^!X(mT4J{oRTs#64OzFycWe^cGAGlJ>&HV#kdhLyfeqpkHw z{es7FczPU}?xpmz_71{sSbxx_Q_fZkc5Pl}bl<(4BfNzxUL826jW2rgPtWSJF;hP- z=B*+n#ACq4g(XGi)_iY!CdS|9(kF^a*i)s&Eg_V=4!W19?-cht$9#H%6LeGCcfQx{ zqZ}Qd{8G$GLHW)QtJC#%SgSs~1#K%WtfeV}j zeFEHBTm*G=E52Fr2`uI3HSPlv>{cp5B6tLShS7vK!XOYvjpT(lpxRM3K@LnUEb zsu_W8xADqiPxyg34#4#>ob6W=RkOjf%u$oW;}ut{>u-_JremcJY@e7+QC6@`qhHY< zKA~q|37KO<@?A$yZ!d(k<=4R;AsR&*VZ*zEUM04taGI+ffjl~~ zqDh}x8)FKPTMcACoNHgWA^o2q!^)`0VX**vXG8_c+#VGMTb&G#2j z@Jq!+)(D)GiCGDA=V|vfFL(L@%?VZZV}puOj7d@2NPxERay!f`dl+!3BGy)BsHk4S zA^h?j?=#11O&zOD>!u4!)~b?zB5d>FO~FEdLuQR}><<4bL{Yq7y=~@f){%d<9}utYBuxSP-(bnt?J*iEH`>+M3w&n-H%EyzKjsX*OBa z!ysgE`c+09!81oCe#<_TCqO(YEp`?+IP!B1+qQl;(nP-NOxE?K1FX*ylume?{6d09 z!>M_^HTPFTutE|^5Zd;dTMM|4!WUlNS&rc;R=R&S!E=w7ilsokq2ii&b_R4*sF|o^ z?U@9!7JjJ`j`)d1Y0Nj1EO0K!g_wi<#J(7^|AGsMp>Lk~bpy4UZmd%tq;zUBwoPBY zrN2Tu1MA0BD;zF+wv1Pe6a)J#Y0?TCe^ZJ+T?2IjU#HY@*q$PI>q+x*T z+JoH@B*mER6*?{yZBus&s<{h;SA85+H^h+(s_-LN#VpS_U<*mrM#Zub{Z zpQ_$ILz!_KO1}hk_;PrMsjF5hrUg!Ya=ouh>`jhEceN(?sj3Vo(#bO^Kh_^3zSUgg zFutZH5T;$5xZhB`_j8WxiUQ=W@jzwXzaRLAt_P_;0c>Bps-2?ds3n~ElI}#yo3|sd z)Y!aik(qhsSz1pT+}*;!t5~&=0utd$vLx_RmTV=c^re4oTO{^l5hP#u4NI@pQP_jg!DrJe+~A9OwtEuDSU|xrLBS z2-#{dPiSTIAM};%gQM5;wal3=)T)R8H~o9(p^?6O0{=YlmcnzB8ka^OiVnfGCJgX2 z3t3E{p`o7`pPzR=nC~bS1s9PB~G=w+s z=b9t5Nlky+Kx<5Hx^_$*t0lAbvq1bkNfxHhpTE(MWCV>7an*O;0*kiI$I zdqWj4^7`1IK(Ksn+v9XfgCX-uQrqXth(P7MfNss8l>j#dgrFVQ-GR}1m>}?a%_IHQ*_L=&K%Pdcv6}flqqUNB?G3C zeM948bOjayAK8~=M_0>>VH*#w)MSy|`f<@LELg|GFItbh@ejKL`WKz6pY=wErGe6Y zIVEjKNm*Mn-|z3Oot~c532%eW?x#L%zpR1(=+UCgi-U=Psir@66jI&mEwYj;VQGGf zdvndcv||k3`)I|Z)3aQOkl0gf4wS?m(Rf)s0ng9GU-FfB)eKznbpALt+{%nBN9unOp}5{=*R?(qdMtm>W165*7ypIiKwM9qN`wx<`t`rfYJ-P_$H zFQB`^1+Z4__EDL&f$&pm-5>U&UWWFsOEO9OxD&)hPH7ay6P>xW1%JW_TT{ohBv7{h z2rP-{v)2u1S`4kgThwHh&CES{3*1QbH}`o$!Ho;^&5>Y;Vbs!9&abx?=uCBF7=9 z6Yfyp8^C>K(R|OV`=goSAk8-~zqv7OzTk-RrK=5~e!Jv!Bg9)CxCeu<5-(K6zJ943pDf zitco>EbgbY^wl1T9#e78Sy<^a`NqbYg#-H|osx$4{BX3~p%IG`-SOaMHdZ=utD5vP zY8lhOgpYN#PK<>wo;m&Mw!tZmKJc;ezNoM6!?>2C#`MemH)Oh;T$ZK?RNkOB3iduE zlED&_Y`Vr5?OWe}6d>gm_L{~Vp%Uyw=cY5RWnd4Bo|on{OhdXuip`>XI*7T~O;gf7 zzXdSJ*=;4s&`a@hA|j7MkL=2p@*0ikOOk>YG{kc7Ws@3KsQi0M^!LD}6~s;cR>hMR zYdhBzACEApG*T{1E*h~^^q2ku*rsNS85?XOe+Ni6N!l`BF6}QtX9%kdOQ;p!ttabE zJsFFUnJlxeNn`u4FxM5}9ACR{^vCYa&ZysU3CD-fdP3WtFu*u^;NT@5aLm!3tp5xKI5?Rm2&SR{b>moQj za2EUppMA=i)cT&j%~D;mjzrQPR%p8xuF^S9zPf#E*aYo^6YwO=afl=Q*pobr*+5IR z!kb%eCLwF;zU-bR??Xuk_+ro%l-MG3xNMBYM21P4%J-Uo; ^^MF~|t8P{J;_$RpHGNrFHjVUMAQ3MLv z6I4B!U5`RpY@i&X58UC=R~~j8N-B2tANT|c>TksnfdH+k8SNQFsY;1zY;^^}mU5Rd zOxqL|nyZf~M6+j5x=avoAng78N)b<6Lz-whj-Wwq{-a0F5Y=$Xgs7sV`+4NOzKX_J z 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 S)@(TZKT%r$|F8VN=zj&sgubW% literal 0 HcmV?d00001 diff --git a/poetry.lock b/poetry.lock index 7c972c6..40ba8e8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,34 +1,30 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.0 and should not be changed by hand. [[package]] name = "black" -version = "23.7.0" +version = "23.11.0" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.7.0-cp310-cp310-macosx_10_16_arm64.whl", hash = "sha256:5c4bc552ab52f6c1c506ccae05681fab58c3f72d59ae6e6639e8885e94fe2587"}, - {file = "black-23.7.0-cp310-cp310-macosx_10_16_universal2.whl", hash = "sha256:552513d5cd5694590d7ef6f46e1767a4df9af168d449ff767b13b084c020e63f"}, - {file = "black-23.7.0-cp310-cp310-macosx_10_16_x86_64.whl", hash = "sha256:86cee259349b4448adb4ef9b204bb4467aae74a386bce85d56ba4f5dc0da27be"}, - {file = "black-23.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:501387a9edcb75d7ae8a4412bb8749900386eaef258f1aefab18adddea1936bc"}, - {file = "black-23.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:fb074d8b213749fa1d077d630db0d5f8cc3b2ae63587ad4116e8a436e9bbe995"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_arm64.whl", hash = "sha256:b5b0ee6d96b345a8b420100b7d71ebfdd19fab5e8301aff48ec270042cd40ac2"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_universal2.whl", hash = "sha256:893695a76b140881531062d48476ebe4a48f5d1e9388177e175d76234ca247cd"}, - {file = "black-23.7.0-cp311-cp311-macosx_10_16_x86_64.whl", hash = "sha256:c333286dc3ddca6fdff74670b911cccedacb4ef0a60b34e491b8a67c833b343a"}, - {file = "black-23.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:831d8f54c3a8c8cf55f64d0422ee875eecac26f5f649fb6c1df65316b67c8926"}, - {file = "black-23.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:7f3bf2dec7d541b4619b8ce526bda74a6b0bffc480a163fed32eb8b3c9aed8ad"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_arm64.whl", hash = "sha256:f9062af71c59c004cd519e2fb8f5d25d39e46d3af011b41ab43b9c74e27e236f"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_universal2.whl", hash = "sha256:01ede61aac8c154b55f35301fac3e730baf0c9cf8120f65a9cd61a81cfb4a0c3"}, - {file = "black-23.7.0-cp38-cp38-macosx_10_16_x86_64.whl", hash = "sha256:327a8c2550ddc573b51e2c352adb88143464bb9d92c10416feb86b0f5aee5ff6"}, - {file = "black-23.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1c6022b86f83b632d06f2b02774134def5d4d4f1dac8bef16d90cda18ba28a"}, - {file = "black-23.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:27eb7a0c71604d5de083757fbdb245b1a4fae60e9596514c6ec497eb63f95320"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_arm64.whl", hash = "sha256:8417dbd2f57b5701492cd46edcecc4f9208dc75529bcf76c514864e48da867d9"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_universal2.whl", hash = "sha256:47e56d83aad53ca140da0af87678fb38e44fd6bc0af71eebab2d1f59b1acf1d3"}, - {file = "black-23.7.0-cp39-cp39-macosx_10_16_x86_64.whl", hash = "sha256:25cc308838fe71f7065df53aedd20327969d05671bac95b38fdf37ebe70ac087"}, - {file = "black-23.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:642496b675095d423f9b8448243336f8ec71c9d4d57ec17bf795b67f08132a91"}, - {file = "black-23.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:ad0014efc7acf0bd745792bd0d8857413652979200ab924fbf239062adc12491"}, - {file = "black-23.7.0-py3-none-any.whl", hash = "sha256:9fd59d418c60c0348505f2ddf9609c1e1de8e7493eab96198fc89d9f865e7a96"}, - {file = "black-23.7.0.tar.gz", hash = "sha256:022a582720b0d9480ed82576c920a8c1dde97cc38ff11d8d8859b3bd6ca9eedb"}, + {file = "black-23.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dbea0bb8575c6b6303cc65017b46351dc5953eea5c0a59d7b7e3a2d2f433a911"}, + {file = "black-23.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:412f56bab20ac85927f3a959230331de5614aecda1ede14b373083f62ec24e6f"}, + {file = "black-23.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d136ef5b418c81660ad847efe0e55c58c8208b77a57a28a503a5f345ccf01394"}, + {file = "black-23.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:6c1cac07e64433f646a9a838cdc00c9768b3c362805afc3fce341af0e6a9ae9f"}, + {file = "black-23.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cf57719e581cfd48c4efe28543fea3d139c6b6f1238b3f0102a9c73992cbb479"}, + {file = "black-23.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:698c1e0d5c43354ec5d6f4d914d0d553a9ada56c85415700b81dc90125aac244"}, + {file = "black-23.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:760415ccc20f9e8747084169110ef75d545f3b0932ee21368f63ac0fee86b221"}, + {file = "black-23.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:58e5f4d08a205b11800332920e285bd25e1a75c54953e05502052738fe16b3b5"}, + {file = "black-23.11.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:45aa1d4675964946e53ab81aeec7a37613c1cb71647b5394779e6efb79d6d187"}, + {file = "black-23.11.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4c44b7211a3a0570cc097e81135faa5f261264f4dfaa22bd5ee2875a4e773bd6"}, + {file = "black-23.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a9acad1451632021ee0d146c8765782a0c3846e0e0ea46659d7c4f89d9b212b"}, + {file = "black-23.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:fc7f6a44d52747e65a02558e1d807c82df1d66ffa80a601862040a43ec2e3142"}, + {file = "black-23.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7f622b6822f02bfaf2a5cd31fdb7cd86fcf33dab6ced5185c35f5db98260b055"}, + {file = "black-23.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:250d7e60f323fcfc8ea6c800d5eba12f7967400eb6c2d21ae85ad31c204fb1f4"}, + {file = "black-23.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5133f5507007ba08d8b7b263c7aa0f931af5ba88a29beacc4b2dc23fcefe9c06"}, + {file = "black-23.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:421f3e44aa67138ab1b9bfbc22ee3780b22fa5b291e4db8ab7eee95200726b07"}, + {file = "black-23.11.0-py3-none-any.whl", hash = "sha256:54caaa703227c6e0c87b76326d0862184729a69b73d3b7305b6288e1d830067e"}, + {file = "black-23.11.0.tar.gz", hash = "sha256:4c68855825ff432d197229846f971bc4d6666ce90492e5b02013bcaca4d9ab05"}, ] [package.dependencies] @@ -38,7 +34,7 @@ packaging = ">=22.0" pathspec = ">=0.9.0" platformdirs = ">=2" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} -typing-extensions = {version = ">=3.10.0.0", markers = "python_version < \"3.10\""} +typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] @@ -53,13 +49,13 @@ reference = "tsinghua_mirror" [[package]] name = "cfgv" -version = "3.3.1" +version = "3.4.0" description = "Validate configuration and produce human readable error messages." optional = false -python-versions = ">=3.6.1" +python-versions = ">=3.8" files = [ - {file = "cfgv-3.3.1-py2.py3-none-any.whl", hash = "sha256:c6a0883f3917a037485059700b9e75da2464e6c27051014ad85ba6aaa5884426"}, - {file = "cfgv-3.3.1.tar.gz", hash = "sha256:f5a830efb9ce7a445376bb66ec94c638a9787422f96264c98edc6bdeed8ab736"}, + {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, + {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, ] [package.source] @@ -69,13 +65,13 @@ reference = "tsinghua_mirror" [[package]] name = "click" -version = "8.1.6" +version = "8.1.7" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.6-py3-none-any.whl", hash = "sha256:fa244bb30b3b5ee2cae3da8f55c9e5e0c0e86093306301fb418eb9dc40fbded5"}, - {file = "click-8.1.6.tar.gz", hash = "sha256:48ee849951919527a045bfe3bf7baa8a959c423134e1a5b98c05c20ba75a1cbd"}, + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, ] [package.dependencies] @@ -120,18 +116,19 @@ reference = "tsinghua_mirror" [[package]] name = "filelock" -version = "3.12.2" +version = "3.13.1" description = "A platform independent file lock." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "filelock-3.12.2-py3-none-any.whl", hash = "sha256:cbb791cdea2a72f23da6ac5b5269ab0a0d161e9ef0100e653b69049a7706d1ec"}, - {file = "filelock-3.12.2.tar.gz", hash = "sha256:002740518d8aa59a26b0c76e10fb8c6e15eae825d34b6fdf670333fd7b938d81"}, + {file = "filelock-3.13.1-py3-none-any.whl", hash = "sha256:57dbda9b35157b05fb3e58ee91448612eb674172fab98ee235ccb0b5bee19a1c"}, + {file = "filelock-3.13.1.tar.gz", hash = "sha256:521f5f56c50f8426f5e03ad3b281b490a87ef15bc6c526f168290f0c7148d44e"}, ] [package.extras] -docs = ["furo (>=2023.5.20)", "sphinx (>=7.0.1)", "sphinx-autodoc-typehints (>=1.23,!=1.23.4)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "diff-cover (>=7.5)", "pytest (>=7.3.1)", "pytest-cov (>=4.1)", "pytest-mock (>=3.10)", "pytest-timeout (>=2.1)"] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.24)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)"] +typing = ["typing-extensions (>=4.8)"] [package.source] type = "legacy" @@ -140,13 +137,13 @@ reference = "tsinghua_mirror" [[package]] name = "identify" -version = "2.5.26" +version = "2.5.31" description = "File identification library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.5.26-py2.py3-none-any.whl", hash = "sha256:c22a8ead0d4ca11f1edd6c9418c3220669b3b7533ada0a0ffa6cc0ef85cf9b54"}, - {file = "identify-2.5.26.tar.gz", hash = "sha256:7243800bce2f58404ed41b7c002e53d4d22bcf3ae1b7900c2d7aefd95394bf7f"}, + {file = "identify-2.5.31-py2.py3-none-any.whl", hash = "sha256:90199cb9e7bd3c5407a9b7e81b4abec4bb9d249991c79439ec8af740afc6293d"}, + {file = "identify-2.5.31.tar.gz", hash = "sha256:7736b3c7a28233637e3c36550646fc6389bedd74ae84cb788200cc8e2dd60b75"}, ] [package.extras] @@ -181,33 +178,38 @@ reference = "tsinghua_mirror" [[package]] name = "mypy" -version = "1.5.0" +version = "1.7.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.8" files = [ - {file = "mypy-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ad3109bec37cc33654de8db30fe8ff3a1bb57ea65144167d68185e6dced9868d"}, - {file = "mypy-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b4ea3a0241cb005b0ccdbd318fb99619b21ae51bcf1660b95fc22e0e7d3ba4a1"}, - {file = "mypy-1.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fe816e26e676c1311b9e04fd576543b873576d39439f7c24c8e5c7728391ecf"}, - {file = "mypy-1.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:42170e68adb1603ccdc55a30068f72bcfcde2ce650188e4c1b2a93018b826735"}, - {file = "mypy-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d145b81a8214687cfc1f85c03663a5bbe736777410e5580e54d526e7e904f564"}, - {file = "mypy-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c36011320e452eb30bec38b9fd3ba20569dc9545d7d4540d967f3ea1fab9c374"}, - {file = "mypy-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f3940cf5845b2512b3ab95463198b0cdf87975dfd17fdcc6ce9709a9abe09e69"}, - {file = "mypy-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9166186c498170e1ff478a7f540846b2169243feb95bc228d39a67a1a450cdc6"}, - {file = "mypy-1.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:725b57a19b7408ef66a0fd9db59b5d3e528922250fb56e50bded27fea9ff28f0"}, - {file = "mypy-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:eec5c927aa4b3e8b4781840f1550079969926d0a22ce38075f6cfcf4b13e3eb4"}, - {file = "mypy-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:79c520aa24f21852206b5ff2cf746dc13020113aa73fa55af504635a96e62718"}, - {file = "mypy-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:769ddb6bfe55c2bd9c7d6d7020885a5ea14289619db7ee650e06b1ef0852c6f4"}, - {file = "mypy-1.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cbf18f8db7e5f060d61c91e334d3b96d6bb624ddc9ee8a1cde407b737acbca2c"}, - {file = "mypy-1.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:a2500ad063413bc873ae102cf655bf49889e0763b260a3a7cf544a0cbbf7e70a"}, - {file = "mypy-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:84cf9f7d8a8a22bb6a36444480f4cbf089c917a4179fbf7eea003ea931944a7f"}, - {file = "mypy-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a551ed0fc02455fe2c1fb0145160df8336b90ab80224739627b15ebe2b45e9dc"}, - {file = "mypy-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:372fd97293ed0076d52695849f59acbbb8461c4ab447858cdaeaf734a396d823"}, - {file = "mypy-1.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8a7444d6fcac7e2585b10abb91ad900a576da7af8f5cffffbff6065d9115813"}, - {file = "mypy-1.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:35b13335c6c46a386577a51f3d38b2b5d14aa619e9633bb756bd77205e4bd09f"}, - {file = "mypy-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:2c9d570f53908cbea326ad8f96028a673b814d9dca7515bf71d95fa662c3eb6f"}, - {file = "mypy-1.5.0-py3-none-any.whl", hash = "sha256:69b32d0dedd211b80f1b7435644e1ef83033a2af2ac65adcdc87c38db68a86be"}, - {file = "mypy-1.5.0.tar.gz", hash = "sha256:f3460f34b3839b9bc84ee3ed65076eb827cd99ed13ed08d723f9083cada4a212"}, + {file = "mypy-1.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5da84d7bf257fd8f66b4f759a904fd2c5a765f70d8b52dde62b521972a0a2357"}, + {file = "mypy-1.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a3637c03f4025f6405737570d6cbfa4f1400eb3c649317634d273687a09ffc2f"}, + {file = "mypy-1.7.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b633f188fc5ae1b6edca39dae566974d7ef4e9aaaae00bc36efe1f855e5173ac"}, + {file = "mypy-1.7.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d6ed9a3997b90c6f891138e3f83fb8f475c74db4ccaa942a1c7bf99e83a989a1"}, + {file = "mypy-1.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:1fe46e96ae319df21359c8db77e1aecac8e5949da4773c0274c0ef3d8d1268a9"}, + {file = "mypy-1.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:df67fbeb666ee8828f675fee724cc2cbd2e4828cc3df56703e02fe6a421b7401"}, + {file = "mypy-1.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a79cdc12a02eb526d808a32a934c6fe6df07b05f3573d210e41808020aed8b5d"}, + {file = "mypy-1.7.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f65f385a6f43211effe8c682e8ec3f55d79391f70a201575def73d08db68ead1"}, + {file = "mypy-1.7.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0e81ffd120ee24959b449b647c4b2fbfcf8acf3465e082b8d58fd6c4c2b27e46"}, + {file = "mypy-1.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:f29386804c3577c83d76520abf18cfcd7d68264c7e431c5907d250ab502658ee"}, + {file = "mypy-1.7.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:87c076c174e2c7ef8ab416c4e252d94c08cd4980a10967754f91571070bf5fbe"}, + {file = "mypy-1.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6cb8d5f6d0fcd9e708bb190b224089e45902cacef6f6915481806b0c77f7786d"}, + {file = "mypy-1.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d93e76c2256aa50d9c82a88e2f569232e9862c9982095f6d54e13509f01222fc"}, + {file = "mypy-1.7.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cddee95dea7990e2215576fae95f6b78a8c12f4c089d7e4367564704e99118d3"}, + {file = "mypy-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:d01921dbd691c4061a3e2ecdbfbfad029410c5c2b1ee88946bf45c62c6c91210"}, + {file = "mypy-1.7.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:185cff9b9a7fec1f9f7d8352dff8a4c713b2e3eea9c6c4b5ff7f0edf46b91e41"}, + {file = "mypy-1.7.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7a7b1e399c47b18feb6f8ad4a3eef3813e28c1e871ea7d4ea5d444b2ac03c418"}, + {file = "mypy-1.7.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc9fe455ad58a20ec68599139ed1113b21f977b536a91b42bef3ffed5cce7391"}, + {file = "mypy-1.7.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d0fa29919d2e720c8dbaf07d5578f93d7b313c3e9954c8ec05b6d83da592e5d9"}, + {file = "mypy-1.7.0-cp38-cp38-win_amd64.whl", hash = "sha256:2b53655a295c1ed1af9e96b462a736bf083adba7b314ae775563e3fb4e6795f5"}, + {file = "mypy-1.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c1b06b4b109e342f7dccc9efda965fc3970a604db70f8560ddfdee7ef19afb05"}, + {file = "mypy-1.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bf7a2f0a6907f231d5e41adba1a82d7d88cf1f61a70335889412dec99feeb0f8"}, + {file = "mypy-1.7.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:551d4a0cdcbd1d2cccdcc7cb516bb4ae888794929f5b040bb51aae1846062901"}, + {file = "mypy-1.7.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:55d28d7963bef00c330cb6461db80b0b72afe2f3c4e2963c99517cf06454e665"}, + {file = "mypy-1.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:870bd1ffc8a5862e593185a4c169804f2744112b4a7c55b93eb50f48e7a77010"}, + {file = "mypy-1.7.0-py3-none-any.whl", hash = "sha256:96650d9a4c651bc2a4991cf46f100973f656d69edc7faf91844e87fe627f7e96"}, + {file = "mypy-1.7.0.tar.gz", hash = "sha256:1e280b5697202efa698372d2f39e9a6713a0395a756b1c6bd48995f8d72690dc"}, ] [package.dependencies] @@ -218,6 +220,7 @@ typing-extensions = ">=4.1.0" [package.extras] dmypy = ["psutil (>=4.0)"] install-types = ["pip"] +mypyc = ["setuptools (>=50)"] reports = ["lxml"] [package.source] @@ -262,13 +265,13 @@ reference = "tsinghua_mirror" [[package]] name = "packaging" -version = "23.1" +version = "23.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "packaging-23.1-py3-none-any.whl", hash = "sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61"}, - {file = "packaging-23.1.tar.gz", hash = "sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f"}, + {file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"}, + {file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"}, ] [package.source] @@ -294,13 +297,13 @@ reference = "tsinghua_mirror" [[package]] name = "platformdirs" -version = "3.10.0" +version = "3.11.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.10.0-py3-none-any.whl", hash = "sha256:d7c24979f292f916dc9cbf8648319032f551ea8c49a4c9bf2fb556a02070ec1d"}, - {file = "platformdirs-3.10.0.tar.gz", hash = "sha256:b45696dab2d7cc691a3226759c0d3b00c47c8b6e293d96f6436f733303f77f6d"}, + {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, + {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, ] [package.extras] @@ -314,13 +317,13 @@ reference = "tsinghua_mirror" [[package]] name = "pre-commit" -version = "3.3.3" +version = "3.5.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.8" files = [ - {file = "pre_commit-3.3.3-py2.py3-none-any.whl", hash = "sha256:10badb65d6a38caff29703362271d7dca483d01da88f9d7e05d0b97171c136cb"}, - {file = "pre_commit-3.3.3.tar.gz", hash = "sha256:a2256f489cd913d575c145132ae196fe335da32d91a8294b7afe6622335dd023"}, + {file = "pre_commit-3.5.0-py2.py3-none-any.whl", hash = "sha256:841dc9aef25daba9a0238cd27984041fa0467b4199fc4852e27950664919f660"}, + {file = "pre_commit-3.5.0.tar.gz", hash = "sha256:5804465c675b659b0862f07907f96295d490822a450c4c40e747d0b1c6ebcb32"}, ] [package.dependencies] @@ -337,23 +340,21 @@ reference = "tsinghua_mirror" [[package]] name = "pyside6" -version = "6.5.2" +version = "6.6.0" description = "Python bindings for the Qt cross-platform application and UI framework" optional = false -python-versions = "<3.12,>=3.7" +python-versions = "<3.13,>=3.8" files = [ - {file = "PySide6-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:b509e4d3ffde4a594d70000f881452643c9aaed800bad2959882075c01f72428"}, - {file = "PySide6-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:e6d879ca0f8827a7866856fbedd08857e4bd8f9a858dc998dea10d1913e97938"}, - {file = "PySide6-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:0356dc73c138c25b980d716e425801a61d4aa1d9f7811cf8a825499edfd4d1ae"}, - {file = "PySide6-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:f0944cb0da34dc3b0bb62c7a20b6618667760eccdaa4262a90ba7f64b19fb783"}, - {file = "PySide6-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:ca259b4377eb74e4c9cb74a2afb18c37658f0c83dc18229d1f325974739f6df2"}, - {file = "PySide6-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ad82cb12f805c5bec7693d6f1c0d6e4ae4b9462eb368a81bc0d3091de8fae76e"}, + {file = "PySide6-6.6.0-cp38-abi3-macosx_11_0_universal2.whl", hash = "sha256:8103f14ed46a05e81acccbfc8388e3321e392fe54f3aa4a13336bd2ed8af5cd4"}, + {file = "PySide6-6.6.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:d487eab0f9bfc5c9141b474093e16207ff48cd9335e6465a01deb8dff0693fbc"}, + {file = "PySide6-6.6.0-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:f40917b7a0c5c7f0c7faaa87e66ffa3b58d9d1d3d977d30fc07e193b82dd6749"}, + {file = "PySide6-6.6.0-cp38-abi3-win_amd64.whl", hash = "sha256:d41dfcfa32c89502cdaa20206b7e2aba199072f94b424bc6a4d6f50b10f4eb5a"}, ] [package.dependencies] -PySide6-Addons = "6.5.2" -PySide6-Essentials = "6.5.2" -shiboken6 = "6.5.2" +PySide6-Addons = "6.6.0" +PySide6-Essentials = "6.6.0" +shiboken6 = "6.6.0" [package.source] type = "legacy" @@ -362,22 +363,20 @@ reference = "tsinghua_mirror" [[package]] name = "pyside6-addons" -version = "6.5.2" +version = "6.6.0" description = "Python bindings for the Qt cross-platform application and UI framework (Addons)" optional = false -python-versions = "<3.12,>=3.7" +python-versions = "<3.13,>=3.8" files = [ - {file = "PySide6_Addons-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:a31cb7eca2e8cd80332e131124ed9ad197610a2a80eac4f2bd58e9124e38060a"}, - {file = "PySide6_Addons-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:bea98d823179b814109dcf3ac6c8a0eddf886570aa9ef8ef09b6bae37bc227ca"}, - {file = "PySide6_Addons-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:c77e06fd511cc8b9292c01724504d6806c33c1f5904bc59f5a8c560a74c15438"}, - {file = "PySide6_Addons-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:15bf592e54b3409853c3db23bdb20fb14725b84d50feee862e8b2a3a8a3a0627"}, - {file = "PySide6_Addons-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:26b55a658fed94a0b3c09927b408663860aca530bf6e83040dcb8fdcc221877d"}, - {file = "PySide6_Addons-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:793a53b7db32f7780fa9571a14f0bce3700604247127cdb2125b380c577a92eb"}, + {file = "PySide6_Addons-6.6.0-cp38-abi3-macosx_11_0_universal2.whl", hash = "sha256:82fe1bb6a1aabf5ab3d8632072dc908aa37fc75b4b46e520258c441bd6b103fb"}, + {file = "PySide6_Addons-6.6.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:5c56e963b841aeaacbc9ca8ca34df45308818dbd6fc59faa2b5a00a299e9892b"}, + {file = "PySide6_Addons-6.6.0-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:e145514a7c37ee3a6ad0ddd693f805ccff6fbd9640a24fb2ef6b7f852882d3e9"}, + {file = "PySide6_Addons-6.6.0-cp38-abi3-win_amd64.whl", hash = "sha256:414864f7cfbdf8ac4c5a745566a515f18b6018d5730bf5489cc2716b5e1fcd9b"}, ] [package.dependencies] -PySide6-Essentials = "6.5.2" -shiboken6 = "6.5.2" +PySide6-Essentials = "6.6.0" +shiboken6 = "6.6.0" [package.source] type = "legacy" @@ -386,21 +385,19 @@ reference = "tsinghua_mirror" [[package]] name = "pyside6-essentials" -version = "6.5.2" +version = "6.6.0" description = "Python bindings for the Qt cross-platform application and UI framework (Essentials)" optional = false -python-versions = "<3.12,>=3.7" +python-versions = "<3.13,>=3.8" files = [ - {file = "PySide6_Essentials-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:c9606de7afaee57f2c0861cc4b973bd630556dd38ec0d1542560cba81c27ab81"}, - {file = "PySide6_Essentials-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1620e82b38714a1570b142c01694d0415a25526517b24620ff9b00c9f76cfca9"}, - {file = "PySide6_Essentials-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:e67b10f96f0ac5ed24d7e3c4985d37c70550a9dee6f38b127faf5e5341151665"}, - {file = "PySide6_Essentials-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:149f1db77d82f35c6a88a403f5297645ebe737df28e163ac4dc402dfa0b961ee"}, - {file = "PySide6_Essentials-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4be6ed964cb863823f2788717b9a6ba8f1d94eb3fa2bf1584f4621ab5e021e27"}, - {file = "PySide6_Essentials-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6b21cf78b33554f793d409d79b828d9578d34200c86f813ef1b8dac756589b71"}, + {file = "PySide6_Essentials-6.6.0-cp38-abi3-macosx_11_0_universal2.whl", hash = "sha256:26d27e3e3a18acbc770a69a30774fd345414fe4932fcb89d2cfc4fc130c3eb33"}, + {file = "PySide6_Essentials-6.6.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:60284641619f964e1cb4d53cf3169d7a385e0378b74edb75610918d2aea1c4e5"}, + {file = "PySide6_Essentials-6.6.0-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:37d5d9c6ee696a17890f07e7ce1f88f890174bd4aca29f47922ecc959ab28352"}, + {file = "PySide6_Essentials-6.6.0-cp38-abi3-win_amd64.whl", hash = "sha256:97bbe33f584a09cef6a3fbc1295fb0fd7acaac345bc0f5601bf45d41c91683ac"}, ] [package.dependencies] -shiboken6 = "6.5.2" +shiboken6 = "6.6.0" [package.source] type = "legacy" @@ -419,6 +416,7 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, + {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -426,8 +424,15 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, + {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -444,6 +449,7 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, + {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -451,6 +457,7 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, + {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -463,19 +470,19 @@ reference = "tsinghua_mirror" [[package]] name = "setuptools" -version = "68.0.0" +version = "68.2.2" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, - {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, + {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, + {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "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-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "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"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [package.source] type = "legacy" @@ -484,17 +491,15 @@ reference = "tsinghua_mirror" [[package]] name = "shiboken6" -version = "6.5.2" +version = "6.6.0" description = "Python/C++ bindings helper module" optional = false -python-versions = "<3.12,>=3.7" +python-versions = "<3.13,>=3.8" files = [ - {file = "shiboken6-6.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:ba7af130d34ea03e329baebd80982d2635aee7e58dbb07a07085509a501ed03f"}, - {file = "shiboken6-6.5.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3fbc35ff3c19e7d39433671bfc1be3d7fa9d071bfdd0ffe1c2a4d27acd6cf6a5"}, - {file = "shiboken6-6.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:558bdb3b0ccc8aac5f9029eabfd6ad8d41f93a87cd7f54395e07732fce39280d"}, - {file = "shiboken6-6.5.2-pp39-pypy39_pp73-macosx_10_9_universal2.whl", hash = "sha256:4e073b40734a7f9cc6ac289c735362967bb45c34f591f7c0fab7cef1d62e6a66"}, - {file = "shiboken6-6.5.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:cc89759aabafce49b629b189ed7c81986fedaac695714a4eed1aaeb16783c6a9"}, - {file = "shiboken6-6.5.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e60d8dd3292e3f87662b9e37ae5c558c519f8250da627c473b68bd8d24ed3243"}, + {file = "shiboken6-6.6.0-cp38-abi3-macosx_11_0_universal2.whl", hash = "sha256:bf23c43e53ffe6097853666ced05358c6640c378e992902a36c4cf77efb0223b"}, + {file = "shiboken6-6.6.0-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:456b89fb4b323e0c5002d92e4d346b48bb4e709db801208df8a0d6b4f5efc33d"}, + {file = "shiboken6-6.6.0-cp38-abi3-manylinux_2_31_aarch64.whl", hash = "sha256:fb8c683206c3365f9240fff7f908485384893b02efb089b69ff816b4390baa9a"}, + {file = "shiboken6-6.6.0-cp38-abi3-win_amd64.whl", hash = "sha256:e62b2610b84f0ff7ed0181a4c535849cdc0654127097b5ef561cf0a33078f245"}, ] [package.source] @@ -520,13 +525,13 @@ reference = "tsinghua_mirror" [[package]] name = "typing-extensions" -version = "4.7.1" -description = "Backported and Experimental Type Hints for Python 3.7+" +version = "4.8.0" +description = "Backported and Experimental Type Hints for Python 3.8+" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, - {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, + {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, + {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, ] [package.source] @@ -536,13 +541,13 @@ reference = "tsinghua_mirror" [[package]] name = "virtualenv" -version = "20.24.3" +version = "20.24.6" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.24.3-py3-none-any.whl", hash = "sha256:95a6e9398b4967fbcb5fef2acec5efaf9aa4972049d9ae41f95e0972a683fd02"}, - {file = "virtualenv-20.24.3.tar.gz", hash = "sha256:e5c3b4ce817b0b328af041506a2a299418c98747c4b1e68cb7527e74ced23efc"}, + {file = "virtualenv-20.24.6-py3-none-any.whl", hash = "sha256:520d056652454c5098a00c0f073611ccbea4c79089331f60bf9d7ba247bb7381"}, + {file = "virtualenv-20.24.6.tar.gz", hash = "sha256:02ece4f56fbf939dbbc33c0715159951d6bf14aaf5457b092e4548e1382455af"}, ] [package.dependencies] @@ -551,7 +556,7 @@ filelock = ">=3.12.2,<4" platformdirs = ">=3.9.1,<4" [package.extras] -docs = ["furo (>=2023.5.20)", "proselint (>=0.13)", "sphinx (>=7.0.1)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] +docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] [package.source] diff --git a/pyproject.toml b/pyproject.toml index e422e7c..eb392fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,13 +17,13 @@ priority = "default" [tool.poetry.dependencies] python = ">=3.9,<3.12" -pyside6 = "^6.5.0" +pyside6 = "^6.6.0" [tool.poetry.group.dev.dependencies] -black = "^23.7.0" +black = "^23.11.0" isort = "^5.12.0" -mypy = "^1.5.0" -pre-commit = "^3.3.3" +mypy = "^1.7.0" +pre-commit = "^3.5.0" [build-system] requires = ["poetry-core>=1.0.0"]