# This file was autogenerated by uv via the following command:
#    uv export --frozen --no-hashes --no-emit-project --all-groups --all-extras --output-file=requirements-dev.txt
absl-py==2.3.1
    # via malloy
altair==5.5.0
    # via boring-semantic-layer
annotated-types==0.7.0
    # via pydantic
anthropic==0.75.0
    # via langchain-anthropic
anyio==4.11.0
    # via
    #   anthropic
    #   httpx
    #   mcp
    #   openai
    #   sse-starlette
    #   starlette
asn1crypto==1.5.1
    # via snowflake-connector-python
atpublic==6.0.2
    # via
    #   ibis-framework
    #   xorq
attrs==25.4.0
    # via
    #   boring-semantic-layer
    #   cyclopts
    #   jsonschema
    #   referencing
    #   xorq
authlib==1.6.5
    # via fastmcp
backports-asyncio-runner==1.2.0 ; python_full_version < '3.11'
    # via pytest-asyncio
backports-tarfile==1.2.0 ; python_full_version < '3.12'
    # via jaraco-context
beartype==0.22.5
    # via
    #   py-key-value-aio
    #   py-key-value-shared
beniget==0.4.2.post1 ; sys_platform == 'darwin'
    # via pythran
boto3==1.40.64
    # via snowflake-connector-python
botocore==1.40.64
    # via
    #   boto3
    #   s3transfer
    #   snowflake-connector-python
cachetools==6.2.1
    # via
    #   google-auth
    #   py-key-value-aio
certifi==2025.10.5
    # via
    #   httpcore
    #   httpx
    #   requests
    #   snowflake-connector-python
cffi==2.0.0 ; platform_python_implementation != 'PyPy'
    # via cryptography
cfgv==3.4.0
    # via pre-commit
charset-normalizer==3.4.4
    # via
    #   requests
    #   snowflake-connector-python
choreographer==1.2.0
    # via kaleido
cityhash==0.4.10 ; python_full_version < '4'
    # via xorq
click==8.3.0 ; python_full_version < '4' or sys_platform != 'emscripten'
    # via
    #   dask
    #   uvicorn
cloudpickle==3.1.2
    # via
    #   dask
    #   xorq
colorama==0.4.6 ; sys_platform == 'win32'
    # via
    #   click
    #   pytest
    #   tqdm
cryptography==46.0.3
    # via
    #   authlib
    #   pyjwt
    #   pyopenssl
    #   secretstorage
    #   snowflake-connector-python
    #   xorq
cyclopts==4.2.1
    # via fastmcp
dask==2025.1.0 ; python_full_version < '4'
    # via xorq
diskcache==5.6.3
    # via py-key-value-aio
distlib==0.4.0
    # via virtualenv
distro==1.9.0
    # via
    #   anthropic
    #   openai
dnspython==2.8.0
    # via email-validator
docstring-parser==0.17.0
    # via
    #   anthropic
    #   cyclopts
docutils==0.22.2
    # via rich-rst
duckdb==1.3.2
    # via
    #   boring-semantic-layer
    #   malloy
    #   xorq
email-validator==2.3.0
    # via pydantic
envyaml==1.10.211231
    # via xorq
exceptiongroup==1.3.0
    # via
    #   anyio
    #   fastmcp
    #   pytest
fastjsonschema==2.21.2
    # via nbformat
fastmcp==2.13.0.2
    # via boring-semantic-layer
filelock==3.20.0
    # via
    #   snowflake-connector-python
    #   virtualenv
fsspec==2025.10.0 ; python_full_version < '4'
    # via dask
gast==0.6.0 ; sys_platform == 'darwin'
    # via
    #   beniget
    #   pythran
geoarrow-types==0.3.0 ; python_full_version < '4'
    # via xorq
google-api-core==2.28.1
    # via
    #   google-cloud-bigquery
    #   google-cloud-core
google-auth==2.42.1
    # via
    #   google-api-core
    #   google-cloud-bigquery
    #   google-cloud-core
google-cloud-bigquery==3.38.0
    # via malloy
google-cloud-core==2.5.0
    # via google-cloud-bigquery
google-crc32c==1.7.1
    # via google-resumable-media
google-resumable-media==2.7.2
    # via google-cloud-bigquery
googleapis-common-protos==1.71.0
    # via
    #   google-api-core
    #   grpcio-status
    #   opentelemetry-exporter-otlp-proto-grpc
    #   opentelemetry-exporter-otlp-proto-http
grpcio==1.76.0
    # via
    #   google-api-core
    #   grpcio-status
    #   opentelemetry-exporter-otlp-proto-grpc
grpcio-status==1.76.0
    # via google-api-core
h11==0.16.0
    # via
    #   httpcore
    #   uvicorn
httpcore==1.0.9
    # via httpx
httpx==0.28.1
    # via
    #   anthropic
    #   fastmcp
    #   langgraph-sdk
    #   langsmith
    #   mcp
    #   openai
httpx-sse==0.4.0
    # via mcp
ibis-framework==11.0.0
    # via boring-semantic-layer
identify==2.6.15
    # via pre-commit
idna==3.11
    # via
    #   anyio
    #   email-validator
    #   httpx
    #   requests
    #   snowflake-connector-python
importlib-metadata==8.7.0
    # via
    #   dask
    #   keyring
    #   opentelemetry-api
iniconfig==2.3.0
    # via pytest
jaraco-classes==3.4.0
    # via keyring
jaraco-context==6.0.1
    # via keyring
jaraco-functools==4.3.0
    # via keyring
jeepney==0.9.0 ; sys_platform == 'linux'
    # via
    #   keyring
    #   secretstorage
jinja2==3.1.6
    # via altair
jiter==0.12.0
    # via
    #   anthropic
    #   openai
jmespath==1.0.1
    # via
    #   boto3
    #   botocore
jsonpatch==1.33
    # via langchain-core
jsonpointer==3.0.0
    # via jsonpatch
jsonschema==4.25.1
    # via
    #   altair
    #   mcp
    #   nbformat
jsonschema-path==0.3.4
    # via fastmcp
jsonschema-specifications==2025.9.1
    # via jsonschema
jupyter-core==5.9.1
    # via nbformat
kaleido==1.1.0
    # via boring-semantic-layer
keyring==25.6.0
    # via py-key-value-aio
langchain==1.1.0
    # via boring-semantic-layer
langchain-anthropic==1.2.0
    # via boring-semantic-layer
langchain-core==1.1.0
    # via
    #   langchain
    #   langchain-anthropic
    #   langchain-openai
    #   langgraph
    #   langgraph-checkpoint
    #   langgraph-prebuilt
langchain-openai==1.1.0
    # via boring-semantic-layer
langgraph==1.0.4
    # via langchain
langgraph-checkpoint==3.0.1
    # via
    #   langgraph
    #   langgraph-prebuilt
langgraph-prebuilt==1.0.5
    # via langgraph
langgraph-sdk==0.2.10
    # via langgraph
langsmith==0.4.49
    # via langchain-core
locket==1.0.0 ; python_full_version < '4'
    # via partd
logistro==2.0.1
    # via
    #   choreographer
    #   kaleido
malloy==2024.1096
    # via boring-semantic-layer
markdown-it-py==4.0.0
    # via rich
markupsafe==3.0.3
    # via jinja2
mcp==1.20.0
    # via fastmcp
mdurl==0.1.2
    # via markdown-it-py
more-itertools==10.8.0
    # via
    #   jaraco-classes
    #   jaraco-functools
narwhals==2.10.1
    # via
    #   altair
    #   plotly
nbformat==5.10.4
    # via boring-semantic-layer
nodeenv==1.9.1
    # via pre-commit
numpy==2.2.6 ; python_full_version < '3.11'
    # via
    #   pandas
    #   pythran
numpy==2.3.4 ; python_full_version >= '3.11'
    # via
    #   pandas
    #   pythran
openai==2.8.1
    # via
    #   boring-semantic-layer
    #   langchain-openai
openapi-pydantic==0.5.1
    # via fastmcp
opentelemetry-api==1.38.0
    # via
    #   opentelemetry-exporter-otlp-proto-grpc
    #   opentelemetry-exporter-otlp-proto-http
    #   opentelemetry-exporter-prometheus
    #   opentelemetry-sdk
    #   opentelemetry-semantic-conventions
opentelemetry-exporter-otlp==1.38.0
    # via xorq
opentelemetry-exporter-otlp-proto-common==1.38.0
    # via
    #   opentelemetry-exporter-otlp-proto-grpc
    #   opentelemetry-exporter-otlp-proto-http
opentelemetry-exporter-otlp-proto-grpc==1.38.0
    # via opentelemetry-exporter-otlp
opentelemetry-exporter-otlp-proto-http==1.38.0
    # via opentelemetry-exporter-otlp
opentelemetry-exporter-prometheus==0.59b0
    # via xorq
opentelemetry-proto==1.38.0
    # via
    #   opentelemetry-exporter-otlp-proto-common
    #   opentelemetry-exporter-otlp-proto-grpc
    #   opentelemetry-exporter-otlp-proto-http
opentelemetry-sdk==1.38.0
    # via
    #   opentelemetry-exporter-otlp-proto-grpc
    #   opentelemetry-exporter-otlp-proto-http
    #   opentelemetry-exporter-prometheus
    #   xorq
opentelemetry-semantic-conventions==0.59b0
    # via opentelemetry-sdk
orjson==3.11.4
    # via
    #   kaleido
    #   langgraph-sdk
    #   langsmith
ormsgpack==1.12.0
    # via langgraph-checkpoint
packaging==25.0
    # via
    #   altair
    #   boring-semantic-layer
    #   dask
    #   google-cloud-bigquery
    #   kaleido
    #   langchain-core
    #   langsmith
    #   plotly
    #   pytest
    #   snowflake-connector-python
pandas==2.3.3
    # via
    #   boring-semantic-layer
    #   xorq
parsy==2.2
    # via
    #   ibis-framework
    #   xorq
partd==1.4.2 ; python_full_version < '4'
    # via dask
pathable==0.4.4
    # via jsonschema-path
pathvalidate==3.3.1
    # via py-key-value-aio
platformdirs==4.5.0
    # via
    #   fastmcp
    #   jupyter-core
    #   snowflake-connector-python
    #   virtualenv
plotext==5.3.2
    # via boring-semantic-layer
plotly==6.3.1
    # via boring-semantic-layer
pluggy==1.6.0
    # via pytest
ply==3.11 ; sys_platform == 'darwin'
    # via pythran
pre-commit==4.3.0
    # via boring-semantic-layer
prometheus-client==0.23.1
    # via
    #   opentelemetry-exporter-prometheus
    #   xorq
proto-plus==1.26.1
    # via google-api-core
protobuf==6.33.0
    # via
    #   google-api-core
    #   googleapis-common-protos
    #   grpcio-status
    #   opentelemetry-proto
    #   proto-plus
py-key-value-aio==0.2.8
    # via fastmcp
py-key-value-shared==0.2.8
    # via py-key-value-aio
pyarrow==21.0.0 ; python_full_version < '4'
    # via
    #   xorq
    #   xorq-datafusion
pyarrow-hotfix==0.7 ; python_full_version < '4'
    # via xorq
pyasn1==0.6.1
    # via
    #   pyasn1-modules
    #   rsa
pyasn1-modules==0.4.2
    # via google-auth
pycparser==2.23 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy'
    # via cffi
pydantic==2.12.3
    # via
    #   anthropic
    #   fastmcp
    #   langchain
    #   langchain-anthropic
    #   langchain-core
    #   langgraph
    #   langsmith
    #   mcp
    #   openai
    #   openapi-pydantic
    #   pydantic-settings
pydantic-core==2.41.4
    # via pydantic
pydantic-settings==2.11.0
    # via mcp
pygments==2.19.2
    # via
    #   pytest
    #   rich
pyjwt==2.10.1
    # via
    #   mcp
    #   snowflake-connector-python
pyopenssl==25.3.0
    # via snowflake-connector-python
pyperclip==1.11.0
    # via fastmcp
pytest==8.4.2
    # via
    #   boring-semantic-layer
    #   pytest-asyncio
    #   pytest-mock
    #   pytest-timeout
pytest-asyncio==1.2.0
    # via boring-semantic-layer
pytest-mock==3.15.1 ; python_full_version < '4'
    # via xorq
pytest-timeout==2.4.0
    # via kaleido
python-dateutil==2.9.0.post0
    # via
    #   botocore
    #   google-cloud-bigquery
    #   ibis-framework
    #   pandas
    #   xorq
python-dotenv==1.2.1
    # via
    #   boring-semantic-layer
    #   fastmcp
    #   pydantic-settings
python-multipart==0.0.20
    # via mcp
pythran==0.18.0 ; sys_platform == 'darwin'
    # via xorq
pytz==2025.2
    # via
    #   pandas
    #   snowflake-connector-python
    #   xorq
pywin32==311 ; sys_platform == 'win32'
    # via mcp
pywin32-ctypes==0.2.3 ; sys_platform == 'win32'
    # via keyring
pyyaml==6.0.3
    # via
    #   boring-semantic-layer
    #   dask
    #   envyaml
    #   jsonschema-path
    #   langchain-core
    #   pre-commit
    #   xorq
referencing==0.36.2
    # via
    #   jsonschema
    #   jsonschema-path
    #   jsonschema-specifications
regex==2025.11.3
    # via tiktoken
requests==2.32.5
    # via
    #   google-api-core
    #   google-cloud-bigquery
    #   jsonschema-path
    #   langsmith
    #   opentelemetry-exporter-otlp-proto-http
    #   requests-toolbelt
    #   snowflake-connector-python
    #   tiktoken
requests-toolbelt==1.0.0
    # via langsmith
returns==0.26.0
    # via boring-semantic-layer
rich==14.2.0
    # via
    #   boring-semantic-layer
    #   cyclopts
    #   fastmcp
    #   rich-rst
    #   xorq
rich-rst==1.3.2
    # via cyclopts
rpds-py==0.28.0
    # via
    #   jsonschema
    #   referencing
rsa==4.9.1
    # via google-auth
ruff==0.14.3
    # via boring-semantic-layer
s3transfer==0.14.0
    # via boto3
secretstorage==3.4.0 ; sys_platform == 'linux'
    # via keyring
setuptools==80.9.0 ; sys_platform == 'darwin'
    # via pythran
simplejson==3.20.2
    # via choreographer
six==1.17.0
    # via python-dateutil
sniffio==1.3.1
    # via
    #   anthropic
    #   anyio
    #   openai
snowflake-connector-python==4.0.0
    # via malloy
sortedcontainers==2.4.0
    # via snowflake-connector-python
sqlglot==25.20.2
    # via
    #   ibis-framework
    #   xorq
sse-starlette==3.0.3
    # via mcp
starlette==0.50.0
    # via mcp
strenum==0.4.15 ; python_full_version < '3.11'
    # via xorq
structlog==25.5.0 ; python_full_version < '4'
    # via xorq
tenacity==9.1.2
    # via langchain-core
tiktoken==0.12.0
    # via langchain-openai
tomli==2.3.0 ; python_full_version < '3.11'
    # via
    #   cyclopts
    #   pytest
tomlkit==0.13.3
    # via snowflake-connector-python
toolz==1.1.0
    # via
    #   dask
    #   ibis-framework
    #   partd
    #   xorq
tqdm==4.67.1
    # via openai
traitlets==5.14.3
    # via
    #   jupyter-core
    #   nbformat
typing-extensions==4.15.0
    # via
    #   altair
    #   anthropic
    #   anyio
    #   cryptography
    #   cyclopts
    #   exceptiongroup
    #   grpcio
    #   ibis-framework
    #   langchain-core
    #   openai
    #   opentelemetry-api
    #   opentelemetry-exporter-otlp-proto-grpc
    #   opentelemetry-exporter-otlp-proto-http
    #   opentelemetry-sdk
    #   opentelemetry-semantic-conventions
    #   py-key-value-shared
    #   pydantic
    #   pydantic-core
    #   pyopenssl
    #   pytest-asyncio
    #   referencing
    #   returns
    #   snowflake-connector-python
    #   starlette
    #   structlog
    #   typing-inspection
    #   uvicorn
    #   virtualenv
    #   xorq
typing-inspection==0.4.2
    # via
    #   pydantic
    #   pydantic-settings
tzdata==2025.2
    # via
    #   ibis-framework
    #   pandas
urllib3==2.5.0
    # via
    #   boring-semantic-layer
    #   botocore
    #   requests
uv==0.9.7
    # via xorq
uvicorn==0.38.0 ; sys_platform != 'emscripten'
    # via mcp
virtualenv==20.35.4
    # via pre-commit
vl-convert-python==1.8.0
    # via boring-semantic-layer
websockets==15.0.1
    # via fastmcp
xorq==0.3.4
    # via boring-semantic-layer
xorq-datafusion==0.2.4
    # via xorq
xxhash==3.6.0
    # via langgraph
zipp==3.23.0
    # via importlib-metadata
zstandard==0.25.0
    # via langsmith
