Ctrl K
ComunidadGuías…

pyproject.toml

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[project]
name = "redash"
version = "26.11.0-dev"
description = "Make Your Company Data Driven. Connect to any data source, easily visualize, dashboard and share your data."
authors = [
    { name = "Arik Fraimovich", email = "<arik@redash.io>" }
]
# to be added to/removed from the mailing list, please reach out to Arik via the above email or Discord
maintainers = [
    { name = "Redash maintainers and contributors", email = "<maintainers@redash.io>" }
]
readme = "README.md"
requires-python = ">=3.13,<3.14"
dependencies = [
    "aniso8601==10.0.1",
    "authlib==1.8.0",
    "backoff==2.2.1",
    "blinker==1.9.0",
    "click==8.5.0",
    "cryptography==50.0.1",
    "disposable-email-domains>=0.0.52",
    "email-validator==2.3.0",
    "flask==3.1.3",
    "flask-limiter==4.1.1",
    "flask-login==0.6.3",
    "flask-mail==0.10.0",
    "flask-migrate==4.1.0",
    "flask-restful==0.3.10",
    "flask-sqlalchemy==3.1.1",
    "flask-talisman==1.1.0",
    "flask-wtf==1.3.0",
    "funcy==2.1",
    "gevent==26.9.0",
    "greenlet==3.5.6",
    "gunicorn==26.2.0",
    "ifaddr==0.2.0",
    "itsdangerous==2.2.0",
    "jinja2==3.1.6",
    "jsonschema==4.26.0",
    "markupsafe==3.0.3",
    "maxminddb-geolite2==2018.703",
    "parsedatetime==2.6",
    "passlib==1.7.4",
    "psycopg2-binary==2.9.13",
    "pyjwt==2.15.0",
    "pyopenssl==26.4.0",
    "pypd==1.1.0",
    "pysaml2==7.5.5",
    "pystache==0.6.8",
    "python-dateutil==2.9.0.post0",
    "python-dotenv==1.2.3",
    "pytz>=2019.3",
    "pyyaml==6.0.3",
    "redis==7.4.1",
    "regex==2026.9.10",
    "requests==2.34.2",
    "restrictedpython==8.5",
    "rq==2.12.0",
    "pyasynchat==1.0.5",
    "rq-scheduler==0.14.0",
    "semver==3.1.0",
    "sentry-sdk==2.70.0",
    "sqlalchemy==2.0.54",
    "sqlalchemy-searchable==2.2.0",
    "sqlalchemy-utils==0.42.1",
    "sqlparse==0.6.0",
    "sshtunnel==0.4.0",
    "statsd==4.0.1",
    "supervisor==4.3.0",
    "supervisor-checks==0.8.1",
    "ua-parser==1.0.2",
    "urllib3==2.8.0",
    "user-agents==2.2.0",
    "werkzeug==3.1.8",
    "wtforms==3.2.2",
    "xlsxwriter==3.2.9",
    "tzlocal==5.4.4",
    "pyodbc==5.3.0",
    "debugpy>=1.8.9,<2.0.0",
    "paramiko==3.5.1",
    "oracledb==26.0.1",
    "ibm-db>=3.2.7,<4.0.0; platform_machine == 'x86_64' or platform_machine == 'AMD64'",
]

[tool.black]
target-version = ['py38']
line-length = 119
force-exclude = '''
/(
  migrations
)/
'''

[dependency-groups]
all_ds = [
    "atsd-client==3.0.6",
    "azure-core>=1.38.0",
    "azure-kusto-data==6.0.4",
    "boto3==1.43.103",
    "botocore==1.43.103",
    "cassandra-driver==3.30.1",
    "certifi>=2019.9.11",
    "cmem-cmempy==25.5.0",
    "databend-py==0.4.6",
    "databend-sqlalchemy==0.2.4",
    "databricks-sql-connector>=4.0.0,<5",
    "duckdb==1.5.5",
    "google-api-python-client==2.200.0",
    "grpcio>=1.80.0,<2",
    "gspread==6.2.1",
    "h11>=0.16.0",
    "httpcore>=1.0.9",
    "impyla==0.24.0",
    "influxdb==5.3.2",
    "influxdb-client==1.50.0",
    "marshmallow>=3.26.2",
    "memsql==3.2.0",
    "mysqlclient==2.3.0",
    "numpy==2.5.3",
    "nzpy>=1.15",
    "openpyxl==3.1.5",
    "pandas==3.0.6",
    "phoenixdb==1.2.2",
    "pinotdb>=0.4.5",
    "protobuf==6.33.5",
    "pyathena==3.36.0",
    "pydgraph==25.2.0",
    "pydruid==0.6.9",
    "pyexasol==2.4.1",
    "pyhive==0.7.0",
    "pyignite==0.6.1",
    "pymongo==4.18.2",
    "pymssql>=2.3.1,<3.0.0",
    "pyodbc==5.3.0",
    "python-arango==8.3.5",
    "python-rapidjson==1.25",
    "requests-aws-sign==0.1.6",
    "sasl>=0.4a1",
    "simple-salesforce==1.12.10",
    "snowflake-connector-python==4.7.5",
    "td-client==1.7.0",
    "thrift>=0.8.0",
    "thrift-sasl>=0.1.0",
    "trino>=0.305,<1.0",
    "vertica-python==1.4.0",
    "xlrd==2.0.2",
    "e6data-python-connector==3.0.0",
]
ldap3 = [
    "ldap3==2.9.1",
]
dev = [
    "pytest==9.1.1",
    "coverage==7.16.1",
    "freezegun==1.5.5",
    "jwcrypto==1.6.1",
    "mock==5.2.0",
    "pre-commit==4.6.2",
    "ptpython==3.0.32",
    "pytest-cov==7.1.0",
    "watchdog==6.0.0",
    "ruff==0.16.9",
]

[tool.uv]
package = false
default-groups = []

[tool.ruff]
exclude = [".git", "viz-lib", "node_modules", "migrations"]

[tool.ruff.lint]
ignore = ["E501"]
select = ["C9", "E", "F", "W", "I001", "UP004"]

[tool.ruff.lint.mccabe]
max-complexity = 15

[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]