# This file was autogenerated by uv via the following command:
#    uv pip compile requirements/development.in -c requirements/base-constraint.txt -o requirements/development.txt
-e .
    # via -r requirements/development.in
-e ./superset-core
    # via
    #   apache-superset
    #   apache-superset-extensions-cli
-e ./superset-extensions-cli
    # via
    #   -r requirements/development.in
    #   apache-superset
alembic==1.15.2
    # via
    #   -c requirements/base-constraint.txt
    #   flask-migrate
amqp==5.3.1
    # via
    #   -c requirements/base-constraint.txt
    #   kombu
annotated-types==0.7.0
    # via
    #   -c requirements/base-constraint.txt
    #   pydantic
apispec==6.6.1
    # via
    #   -c requirements/base-constraint.txt
    #   flask-appbuilder
apsw==3.50.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   shillelagh
astroid==3.3.10
    # via pylint
attrs==25.3.0
    # via
    #   -c requirements/base-constraint.txt
    #   cattrs
    #   jsonschema
    #   outcome
    #   referencing
    #   requests-cache
    #   trio
babel==2.17.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-babel
backoff==2.2.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
bcrypt==4.3.0
    # via
    #   -c requirements/base-constraint.txt
    #   paramiko
billiard==4.2.1
    # via
    #   -c requirements/base-constraint.txt
    #   celery
blinker==1.9.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask
bottleneck==1.5.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
brotli==1.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-compress
cachelib==0.13.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-caching
    #   flask-session
cachetools==5.5.2
    # via
    #   -c requirements/base-constraint.txt
    #   google-auth
cattrs==25.1.1
    # via
    #   -c requirements/base-constraint.txt
    #   requests-cache
celery==5.5.2
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
certifi==2025.6.15
    # via
    #   -c requirements/base-constraint.txt
    #   requests
    #   selenium
cffi==1.17.1
    # via
    #   -c requirements/base-constraint.txt
    #   cryptography
    #   pynacl
cfgv==3.4.0
    # via pre-commit
charset-normalizer==3.4.2
    # via
    #   -c requirements/base-constraint.txt
    #   requests
click==8.2.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   apache-superset-extensions-cli
    #   celery
    #   click-didyoumean
    #   click-option-group
    #   click-plugins
    #   click-repl
    #   flask
    #   flask-appbuilder
click-didyoumean==0.3.1
    # via
    #   -c requirements/base-constraint.txt
    #   celery
click-option-group==0.5.7
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
click-plugins==1.1.1
    # via
    #   -c requirements/base-constraint.txt
    #   celery
click-repl==0.3.0
    # via
    #   -c requirements/base-constraint.txt
    #   celery
cmdstanpy==1.1.0
    # via prophet
colorama==0.4.6
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   flask-appbuilder
contourpy==1.0.7
    # via matplotlib
coverage==7.6.8
    # via pytest-cov
cron-descriptor==1.4.5
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
croniter==6.0.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
cryptography==44.0.3
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   paramiko
    #   pyopenssl
cycler==0.12.1
    # via matplotlib
db-dtypes==1.3.1
    # via pandas-gbq
defusedxml==0.7.1
    # via
    #   -c requirements/base-constraint.txt
    #   odfpy
deprecated==1.2.18
    # via
    #   -c requirements/base-constraint.txt
    #   limits
deprecation==2.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
dill==0.4.0
    # via pylint
distlib==0.3.8
    # via virtualenv
dnspython==2.7.0
    # via
    #   -c requirements/base-constraint.txt
    #   email-validator
docker==7.0.0
    # via apache-superset
duckdb==1.3.2
    # via duckdb-engine
duckdb-engine==0.17.0
    # via apache-superset
email-validator==2.2.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-appbuilder
et-xmlfile==2.0.0
    # via
    #   -c requirements/base-constraint.txt
    #   openpyxl
filelock==3.12.2
    # via virtualenv
flask==2.3.3
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   flask-appbuilder
    #   flask-babel
    #   flask-caching
    #   flask-compress
    #   flask-cors
    #   flask-jwt-extended
    #   flask-limiter
    #   flask-login
    #   flask-migrate
    #   flask-session
    #   flask-sqlalchemy
    #   flask-testing
    #   flask-wtf
flask-appbuilder==5.0.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   apache-superset-core
flask-babel==3.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-appbuilder
flask-caching==2.3.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
flask-compress==1.17
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
flask-cors==4.0.2
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
flask-jwt-extended==4.7.1
    # via
    #   -c requirements/base-constraint.txt
    #   flask-appbuilder
flask-limiter==3.12
    # via
    #   -c requirements/base-constraint.txt
    #   flask-appbuilder
flask-login==0.6.3
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   flask-appbuilder
flask-migrate==3.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
flask-session==0.8.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
flask-sqlalchemy==2.5.1
    # via
    #   -c requirements/base-constraint.txt
    #   flask-appbuilder
    #   flask-migrate
flask-talisman==1.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
flask-testing==0.8.1
    # via apache-superset
flask-wtf==1.2.2
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   flask-appbuilder
fonttools==4.55.0
    # via matplotlib
freezegun==1.5.1
    # via apache-superset
future==1.0.0
    # via pyhive
geographiclib==2.0
    # via
    #   -c requirements/base-constraint.txt
    #   geopy
geopy==2.4.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
gevent==24.2.1
    # via apache-superset
google-api-core==2.23.0
    # via
    #   google-cloud-bigquery
    #   google-cloud-bigquery-storage
    #   google-cloud-core
    #   pandas-gbq
    #   sqlalchemy-bigquery
google-auth==2.40.3
    # via
    #   -c requirements/base-constraint.txt
    #   google-api-core
    #   google-auth-oauthlib
    #   google-cloud-bigquery
    #   google-cloud-core
    #   pandas-gbq
    #   pydata-google-auth
    #   shillelagh
    #   sqlalchemy-bigquery
google-auth-oauthlib==1.2.1
    # via
    #   pandas-gbq
    #   pydata-google-auth
google-cloud-bigquery==3.27.0
    # via
    #   apache-superset
    #   pandas-gbq
    #   sqlalchemy-bigquery
google-cloud-bigquery-storage==2.19.1
    # via pandas-gbq
google-cloud-core==2.4.1
    # via google-cloud-bigquery
google-crc32c==1.6.0
    # via google-resumable-media
google-resumable-media==2.7.2
    # via google-cloud-bigquery
googleapis-common-protos==1.66.0
    # via
    #   google-api-core
    #   grpcio-status
greenlet==3.1.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   gevent
    #   shillelagh
    #   sqlalchemy
grpcio==1.71.0
    # via
    #   apache-superset
    #   google-api-core
    #   grpcio-status
grpcio-status==1.60.1
    # via google-api-core
gunicorn==23.0.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
h11==0.16.0
    # via
    #   -c requirements/base-constraint.txt
    #   wsproto
hashids==1.3.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
holidays==0.25
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   prophet
humanize==4.12.3
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
identify==2.5.36
    # via pre-commit
idna==3.10
    # via
    #   -c requirements/base-constraint.txt
    #   email-validator
    #   requests
    #   trio
    #   url-normalize
importlib-resources==6.5.2
    # via prophet
iniconfig==2.0.0
    # via pytest
isodate==0.7.2
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
isort==6.0.1
    # via pylint
itsdangerous==2.2.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask
    #   flask-wtf
jinja2==3.1.6
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset-extensions-cli
    #   flask
    #   flask-babel
jsonpath-ng==1.7.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
jsonschema==4.23.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-appbuilder
    #   openapi-schema-validator
    #   openapi-spec-validator
jsonschema-path==0.3.4
    # via openapi-spec-validator
jsonschema-specifications==2025.4.1
    # via
    #   -c requirements/base-constraint.txt
    #   jsonschema
    #   openapi-schema-validator
kiwisolver==1.4.7
    # via matplotlib
kombu==5.5.3
    # via
    #   -c requirements/base-constraint.txt
    #   celery
korean-lunar-calendar==0.3.1
    # via
    #   -c requirements/base-constraint.txt
    #   holidays
lazy-object-proxy==1.10.0
    # via openapi-spec-validator
limits==5.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-limiter
mako==1.3.10
    # via
    #   -c requirements/base-constraint.txt
    #   alembic
    #   apache-superset
markdown==3.8
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
markdown-it-py==3.0.0
    # via
    #   -c requirements/base-constraint.txt
    #   rich
markupsafe==3.0.2
    # via
    #   -c requirements/base-constraint.txt
    #   jinja2
    #   mako
    #   werkzeug
    #   wtforms
marshmallow==3.26.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   flask-appbuilder
    #   marshmallow-sqlalchemy
    #   marshmallow-union
marshmallow-sqlalchemy==1.4.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-appbuilder
marshmallow-union==0.1.15
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
matplotlib==3.9.0
    # via prophet
mccabe==0.7.0
    # via pylint
mdurl==0.1.2
    # via
    #   -c requirements/base-constraint.txt
    #   markdown-it-py
msgpack==1.0.8
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
msgspec==0.19.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-session
mysqlclient==2.2.6
    # via apache-superset
nh3==0.2.21
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
nodeenv==1.8.0
    # via pre-commit
numpy==1.26.4
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   bottleneck
    #   cmdstanpy
    #   contourpy
    #   db-dtypes
    #   matplotlib
    #   pandas
    #   pandas-gbq
    #   prophet
    #   pyarrow
oauthlib==3.2.2
    # via requests-oauthlib
odfpy==1.4.1
    # via
    #   -c requirements/base-constraint.txt
    #   pandas
openapi-schema-validator==0.6.3
    # via
    #   -c requirements/base-constraint.txt
    #   openapi-spec-validator
openapi-spec-validator==0.7.1
    # via apache-superset
openpyxl==3.1.5
    # via
    #   -c requirements/base-constraint.txt
    #   pandas
ordered-set==4.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-limiter
outcome==1.3.0.post0
    # via
    #   -c requirements/base-constraint.txt
    #   trio
    #   trio-websocket
packaging==25.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   apispec
    #   db-dtypes
    #   deprecation
    #   docker
    #   duckdb-engine
    #   google-cloud-bigquery
    #   gunicorn
    #   limits
    #   marshmallow
    #   matplotlib
    #   pytest
    #   shillelagh
    #   sqlalchemy-bigquery
pandas==2.1.4
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   cmdstanpy
    #   db-dtypes
    #   pandas-gbq
    #   prophet
pandas-gbq==0.19.1
    # via apache-superset
parameterized==0.9.0
    # via apache-superset
paramiko==3.5.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   sshtunnel
parsedatetime==2.6
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
pathable==0.4.3
    # via jsonschema-path
pgsanity==0.2.9
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
pillow==11.3.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   matplotlib
pip==25.1.1
    # via apache-superset
platformdirs==4.3.8
    # via
    #   -c requirements/base-constraint.txt
    #   pylint
    #   requests-cache
    #   virtualenv
pluggy==1.5.0
    # via pytest
ply==3.11
    # via
    #   -c requirements/base-constraint.txt
    #   jsonpath-ng
polyline==2.0.2
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
pre-commit==4.1.0
    # via apache-superset
prison==0.2.1
    # via
    #   -c requirements/base-constraint.txt
    #   flask-appbuilder
progress==1.6
    # via apache-superset
prompt-toolkit==3.0.51
    # via
    #   -c requirements/base-constraint.txt
    #   click-repl
prophet==1.1.5
    # via apache-superset
proto-plus==1.25.0
    # via
    #   google-api-core
    #   google-cloud-bigquery-storage
protobuf==4.25.5
    # via
    #   google-api-core
    #   google-cloud-bigquery-storage
    #   googleapis-common-protos
    #   grpcio-status
    #   proto-plus
psutil==6.1.0
    # via apache-superset
psycopg2-binary==2.9.6
    # via apache-superset
pyarrow==16.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   db-dtypes
    #   pandas-gbq
pyasn1==0.6.1
    # via
    #   -c requirements/base-constraint.txt
    #   pyasn1-modules
    #   python-ldap
    #   rsa
pyasn1-modules==0.4.2
    # via
    #   -c requirements/base-constraint.txt
    #   google-auth
    #   python-ldap
pycparser==2.22
    # via
    #   -c requirements/base-constraint.txt
    #   cffi
pydantic==2.11.7
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
pydantic-core==2.33.2
    # via
    #   -c requirements/base-constraint.txt
    #   pydantic
pydata-google-auth==1.9.0
    # via pandas-gbq
pydruid==0.6.9
    # via apache-superset
pyfakefs==5.3.5
    # via apache-superset
pygments==2.19.1
    # via
    #   -c requirements/base-constraint.txt
    #   rich
pyhive==0.7.0
    # via apache-superset
pyinstrument==4.4.0
    # via apache-superset
pyjwt==2.10.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   flask-appbuilder
    #   flask-jwt-extended
pylint==3.3.7
    # via apache-superset
pynacl==1.5.0
    # via
    #   -c requirements/base-constraint.txt
    #   paramiko
pyopenssl==25.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   shillelagh
pyparsing==3.2.3
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   matplotlib
pysocks==1.7.1
    # via
    #   -c requirements/base-constraint.txt
    #   urllib3
pytest==7.4.4
    # via
    #   apache-superset
    #   apache-superset-extensions-cli
    #   pytest-cov
    #   pytest-mock
pytest-cov==6.0.0
    # via
    #   apache-superset
    #   apache-superset-extensions-cli
pytest-mock==3.10.0
    # via
    #   apache-superset
    #   apache-superset-extensions-cli
python-dateutil==2.9.0.post0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   celery
    #   croniter
    #   flask-appbuilder
    #   freezegun
    #   google-cloud-bigquery
    #   holidays
    #   matplotlib
    #   pandas
    #   pyhive
    #   shillelagh
    #   trino
python-dotenv==1.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
python-geohash==0.8.5
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
python-ldap==3.4.4
    # via apache-superset
pytz==2025.2
    # via
    #   -c requirements/base-constraint.txt
    #   croniter
    #   flask-babel
    #   pandas
    #   trino
pyxlsb==1.0.10
    # via
    #   -c requirements/base-constraint.txt
    #   pandas
pyyaml==6.0.2
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   apispec
    #   jsonschema-path
    #   pre-commit
redis==4.6.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
referencing==0.36.2
    # via
    #   -c requirements/base-constraint.txt
    #   jsonschema
    #   jsonschema-path
    #   jsonschema-specifications
requests==2.32.4
    # via
    #   -c requirements/base-constraint.txt
    #   docker
    #   google-api-core
    #   google-cloud-bigquery
    #   jsonschema-path
    #   pydruid
    #   pyhive
    #   requests-cache
    #   requests-oauthlib
    #   shillelagh
    #   trino
requests-cache==1.2.1
    # via
    #   -c requirements/base-constraint.txt
    #   shillelagh
requests-oauthlib==2.0.0
    # via google-auth-oauthlib
rfc3339-validator==0.1.4
    # via
    #   -c requirements/base-constraint.txt
    #   openapi-schema-validator
rich==13.9.4
    # via
    #   -c requirements/base-constraint.txt
    #   flask-limiter
rpds-py==0.25.0
    # via
    #   -c requirements/base-constraint.txt
    #   jsonschema
    #   referencing
rsa==4.9.1
    # via
    #   -c requirements/base-constraint.txt
    #   google-auth
ruff==0.8.0
    # via apache-superset
selenium==4.32.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
semver==3.0.4
    # via apache-superset-extensions-cli
setuptools==80.7.1
    # via
    #   nodeenv
    #   pandas-gbq
    #   pydata-google-auth
    #   zope-event
    #   zope-interface
shillelagh==1.3.5
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
simplejson==3.20.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
six==1.17.0
    # via
    #   -c requirements/base-constraint.txt
    #   prison
    #   python-dateutil
    #   rfc3339-validator
    #   wtforms-json
slack-sdk==3.35.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
sniffio==1.3.1
    # via
    #   -c requirements/base-constraint.txt
    #   trio
sortedcontainers==2.4.0
    # via
    #   -c requirements/base-constraint.txt
    #   trio
sqlalchemy==1.4.54
    # via
    #   -c requirements/base-constraint.txt
    #   alembic
    #   apache-superset
    #   duckdb-engine
    #   flask-appbuilder
    #   flask-sqlalchemy
    #   marshmallow-sqlalchemy
    #   shillelagh
    #   sqlalchemy-bigquery
    #   sqlalchemy-utils
sqlalchemy-bigquery==1.15.0
    # via apache-superset
sqlalchemy-utils==0.38.3
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   flask-appbuilder
sqlglot==27.15.2
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
sqloxide==0.1.51
    # via apache-superset
sshtunnel==0.4.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
statsd==4.0.1
    # via apache-superset
tabulate==0.9.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
tomlkit==0.13.3
    # via pylint
tqdm==4.67.1
    # via
    #   cmdstanpy
    #   prophet
trino==0.330.0
    # via apache-superset
trio==0.30.0
    # via
    #   -c requirements/base-constraint.txt
    #   selenium
    #   trio-websocket
trio-websocket==0.12.2
    # via
    #   -c requirements/base-constraint.txt
    #   selenium
typing-extensions==4.14.0
    # via
    #   -c requirements/base-constraint.txt
    #   alembic
    #   apache-superset
    #   cattrs
    #   limits
    #   pydantic
    #   pydantic-core
    #   pyopenssl
    #   referencing
    #   selenium
    #   shillelagh
    #   typing-inspection
typing-inspection==0.4.1
    # via
    #   -c requirements/base-constraint.txt
    #   pydantic
tzdata==2025.2
    # via
    #   -c requirements/base-constraint.txt
    #   kombu
    #   pandas
tzlocal==5.2
    # via trino
url-normalize==2.2.1
    # via
    #   -c requirements/base-constraint.txt
    #   requests-cache
urllib3==2.5.0
    # via
    #   -c requirements/base-constraint.txt
    #   docker
    #   requests
    #   requests-cache
    #   selenium
vine==5.1.0
    # via
    #   -c requirements/base-constraint.txt
    #   amqp
    #   celery
    #   kombu
virtualenv==20.29.2
    # via pre-commit
watchdog==6.0.0
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   apache-superset-extensions-cli
wcwidth==0.2.13
    # via
    #   -c requirements/base-constraint.txt
    #   prompt-toolkit
websocket-client==1.8.0
    # via
    #   -c requirements/base-constraint.txt
    #   selenium
werkzeug==3.1.3
    # via
    #   -c requirements/base-constraint.txt
    #   flask
    #   flask-appbuilder
    #   flask-jwt-extended
    #   flask-login
wrapt==1.17.2
    # via
    #   -c requirements/base-constraint.txt
    #   deprecated
wsproto==1.2.0
    # via
    #   -c requirements/base-constraint.txt
    #   trio-websocket
wtforms==3.2.1
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   flask-appbuilder
    #   flask-wtf
    #   wtforms-json
wtforms-json==0.3.5
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
xlrd==2.0.1
    # via
    #   -c requirements/base-constraint.txt
    #   pandas
xlsxwriter==3.0.9
    # via
    #   -c requirements/base-constraint.txt
    #   apache-superset
    #   pandas
zope-event==5.0
    # via gevent
zope-interface==5.4.0
    # via gevent
zstandard==0.23.0
    # via
    #   -c requirements/base-constraint.txt
    #   flask-compress
