at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchPypi, 5 pythonOlder, 6 7 # build-system 8 uv-build, 9 10 # dependencies 11 click, 12 docutils, 13 itsdangerous, 14 jedi, 15 loro, 16 markdown, 17 narwhals, 18 packaging, 19 psutil, 20 pygments, 21 pymdown-extensions, 22 pyyaml, 23 ruff, 24 starlette, 25 tomlkit, 26 typing-extensions, 27 uvicorn, 28 websockets, 29 30 # tests 31 versionCheckHook, 32}: 33 34buildPythonPackage rec { 35 pname = "marimo"; 36 version = "0.15.2"; 37 pyproject = true; 38 39 # The github archive does not include the static assets 40 src = fetchPypi { 41 inherit pname version; 42 hash = "sha256-cmkz/ZyVYfpz4yOxghsXPF4PhRluwqSXo1CcwvwkXFg="; 43 }; 44 45 build-system = [ uv-build ]; 46 47 dependencies = [ 48 click 49 docutils 50 itsdangerous 51 jedi 52 loro 53 markdown 54 narwhals 55 packaging 56 psutil 57 pygments 58 pymdown-extensions 59 pyyaml 60 ruff 61 starlette 62 tomlkit 63 uvicorn 64 websockets 65 ] 66 ++ lib.optionals (pythonOlder "3.11") [ typing-extensions ]; 67 68 pythonImportsCheck = [ "marimo" ]; 69 70 # The pypi archive does not contain tests so we do not use `pytestCheckHook` 71 nativeCheckInputs = [ 72 versionCheckHook 73 ]; 74 versionCheckProgramArg = "--version"; 75 76 meta = { 77 description = "Reactive Python notebook that's reproducible, git-friendly, and deployable as scripts or apps"; 78 homepage = "https://github.com/marimo-team/marimo"; 79 changelog = "https://github.com/marimo-team/marimo/releases/tag/${version}"; 80 license = lib.licenses.asl20; 81 mainProgram = "marimo"; 82 maintainers = with lib.maintainers; [ 83 akshayka 84 dmadisetti 85 ]; 86 }; 87}