# generated by rye # use `rye lock` or `rye sync` to update this lockfile # # last locked with the following flags: # pre: false # features: [] # all-features: true # with-sources: false # generate-hashes: false # universal: false -e file:. aiohappyeyeballs==2.6.1 # via aiohttp aiohttp==3.13.3 # via httpx-aiohttp # via openai aiosignal==1.4.0 # via aiohttp annotated-types==0.7.0 # via pydantic anyio==4.12.1 # via httpx # via openai argcomplete==3.6.3 # via nox asttokens==3.0.1 # via inline-snapshot async-timeout==5.0.1 # via aiohttp attrs==25.4.0 # via aiohttp # via nox # via outcome # via trio azure-core==1.36.0 # via azure-identity azure-identity==1.25.1 backports-asyncio-runner==1.2.0 # via pytest-asyncio certifi==2026.1.4 # via httpcore # via httpx # via requests cffi==2.0.0 # via cryptography # via sounddevice charset-normalizer==3.4.4 # via requests colorama==0.4.6 # via griffe colorlog==6.10.1 # via nox cryptography==46.0.3 # via azure-identity # via msal # via pyjwt dependency-groups==1.3.1 # via nox dirty-equals==0.11 distlib==0.4.0 # via virtualenv distro==1.9.0 # via openai exceptiongroup==1.3.1 # via anyio # via pytest # via trio execnet==2.1.2 # via pytest-xdist executing==2.2.1 # via inline-snapshot filelock==3.19.1 # via virtualenv frozenlist==1.8.0 # via aiohttp # via aiosignal griffe==1.14.0 h11==0.16.0 # via httpcore httpcore==1.0.9 # via httpx httpx==0.28.1 # via httpx-aiohttp # via openai # via respx httpx-aiohttp==0.1.12 # via openai humanize==4.13.0 # via nox idna==3.11 # via anyio # via httpx # via requests # via trio # via yarl importlib-metadata==8.7.1 iniconfig==2.1.0 # via pytest inline-snapshot==0.31.1 jiter==0.12.0 # via openai markdown-it-py==3.0.0 # via rich mdurl==0.1.2 # via markdown-it-py msal==1.34.0 # via azure-identity # via msal-extensions msal-extensions==1.3.1 # via azure-identity multidict==6.7.0 # via aiohttp # via yarl mypy==1.17.0 mypy-extensions==1.1.0 # via mypy nest-asyncio==1.6.0 nodeenv==1.9.1 # via pyright nox==2025.11.12 numpy==2.0.2 # via openai # via pandas # via pandas-stubs outcome==1.3.0.post0 # via trio packaging==25.0 # via dependency-groups # via nox # via pytest pandas==2.3.3 # via openai pandas-stubs==2.2.2.240807 # via openai pathspec==0.12.1 # via mypy platformdirs==4.4.0 # via virtualenv pluggy==1.6.0 # via pytest propcache==0.4.1 # via aiohttp # via yarl pycparser==2.23 # via cffi pydantic==2.12.5 # via openai pydantic-core==2.41.5 # via pydantic pygments==2.19.2 # via pytest # via rich pyjwt==2.10.1 # via msal pyright==1.1.399 pytest==8.4.2 # via inline-snapshot # via pytest-asyncio # via pytest-xdist pytest-asyncio==1.2.0 pytest-xdist==3.8.0 python-dateutil==2.9.0.post0 # via pandas # via time-machine pytz==2025.2 # via pandas requests==2.32.5 # via azure-core # via msal respx==0.22.0 rich==14.2.0 # via inline-snapshot ruff==0.14.7 six==1.17.0 # via python-dateutil sniffio==1.3.1 # via openai # via trio sortedcontainers==2.4.0 # via trio sounddevice==0.5.3 # via openai time-machine==2.19.0 tomli==2.4.0 # via dependency-groups # via inline-snapshot # via mypy # via nox # via pytest tqdm==4.67.1 # via openai trio==0.31.0 types-pyaudio==0.2.16.20250801 types-pytz==2025.2.0.20251108 # via pandas-stubs types-requests==2.32.4.20250913 # via types-tqdm types-tqdm==4.67.0.20250809 typing-extensions==4.15.0 # via aiosignal # via anyio # via azure-core # via azure-identity # via cryptography # via exceptiongroup # via multidict # via mypy # via openai # via pydantic # via pydantic-core # via pyright # via pytest-asyncio # via typing-inspection # via virtualenv typing-inspection==0.4.2 # via pydantic tzdata==2025.2 # via pandas urllib3==2.5.0 # via requests # via types-requests virtualenv==20.35.4 # via nox websockets==15.0.1 # via openai yarl==1.22.0 # via aiohttp zipp==3.23.0 # via importlib-metadata