From 1a57601fe68aeff855e39993d797eec0bf3a9899 Mon Sep 17 00:00:00 2001 From: Beto Dealmeida Date: Mon, 30 Jun 2025 11:41:37 -0400 Subject: [PATCH] chore: pin Marshmallow < 4 (#33978) --- pyproject.toml | 2 + requirements/base.txt | 3 + requirements/development.txt | 387 ++++++++++-------------------- requirements/translations.txt | 430 +++++++++++++++++++++++++++++++++- 4 files changed, 556 insertions(+), 266 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 50584028f10..792de0fa9db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,6 +64,8 @@ dependencies = [ "jsonpath-ng>=1.6.1, <2", "Mako>=1.2.2", "markdown>=3.0", + # marshmallow>=4 has issues: https://github.com/apache/superset/issues/33162 + "marshmallow>=3.0, <4", "msgpack>=1.0.0, <1.1", "nh3>=0.2.11, <0.3", "numpy>1.23.5, <2.3", diff --git a/requirements/base.txt b/requirements/base.txt index 9dcf131730d..77c5a23893a 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -209,6 +209,7 @@ markupsafe==3.0.2 # wtforms marshmallow==3.26.1 # via + # apache-superset (pyproject.toml) # flask-appbuilder # marshmallow-sqlalchemy marshmallow-sqlalchemy==1.4.0 @@ -392,6 +393,8 @@ typing-extensions==4.14.0 # alembic # cattrs # limits + # pyopenssl + # referencing # selenium # shillelagh tzdata==2025.2 diff --git a/requirements/development.txt b/requirements/development.txt index edd0662128b..e09b972e68c 100644 --- a/requirements/development.txt +++ b/requirements/development.txt @@ -1,28 +1,19 @@ # This file was autogenerated by uv via the following command: -# uv pip compile requirements/development.in -c requirements/base.txt -o requirements/development.txt +# uv pip compile pyproject.toml requirements/development.in -o requirements/development.txt -e . # via -r requirements/development.in alembic==1.15.2 - # via - # -c requirements/base.txt - # flask-migrate + # via flask-migrate amqp==5.3.1 - # via - # -c requirements/base.txt - # kombu + # via kombu apispec==6.6.1 - # via - # -c requirements/base.txt - # flask-appbuilder + # via flask-appbuilder apsw==3.50.1.0 - # via - # -c requirements/base.txt - # shillelagh + # via shillelagh astroid==3.3.10 # via pylint attrs==25.3.0 # via - # -c requirements/base.txt # cattrs # jsonschema # outcome @@ -30,69 +21,50 @@ attrs==25.3.0 # requests-cache # trio babel==2.17.0 - # via - # -c requirements/base.txt - # flask-babel + # via flask-babel backoff==2.2.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset bcrypt==4.3.0 - # via - # -c requirements/base.txt - # paramiko + # via paramiko billiard==4.2.1 - # via - # -c requirements/base.txt - # celery + # via celery blinker==1.9.0 - # via - # -c requirements/base.txt - # flask + # via flask bottleneck==1.5.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset brotli==1.1.0 - # via - # -c requirements/base.txt - # flask-compress + # via flask-compress cachelib==0.13.0 # via - # -c requirements/base.txt # flask-caching # flask-session cachetools==5.5.2 - # via - # -c requirements/base.txt - # google-auth + # via google-auth cattrs==25.1.1 - # via - # -c requirements/base.txt - # requests-cache + # via requests-cache celery==5.5.2 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset certifi==2025.6.15 # via - # -c requirements/base.txt # requests # selenium cffi==1.17.1 # via - # -c requirements/base.txt # cryptography # pynacl cfgv==3.4.0 # via pre-commit charset-normalizer==3.4.2 - # via - # -c requirements/base.txt - # requests + # via requests click==8.2.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # celery # click-didyoumean @@ -102,26 +74,20 @@ click==8.2.1 # flask # flask-appbuilder click-didyoumean==0.3.1 - # via - # -c requirements/base.txt - # celery + # via celery click-option-group==0.5.7 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset click-plugins==1.1.1 - # via - # -c requirements/base.txt - # celery + # via celery click-repl==0.3.0 - # via - # -c requirements/base.txt - # celery + # via celery cmdstanpy==1.1.0 # via prophet colorama==0.4.6 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # flask-appbuilder contourpy==1.0.7 @@ -130,15 +96,15 @@ coverage==7.6.8 # via pytest-cov cron-descriptor==1.4.5 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset croniter==6.0.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset cryptography==44.0.3 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # paramiko # pyopenssl @@ -147,40 +113,30 @@ cycler==0.12.1 db-dtypes==1.3.1 # via pandas-gbq defusedxml==0.7.1 - # via - # -c requirements/base.txt - # odfpy + # via odfpy deprecated==1.2.18 - # via - # -c requirements/base.txt - # limits + # via limits deprecation==2.1.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset dill==0.4.0 # via pylint distlib==0.3.8 # via virtualenv dnspython==2.7.0 - # via - # -c requirements/base.txt - # email-validator + # via email-validator docker==7.0.0 # via apache-superset email-validator==2.2.0 - # via - # -c requirements/base.txt - # flask-appbuilder + # via flask-appbuilder et-xmlfile==2.0.0 - # via - # -c requirements/base.txt - # openpyxl + # via openpyxl filelock==3.12.2 # via virtualenv flask==2.3.3 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # flask-appbuilder # flask-babel @@ -197,57 +153,50 @@ flask==2.3.3 # flask-wtf flask-appbuilder==4.7.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset flask-babel==2.0.0 - # via - # -c requirements/base.txt - # flask-appbuilder + # via flask-appbuilder flask-caching==2.3.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset flask-compress==1.17 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset flask-cors==4.0.2 # via apache-superset flask-jwt-extended==4.7.1 - # via - # -c requirements/base.txt - # flask-appbuilder + # via flask-appbuilder flask-limiter==3.12 - # via - # -c requirements/base.txt - # flask-appbuilder + # via flask-appbuilder flask-login==0.6.3 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # flask-appbuilder flask-migrate==3.1.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset flask-session==0.8.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset flask-sqlalchemy==2.5.1 # via - # -c requirements/base.txt # flask-appbuilder # flask-migrate flask-talisman==1.1.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset flask-testing==0.8.1 # via apache-superset flask-wtf==1.2.2 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # flask-appbuilder fonttools==4.55.0 @@ -257,12 +206,10 @@ freezegun==1.5.1 future==1.0.0 # via pyhive geographiclib==2.0 - # via - # -c requirements/base.txt - # geopy + # via geopy geopy==2.4.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset gevent==24.2.1 # via apache-superset @@ -275,7 +222,6 @@ google-api-core==2.23.0 # sqlalchemy-bigquery google-auth==2.40.3 # via - # -c requirements/base.txt # google-api-core # google-auth-oauthlib # google-cloud-bigquery @@ -307,7 +253,7 @@ googleapis-common-protos==1.66.0 # grpcio-status greenlet==3.1.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # gevent # shillelagh @@ -320,30 +266,27 @@ grpcio-status==1.60.1 # via google-api-core gunicorn==23.0.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset h11==0.16.0 - # via - # -c requirements/base.txt - # wsproto + # via wsproto hashids==1.3.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset holidays==0.25 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # prophet humanize==4.12.3 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset identify==2.5.36 # via pre-commit idna==3.10 # via - # -c requirements/base.txt # email-validator # requests # trio @@ -354,27 +297,24 @@ iniconfig==2.0.0 # via pytest isodate==0.7.2 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset isort==6.0.1 # via pylint itsdangerous==2.2.0 # via - # -c requirements/base.txt # flask # flask-wtf jinja2==3.1.6 # via - # -c requirements/base.txt # flask # flask-babel jsonpath-ng==1.7.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset jsonschema==4.23.0 # via - # -c requirements/base.txt # flask-appbuilder # openapi-schema-validator # openapi-spec-validator @@ -382,81 +322,66 @@ jsonschema-path==0.3.4 # via openapi-spec-validator jsonschema-specifications==2025.4.1 # via - # -c requirements/base.txt # jsonschema # openapi-schema-validator kiwisolver==1.4.7 # via matplotlib kombu==5.5.3 - # via - # -c requirements/base.txt - # celery + # via celery korean-lunar-calendar==0.3.1 - # via - # -c requirements/base.txt - # holidays + # via holidays lazy-object-proxy==1.10.0 # via openapi-spec-validator limits==5.1.0 - # via - # -c requirements/base.txt - # flask-limiter + # via flask-limiter mako==1.3.10 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # alembic # apache-superset markdown==3.8 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset markdown-it-py==3.0.0 - # via - # -c requirements/base.txt - # rich + # via rich markupsafe==3.0.2 # via - # -c requirements/base.txt # jinja2 # mako # werkzeug # wtforms marshmallow==3.26.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) + # apache-superset # flask-appbuilder # marshmallow-sqlalchemy marshmallow-sqlalchemy==1.4.0 - # via - # -c requirements/base.txt - # flask-appbuilder + # via flask-appbuilder matplotlib==3.9.0 # via prophet mccabe==0.7.0 # via pylint mdurl==0.1.2 - # via - # -c requirements/base.txt - # markdown-it-py + # via markdown-it-py msgpack==1.0.8 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset msgspec==0.19.0 - # via - # -c requirements/base.txt - # flask-session + # via flask-session mysqlclient==2.2.6 # via apache-superset nh3==0.2.21 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset nodeenv==1.8.0 # via pre-commit numpy==1.26.4 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # bottleneck # cmdstanpy @@ -469,31 +394,22 @@ numpy==1.26.4 oauthlib==3.2.2 # via requests-oauthlib odfpy==1.4.1 - # via - # -c requirements/base.txt - # pandas + # via pandas openapi-schema-validator==0.6.3 - # via - # -c requirements/base.txt - # openapi-spec-validator + # via openapi-spec-validator openapi-spec-validator==0.7.1 # via apache-superset openpyxl==3.1.5 - # via - # -c requirements/base.txt - # pandas + # via pandas ordered-set==4.1.0 - # via - # -c requirements/base.txt - # flask-limiter + # via flask-limiter outcome==1.3.0.post0 # via - # -c requirements/base.txt # trio # trio-websocket packaging==25.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # apispec # db-dtypes @@ -509,7 +425,7 @@ packaging==25.0 # sqlalchemy-bigquery pandas==2.0.3 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # cmdstanpy # db-dtypes @@ -521,18 +437,18 @@ parameterized==0.9.0 # via apache-superset paramiko==3.5.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # sshtunnel parsedatetime==2.6 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset pathable==0.4.3 # via jsonschema-path pgsanity==0.2.9 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset pillow==10.3.0 # via @@ -540,32 +456,25 @@ pillow==10.3.0 # matplotlib platformdirs==4.3.8 # via - # -c requirements/base.txt # pylint # requests-cache # virtualenv pluggy==1.5.0 # via pytest ply==3.11 - # via - # -c requirements/base.txt - # jsonpath-ng + # via jsonpath-ng polyline==2.0.2 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset pre-commit==4.1.0 # via apache-superset prison==0.2.1 - # via - # -c requirements/base.txt - # flask-appbuilder + # via flask-appbuilder progress==1.6 # via apache-superset prompt-toolkit==3.0.51 - # via - # -c requirements/base.txt - # click-repl + # via click-repl prophet==1.1.5 # via apache-superset proto-plus==1.25.0 @@ -585,25 +494,21 @@ psycopg2-binary==2.9.6 # via apache-superset pyarrow==18.1.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # db-dtypes # pandas-gbq pyasn1==0.6.1 # via - # -c requirements/base.txt # pyasn1-modules # python-ldap # rsa pyasn1-modules==0.4.2 # via - # -c requirements/base.txt # google-auth # python-ldap pycparser==2.22 - # via - # -c requirements/base.txt - # cffi + # via cffi pydata-google-auth==1.9.0 # via pandas-gbq pydruid==0.6.9 @@ -611,38 +516,30 @@ pydruid==0.6.9 pyfakefs==5.3.5 # via apache-superset pygments==2.19.1 - # via - # -c requirements/base.txt - # rich + # via rich pyhive==0.7.0 # via apache-superset pyinstrument==4.4.0 # via apache-superset pyjwt==2.10.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # flask-appbuilder # flask-jwt-extended pylint==3.3.7 # via apache-superset pynacl==1.5.0 - # via - # -c requirements/base.txt - # paramiko + # via paramiko pyopenssl==25.1.0 - # via - # -c requirements/base.txt - # shillelagh + # via shillelagh pyparsing==3.2.3 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # matplotlib pysocks==1.7.1 - # via - # -c requirements/base.txt - # urllib3 + # via urllib3 pytest==7.4.4 # via # apache-superset @@ -654,7 +551,7 @@ pytest-mock==3.10.0 # via apache-superset python-dateutil==2.9.0.post0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # celery # croniter @@ -669,45 +566,40 @@ python-dateutil==2.9.0.post0 # trino python-dotenv==1.1.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset python-geohash==0.8.5 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset python-ldap==3.4.4 # via apache-superset pytz==2025.2 # via - # -c requirements/base.txt # croniter # flask-babel # pandas # trino pyxlsb==1.0.10 - # via - # -c requirements/base.txt - # pandas + # via pandas pyyaml==6.0.2 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # apispec # jsonschema-path # pre-commit redis==4.6.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset referencing==0.36.2 # via - # -c requirements/base.txt # jsonschema # jsonschema-path # jsonschema-specifications requests==2.32.4 # via - # -c requirements/base.txt # docker # google-api-core # google-cloud-bigquery @@ -719,33 +611,24 @@ requests==2.32.4 # shillelagh # trino requests-cache==1.2.1 - # via - # -c requirements/base.txt - # shillelagh + # via shillelagh requests-oauthlib==2.0.0 # via google-auth-oauthlib rfc3339-validator==0.1.4 - # via - # -c requirements/base.txt - # openapi-schema-validator + # via openapi-schema-validator rich==13.9.4 - # via - # -c requirements/base.txt - # flask-limiter + # via flask-limiter rpds-py==0.25.0 # via - # -c requirements/base.txt # jsonschema # referencing rsa==4.9.1 - # via - # -c requirements/base.txt - # google-auth + # via google-auth ruff==0.8.0 # via apache-superset selenium==4.32.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset setuptools==80.7.1 # via @@ -756,34 +639,29 @@ setuptools==80.7.1 # zope-interface shillelagh==1.3.5 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset simplejson==3.20.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset six==1.17.0 # via - # -c requirements/base.txt # prison # python-dateutil # rfc3339-validator # wtforms-json slack-sdk==3.35.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset sniffio==1.3.1 - # via - # -c requirements/base.txt - # trio + # via trio sortedcontainers==2.4.0 - # via - # -c requirements/base.txt - # trio + # via trio sqlalchemy==1.4.54 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # alembic # apache-superset # flask-appbuilder @@ -796,24 +674,24 @@ sqlalchemy-bigquery==1.12.0 # via apache-superset sqlalchemy-utils==0.38.3 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # flask-appbuilder sqlglot==26.28.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset sqloxide==0.1.51 # via apache-superset sshtunnel==0.4.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset statsd==4.0.1 # via apache-superset tabulate==0.9.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset tomlkit==0.13.3 # via pylint @@ -825,89 +703,72 @@ trino==0.330.0 # via apache-superset trio==0.30.0 # via - # -c requirements/base.txt # selenium # trio-websocket trio-websocket==0.12.2 - # via - # -c requirements/base.txt - # selenium + # via selenium typing-extensions==4.14.0 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # alembic # apache-superset # cattrs # limits + # pyopenssl + # referencing # selenium # shillelagh tzdata==2025.2 # via - # -c requirements/base.txt # kombu # pandas tzlocal==5.2 # via trino url-normalize==2.2.1 - # via - # -c requirements/base.txt - # requests-cache + # via requests-cache urllib3==2.5.0 # via - # -c requirements/base.txt # docker # requests # requests-cache # selenium vine==5.1.0 # via - # -c requirements/base.txt # amqp # celery # kombu virtualenv==20.29.2 # via pre-commit wcwidth==0.2.13 - # via - # -c requirements/base.txt - # prompt-toolkit + # via prompt-toolkit websocket-client==1.8.0 - # via - # -c requirements/base.txt - # selenium + # via selenium werkzeug==3.1.3 # via - # -c requirements/base.txt # flask # flask-appbuilder # flask-jwt-extended # flask-login wrapt==1.17.2 - # via - # -c requirements/base.txt - # deprecated + # via deprecated wsproto==1.2.0 - # via - # -c requirements/base.txt - # trio-websocket + # via trio-websocket wtforms==3.2.1 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # flask-appbuilder # flask-wtf # wtforms-json wtforms-json==0.3.5 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset xlrd==2.0.1 - # via - # -c requirements/base.txt - # pandas + # via pandas xlsxwriter==3.0.9 # via - # -c requirements/base.txt + # apache-superset (pyproject.toml) # apache-superset # pandas zope-event==5.0 @@ -915,6 +776,4 @@ zope-event==5.0 zope-interface==5.4.0 # via gevent zstandard==0.23.0 - # via - # -c requirements/base.txt - # flask-compress + # via flask-compress diff --git a/requirements/translations.txt b/requirements/translations.txt index 1cd3ce84d76..a767b0baf95 100644 --- a/requirements/translations.txt +++ b/requirements/translations.txt @@ -1,4 +1,430 @@ # This file was autogenerated by uv via the following command: -# uv pip compile requirements/translations.in -o requirements/translations.txt +# uv pip compile pyproject.toml requirements/translations.in -o requirements/translations.txt +alembic==1.16.2 + # via flask-migrate +amqp==5.3.1 + # via kombu +apispec==6.8.2 + # via flask-appbuilder +apsw==3.50.2.0 + # via shillelagh +attrs==25.3.0 + # via + # cattrs + # jsonschema + # outcome + # referencing + # requests-cache + # trio babel==2.17.0 - # via -r requirements/translations.in + # via + # -r requirements/translations.in + # flask-babel +backoff==2.2.1 + # via apache-superset (pyproject.toml) +bcrypt==4.3.0 + # via paramiko +billiard==4.2.1 + # via celery +blinker==1.9.0 + # via flask +bottleneck==1.5.0 + # via apache-superset (pyproject.toml) +brotli==1.1.0 + # via flask-compress +cachelib==0.13.0 + # via + # flask-caching + # flask-session +cachetools==5.5.2 + # via google-auth +cattrs==25.1.1 + # via requests-cache +celery==5.5.3 + # via apache-superset (pyproject.toml) +certifi==2025.6.15 + # via + # requests + # selenium +cffi==1.17.1 + # via + # cryptography + # pynacl +charset-normalizer==3.4.2 + # via requests +click==8.2.1 + # via + # apache-superset (pyproject.toml) + # celery + # click-didyoumean + # click-option-group + # click-plugins + # click-repl + # flask + # flask-appbuilder +click-didyoumean==0.3.1 + # via celery +click-option-group==0.5.7 + # via apache-superset (pyproject.toml) +click-plugins==1.1.1.2 + # via celery +click-repl==0.3.0 + # via celery +colorama==0.4.6 + # via + # apache-superset (pyproject.toml) + # flask-appbuilder +cron-descriptor==1.4.5 + # via apache-superset (pyproject.toml) +croniter==6.0.0 + # via apache-superset (pyproject.toml) +cryptography==44.0.3 + # via + # apache-superset (pyproject.toml) + # paramiko + # pyopenssl +defusedxml==0.7.1 + # via odfpy +deprecated==1.2.18 + # via limits +deprecation==2.1.0 + # via apache-superset (pyproject.toml) +dnspython==2.7.0 + # via email-validator +email-validator==2.2.0 + # via flask-appbuilder +et-xmlfile==2.0.0 + # via openpyxl +flask==2.3.3 + # via + # apache-superset (pyproject.toml) + # flask-appbuilder + # flask-babel + # flask-caching + # flask-compress + # flask-jwt-extended + # flask-limiter + # flask-login + # flask-migrate + # flask-session + # flask-sqlalchemy + # flask-wtf +flask-appbuilder==4.7.0 + # via apache-superset (pyproject.toml) +flask-babel==2.0.0 + # via flask-appbuilder +flask-caching==2.3.1 + # via apache-superset (pyproject.toml) +flask-compress==1.17 + # via apache-superset (pyproject.toml) +flask-jwt-extended==4.7.1 + # via flask-appbuilder +flask-limiter==3.12 + # via flask-appbuilder +flask-login==0.6.3 + # via + # apache-superset (pyproject.toml) + # flask-appbuilder +flask-migrate==3.1.0 + # via apache-superset (pyproject.toml) +flask-session==0.8.0 + # via apache-superset (pyproject.toml) +flask-sqlalchemy==2.5.1 + # via + # flask-appbuilder + # flask-migrate +flask-talisman==1.1.0 + # via apache-superset (pyproject.toml) +flask-wtf==1.2.2 + # via + # apache-superset (pyproject.toml) + # flask-appbuilder +geographiclib==2.0 + # via geopy +geopy==2.4.1 + # via apache-superset (pyproject.toml) +google-auth==2.40.3 + # via shillelagh +greenlet==3.1.1 + # via + # apache-superset (pyproject.toml) + # shillelagh +gunicorn==23.0.0 + # via apache-superset (pyproject.toml) +h11==0.16.0 + # via wsproto +hashids==1.3.1 + # via apache-superset (pyproject.toml) +holidays==0.25 + # via apache-superset (pyproject.toml) +humanize==4.12.3 + # via apache-superset (pyproject.toml) +idna==3.10 + # via + # email-validator + # requests + # trio + # url-normalize +isodate==0.7.2 + # via apache-superset (pyproject.toml) +itsdangerous==2.2.0 + # via + # flask + # flask-wtf +jinja2==3.1.6 + # via + # flask + # flask-babel +jsonpath-ng==1.7.0 + # via apache-superset (pyproject.toml) +jsonschema==4.24.0 + # via flask-appbuilder +jsonschema-specifications==2025.4.1 + # via jsonschema +kombu==5.5.4 + # via celery +korean-lunar-calendar==0.3.1 + # via holidays +limits==5.4.0 + # via flask-limiter +mako==1.3.10 + # via + # apache-superset (pyproject.toml) + # alembic +markdown==3.8.2 + # via apache-superset (pyproject.toml) +markdown-it-py==3.0.0 + # via rich +markupsafe==3.0.2 + # via + # jinja2 + # mako + # werkzeug + # wtforms +marshmallow==3.26.1 + # via + # apache-superset (pyproject.toml) + # flask-appbuilder + # marshmallow-sqlalchemy +marshmallow-sqlalchemy==1.4.2 + # via flask-appbuilder +mdurl==0.1.2 + # via markdown-it-py +msgpack==1.0.8 + # via apache-superset (pyproject.toml) +msgspec==0.19.0 + # via flask-session +nh3==0.2.21 + # via apache-superset (pyproject.toml) +numpy==2.2.6 + # via + # apache-superset (pyproject.toml) + # bottleneck + # pandas +odfpy==1.4.1 + # via pandas +openpyxl==3.1.5 + # via pandas +ordered-set==4.1.0 + # via flask-limiter +outcome==1.3.0.post0 + # via + # trio + # trio-websocket +packaging==25.0 + # via + # apache-superset (pyproject.toml) + # apispec + # deprecation + # gunicorn + # kombu + # limits + # marshmallow + # shillelagh +pandas==2.0.3 + # via apache-superset (pyproject.toml) +paramiko==3.5.1 + # via + # apache-superset (pyproject.toml) + # sshtunnel +parsedatetime==2.6 + # via apache-superset (pyproject.toml) +pgsanity==0.2.9 + # via apache-superset (pyproject.toml) +platformdirs==4.3.8 + # via requests-cache +ply==3.11 + # via jsonpath-ng +polyline==2.0.2 + # via apache-superset (pyproject.toml) +prison==0.2.1 + # via flask-appbuilder +prompt-toolkit==3.0.51 + # via click-repl +pyarrow==18.1.0 + # via apache-superset (pyproject.toml) +pyasn1==0.6.1 + # via + # pyasn1-modules + # rsa +pyasn1-modules==0.4.2 + # via google-auth +pycparser==2.22 + # via cffi +pygments==2.19.2 + # via rich +pyjwt==2.10.1 + # via + # apache-superset (pyproject.toml) + # flask-appbuilder + # flask-jwt-extended +pynacl==1.5.0 + # via paramiko +pyopenssl==25.1.0 + # via shillelagh +pyparsing==3.2.3 + # via apache-superset (pyproject.toml) +pysocks==1.7.1 + # via urllib3 +python-dateutil==2.9.0.post0 + # via + # apache-superset (pyproject.toml) + # celery + # croniter + # flask-appbuilder + # holidays + # pandas + # shillelagh +python-dotenv==1.1.1 + # via apache-superset (pyproject.toml) +python-geohash==0.8.5 + # via apache-superset (pyproject.toml) +pytz==2025.2 + # via + # croniter + # flask-babel + # pandas +pyxlsb==1.0.10 + # via pandas +pyyaml==6.0.2 + # via + # apache-superset (pyproject.toml) + # apispec +redis==4.6.0 + # via apache-superset (pyproject.toml) +referencing==0.36.2 + # via + # jsonschema + # jsonschema-specifications +requests==2.32.4 + # via + # requests-cache + # shillelagh +requests-cache==1.2.1 + # via shillelagh +rich==13.9.4 + # via flask-limiter +rpds-py==0.25.1 + # via + # jsonschema + # referencing +rsa==4.9.1 + # via google-auth +selenium==4.34.0 + # via apache-superset (pyproject.toml) +shillelagh==1.3.5 + # via apache-superset (pyproject.toml) +simplejson==3.20.1 + # via apache-superset (pyproject.toml) +six==1.17.0 + # via + # prison + # python-dateutil + # wtforms-json +slack-sdk==3.35.0 + # via apache-superset (pyproject.toml) +sniffio==1.3.1 + # via trio +sortedcontainers==2.4.0 + # via trio +sqlalchemy==1.4.54 + # via + # apache-superset (pyproject.toml) + # alembic + # flask-appbuilder + # flask-sqlalchemy + # marshmallow-sqlalchemy + # shillelagh + # sqlalchemy-utils +sqlalchemy-utils==0.38.3 + # via + # apache-superset (pyproject.toml) + # flask-appbuilder +sqlglot==26.31.0 + # via apache-superset (pyproject.toml) +sshtunnel==0.4.0 + # via apache-superset (pyproject.toml) +tabulate==0.9.0 + # via apache-superset (pyproject.toml) +trio==0.30.0 + # via + # selenium + # trio-websocket +trio-websocket==0.12.2 + # via selenium +typing-extensions==4.14.0 + # via + # apache-superset (pyproject.toml) + # alembic + # cattrs + # limits + # pyopenssl + # referencing + # selenium + # shillelagh +tzdata==2025.2 + # via + # kombu + # pandas +url-normalize==2.2.1 + # via requests-cache +urllib3==2.4.0 + # via + # requests + # requests-cache + # selenium +vine==5.1.0 + # via + # amqp + # celery + # kombu +wcwidth==0.2.13 + # via prompt-toolkit +websocket-client==1.8.0 + # via selenium +werkzeug==3.1.3 + # via + # flask + # flask-appbuilder + # flask-jwt-extended + # flask-login +wrapt==1.17.2 + # via deprecated +wsproto==1.2.0 + # via trio-websocket +wtforms==3.2.1 + # via + # apache-superset (pyproject.toml) + # flask-appbuilder + # flask-wtf + # wtforms-json +wtforms-json==0.3.5 + # via apache-superset (pyproject.toml) +xlrd==2.0.2 + # via pandas +xlsxwriter==3.0.9 + # via + # apache-superset (pyproject.toml) + # pandas +zstandard==0.23.0 + # via flask-compress