pyproject.toml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. [tool.poetry]
  2. name = "nicegui"
  3. version = "1.4.20-dev"
  4. description = "Create web-based user interfaces with Python. The nice way."
  5. authors = ["Zauberzeug GmbH <info@zauberzeug.com>"]
  6. license = "MIT"
  7. readme = "README.md"
  8. repository = "https://github.com/zauberzeug/nicegui"
  9. keywords = ["gui", "ui", "web", "interface", "live"]
  10. [tool.poetry.dependencies]
  11. python = "^3.8"
  12. typing-extensions = ">=4.0.0"
  13. markdown2 = ">=2.4.7,!=2.4.11"
  14. Pygments = ">=2.15.1,<3.0.0"
  15. uvicorn = {extras = ["standard"], version = ">=0.22.0"}
  16. fastapi = ">=0.109.1,<0.110.0" # https://github.com/zauberzeug/nicegui/security/dependabot/27
  17. python-socketio = {extras = ["asyncio-client"], version = ">=5.10.0"} # version min: see https://github.com/zauberzeug/nicegui/issues/1809
  18. vbuild = ">=0.8.2"
  19. watchfiles = ">=0.18.1"
  20. jinja2 = "^3.1.3" # https://github.com/zauberzeug/nicegui/security/dependabot/24
  21. python-multipart = ">=0.0.7"
  22. orjson = {version = ">=3.9.15", markers = "platform_machine != 'i386' and platform_machine != 'i686'"} # https://github.com/zauberzeug/nicegui/security/dependabot/29, orjson does not support 32bit
  23. itsdangerous = "^2.1.2"
  24. aiofiles = ">=23.1.0"
  25. pywebview = { version = "^4.4.0", optional = true }
  26. plotly = { version = "^5.13.0", optional = true }
  27. matplotlib = { version = "^3.5.0", optional = true }
  28. httpx = ">=0.24.0"
  29. nicegui-highcharts = { version = "^1.0.1", optional = true }
  30. ifaddr = ">=0.2.0"
  31. aiohttp = ">=3.9.2" # https://github.com/zauberzeug/nicegui/security/dependabot/25 and 26
  32. libsass = { version = "^0.23.0", optional = true }
  33. docutils = "^0.19"
  34. [tool.poetry.extras]
  35. native = ["pywebview"]
  36. plotly = ["plotly"]
  37. matplotlib = ["matplotlib"]
  38. highcharts = ["nicegui-highcharts"]
  39. sass = ["libsass"]
  40. [tool.poetry.group.dev.dependencies]
  41. icecream = "^2.1.0"
  42. autopep8 = "^1.5.7"
  43. debugpy = "^1.3.0"
  44. pytest-selenium = "^4.0.0"
  45. pytest-asyncio = ">=0.19.0"
  46. pytest = ">=6.2.5,<8"
  47. itsdangerous = "^2.1.2" # required by SessionMiddleware (see https://fastapi.tiangolo.com/?h=itsdangerous#optional-dependencies)
  48. pandas = "^2.0.0"
  49. secure = ">=0.3.0"
  50. webdriver-manager = "^3.8.6"
  51. numpy = [
  52. {version = "^1.24.0", python = "~3.8"},
  53. {version = "^1.26.0", python = ">=3.9,<3.13"}
  54. ]
  55. selenium = "^4.11.2"
  56. beautifulsoup4 = "^4.12.2"
  57. urllib3 = ">=1.26.18,^1.26 || >=2.0.7" # https://github.com/zauberzeug/nicegui/security/dependabot/23
  58. pyecharts = "^2.0.4"
  59. ruff = ">=0.3.5"
  60. pre-commit = ">=3.7.0"
  61. [build-system]
  62. requires = [
  63. "setuptools>=30.3.0,<50",
  64. "poetry-core>=1.0.0"
  65. ]
  66. build-backend = "poetry.core.masonry.api"
  67. [tool.pytest.ini_options]
  68. addopts = "--driver Chrome"
  69. asyncio_mode = "auto"
  70. [tool.mypy]
  71. ignore_missing_imports = true
  72. [tool.ruff]
  73. indent-width = 4
  74. line-length = 120
  75. [tool.ruff.lint]
  76. # See complete list: https://beta.ruff.rs/docs/rules
  77. select = [
  78. "I", # isort
  79. ]
  80. fixable = [
  81. "I", # isort
  82. ]