[project] name = "crawler-desktop-app" version = "0.1.0" description = "Desktop crawler app backend and pywebview shell." requires-python = ">=3.9,<3.10" dependencies = [ "alibabacloud-oss-v2==1.2.4", "altgraph==0.17.5", "annotated-types==0.7.0", "anyio==4.12.1", "Authlib==1.6.8", "blinker==1.9.0", "bottle==0.13.4", "certifi==2026.1.4", "cffi==2.0.0", "charset-normalizer==3.4.4", "click==8.1.8", "clr_loader==0.2.10", "colorama==0.4.6", "cozepy==0.20.0", "crcmod-plus==2.3.1", "cryptography==41.0.0", "cssselect==1.3.0", "DataRecorder==3.6.2", "distro==1.9.0", "DownloadKit==2.0.7", "DrissionPage==4.1.1.2", "et_xmlfile==2.0.0", "exceptiongroup==1.3.1", "filelock==3.19.1", "Flask==3.1.3", "flask-cors==6.0.2", "h11==0.16.0", "httpcore==1.0.9", "httpx==0.28.1", "idna==3.11", "importlib_metadata==8.7.1", "itsdangerous==2.2.0", "Jinja2==3.1.6", "lxml==6.0.2", "MarkupSafe==3.0.3", "MouseInfo==0.1.3", "Nuitka==2.8.6", "numpy==1.25.2", "openpyxl==3.1.5", "ordered-set==4.1.0", "packaging==26.0", "pandas==2.3.3", "pefile==2024.8.26", "pillow==11.3.0", "proxy_tools==0.1.0", "psutil==7.2.2", "PyAutoGUI==0.9.54", "pycparser==2.23", "pycryptodome==3.23.0", "pydantic==2.12.5", "pydantic_core==2.41.5", "PyGetWindow==0.0.9", "pyinstaller==6.19.0", "pyinstaller-hooks-contrib==2026.3", "PyMsgBox==2.0.1", "PyMySQL==1.1.2", "pyperclip==1.11.0", "PyQt5==5.15.11", "PyQt5-Qt5==5.15.2", "PyQt5_sip==12.17.1", "PyRect==0.2.0", "PyScreeze==1.0.1", "python-dateutil==2.9.0.post0", "python-dotenv==1.2.1", "pythonnet==3.0.5", "pytweening==1.2.0", "pytz==2026.1.post1", "pywebview==6.1", "pywin32-ctypes==0.2.3", "requests==2.32.5", "requests-file==3.0.1", "six==1.17.0", "tldextract==5.3.0", "typing-inspection==0.4.2", "typing_extensions==4.15.0", "tzdata==2025.3", "urllib3==2.6.3", "websocket-client==1.9.0", "websockets==14.2", "Werkzeug==3.1.6", "zipp==3.23.0", "zstandard==0.25.0", ] [tool.uv] package = false [dependency-groups] dev = [ "pytest>=8.4.2", "ruff>=0.14.0", ]