nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 122 lines 2.2 kB view raw
1{ 2 lib, 3 aiofiles, 4 aiohttp, 5 buildPythonPackage, 6 certifi, 7 docutils, 8 fastapi, 9 fetchFromGitHub, 10 httpx, 11 ifaddr, 12 itsdangerous, 13 jinja2, 14 libsass, 15 markdown2, 16 matplotlib, 17 orjson, 18 pandas, 19 pkgs, 20 plotly, 21 poetry-core, 22 poetry-dynamic-versioning, 23 polars, 24 pyecharts, 25 pygments, 26 pytest-asyncio, 27 pytest-selenium, 28 pytestCheckHook, 29 python-multipart, 30 python-socketio, 31 pywebview, 32 redis, 33 requests, 34 setuptools, 35 typing-extensions, 36 urllib3, 37 uvicorn, 38 vbuild, 39 watchfiles, 40 webdriver-manager, 41 writableTmpDirAsHomeHook, 42}: 43 44buildPythonPackage (finalAttrs: { 45 pname = "nicegui"; 46 version = "3.6.1"; 47 pyproject = true; 48 49 src = fetchFromGitHub { 50 owner = "zauberzeug"; 51 repo = "nicegui"; 52 tag = "v${finalAttrs.version}"; 53 hash = "sha256-umM2ffkiXWJVU2i17fbtnd+ghEt0uVzop9fNhaRTCWM="; 54 }; 55 56 pythonRelaxDeps = [ "requests" ]; 57 58 build-system = [ 59 poetry-core 60 poetry-dynamic-versioning 61 setuptools 62 ]; 63 64 dependencies = [ 65 aiofiles 66 aiohttp 67 certifi 68 docutils 69 fastapi 70 httpx 71 ifaddr 72 itsdangerous 73 jinja2 74 markdown2 75 orjson 76 pygments 77 python-multipart 78 python-socketio 79 requests 80 typing-extensions 81 urllib3 82 uvicorn 83 vbuild 84 watchfiles 85 ]; 86 87 optional-dependencies = { 88 # Circular dependency 89 # highcharts = [ nicegui-highcharts ]; 90 matplotlib = [ matplotlib ]; 91 native = [ pywebview ]; 92 plotly = [ plotly ]; 93 sass = [ libsass ]; 94 redis = [ redis ]; 95 }; 96 97 nativeCheckInputs = [ 98 pandas 99 pkgs.chromedriver 100 polars 101 pyecharts 102 pytest-asyncio 103 pytest-selenium 104 pytestCheckHook 105 webdriver-manager 106 writableTmpDirAsHomeHook 107 ] 108 ++ lib.flatten (builtins.attrValues finalAttrs.passthru.optional-dependencies); 109 110 pythonImportsCheck = [ "nicegui" ]; 111 112 # chromedriver release doesn't seems to be supported, try with next release 113 doCheck = false; 114 115 meta = { 116 description = "Module to create web-based user interfaces"; 117 homepage = "https://github.com/zauberzeug/nicegui/"; 118 changelog = "https://github.com/zauberzeug/nicegui/releases/tag/${finalAttrs.src.tag}"; 119 license = lib.licenses.mit; 120 maintainers = with lib.maintainers; [ fab ]; 121 }; 122})