1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 setuptools,
7 black,
8 click,
9 docutils,
10 itsdangerous,
11 jedi,
12 markdown,
13 psutil,
14 pygments,
15 pymdown-extensions,
16 starlette,
17 tomlkit,
18 uvicorn,
19 websockets,
20 pytestCheckHook,
21}:
22
23buildPythonPackage rec {
24 pname = "marimo";
25 version = "0.6.0";
26 pyproject = true;
27
28 disabled = pythonOlder "3.8";
29
30 src = fetchPypi {
31 inherit pname version;
32 hash = "sha256-L6ICaaMRrMOr/d8CJGcXxOYCWTVh8ObckW7xNeLRB2Q=";
33 };
34
35 build-system = [ setuptools ];
36
37 dependencies = [
38 black
39 click
40 docutils
41 itsdangerous
42 jedi
43 markdown
44 psutil
45 pygments
46 pymdown-extensions
47 starlette
48 tomlkit
49 uvicorn
50 websockets
51 ];
52
53 nativeCheckInputs = [ pytestCheckHook ];
54
55 pythonImportsCheck = [ "marimo" ];
56
57 meta = with lib; {
58 description = "A reactive Python notebook that's reproducible, git-friendly, and deployable as scripts or apps";
59 homepage = "https://github.com/marimo-team/marimo";
60 changelog = "https://github.com/marimo-team/marimo/releases/tag/${version}";
61 license = licenses.asl20;
62 mainProgram = "marimo";
63 maintainers = with maintainers; [
64 akshayka
65 dmadisetti
66 ];
67 };
68}