#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
#    pip-compile --output-file=requirements.txt --strip-extras requirements.in
#
-e /spyctl
    # via -r requirements.in
aioboto3==13.2.0
    # via -r requirements.in
aiobotocore==2.15.2
    # via aioboto3
aiofiles==24.1.0
    # via
    #   -r requirements.in
    #   aioboto3
aiohappyeyeballs==2.4.3
    # via aiohttp
aiohttp==3.10.10
    # via aiobotocore
aioitertools==0.12.0
    # via aiobotocore
aiosignal==1.3.1
    # via aiohttp
annotated-types==0.7.0
    # via pydantic
anyio==4.6.2.post1
    # via
    #   httpx
    #   starlette
    #   watchfiles
attrs==24.2.0
    # via aiohttp
babel==2.16.0
    # via zulu
beautifulsoup4==4.12.3
    # via -r requirements.in
boto3==1.35.36
    # via aiobotocore
botocore==1.35.36
    # via
    #   aiobotocore
    #   boto3
    #   s3transfer
brotli==1.1.0
    # via fonttools
certifi==2024.8.30
    # via
    #   -r requirements.in
    #   httpcore
    #   httpx
    #   requests
cffi==1.17.1
    # via weasyprint
charset-normalizer==3.4.0
    # via requests
click==8.1.7
    # via
    #   click-aliases
    #   spyctl
    #   uvicorn
click-aliases==1.0.5
    # via spyctl
cssselect2==0.7.0
    # via weasyprint
fastapi==0.115.4
    # via -r requirements.in
fonttools==4.54.1
    # via weasyprint
frozenlist==1.5.0
    # via
    #   aiohttp
    #   aiosignal
h11==0.14.0
    # via
    #   httpcore
    #   uvicorn
httpcore==1.0.6
    # via httpx
httptools==0.6.4
    # via uvicorn
httpx==0.27.2
    # via -r requirements.in
idna==3.10
    # via
    #   anyio
    #   httpx
    #   requests
    #   yarl
iso8601==2.1.0
    # via zulu
jinja2==3.1.4
    # via -r requirements.in
jmespath==1.0.1
    # via
    #   boto3
    #   botocore
markdown2==2.5.1
    # via -r requirements.in
markupsafe==3.0.2
    # via jinja2
multidict==6.1.0
    # via
    #   aiohttp
    #   yarl
numpy==2.1.3
    # via pandas
pandas==2.2.3
    # via -r requirements.in
pillow==10.4.0
    # via weasyprint
propcache==0.2.0
    # via yarl
pycparser==2.22
    # via cffi
pydantic==2.9.2
    # via
    #   fastapi
    #   spyctl
pydantic-core==2.23.4
    # via pydantic
pydyf==0.11.0
    # via weasyprint
pyphen==0.15.0
    # via weasyprint
python-dateutil==2.9.0.post0
    # via
    #   botocore
    #   pandas
    #   spyctl
    #   zulu
python-dotenv==1.0.1
    # via uvicorn
pytimeparse==1.1.8
    # via zulu
pytz==2024.2
    # via pandas
pyyaml==6.0.2
    # via
    #   -r requirements.in
    #   spyctl
    #   uvicorn
requests==2.32.3
    # via spyctl
s3transfer==0.10.3
    # via boto3
schema==0.7.7
    # via spyctl
six==1.16.0
    # via python-dateutil
sniffio==1.3.1
    # via
    #   anyio
    #   httpx
soupsieve==2.6
    # via beautifulsoup4
starlette==0.41.2
    # via fastapi
tabulate==0.9.0
    # via spyctl
tinycss2==1.4.0
    # via
    #   cssselect2
    #   weasyprint
tinyhtml5==2.0.0
    # via weasyprint
tqdm==4.66.6
    # via spyctl
typing-extensions==4.12.2
    # via
    #   fastapi
    #   pydantic
    #   pydantic-core
    #   spyctl
tzdata==2024.2
    # via pandas
ulid-py==1.1.0
    # via -r requirements.in
urllib3==2.2.3
    # via
    #   botocore
    #   requests
uvicorn==0.32.0
    # via -r requirements.in
uvloop==0.21.0
    # via uvicorn
watchfiles==0.24.0
    # via uvicorn
weasyprint==63.0
    # via -r requirements.in
webencodings==0.5.1
    # via
    #   cssselect2
    #   tinycss2
    #   tinyhtml5
websockets==13.1
    # via uvicorn
wrapt==1.16.0
    # via aiobotocore
xlsxwriter==3.2.0
    # via -r requirements.in
yarl==1.17.1
    # via aiohttp
zopfli==0.2.3.post1
    # via fonttools
zulu==2.0.1
    # via spyctl
