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