1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 hatchling,
7 aenum,
8 aiohttp,
9 prompt-toolkit,
10 pygments,
11 nbformat,
12 jupyter-client,
13 typing-extensions,
14 fastjsonschema,
15 platformdirs,
16 pyperclip,
17 imagesize,
18 markdown-it-py,
19 linkify-it-py,
20 mdit-py-plugins,
21 flatlatex,
22 timg,
23 pillow,
24 sixelcrop,
25 universal-pathlib,
26 fsspec,
27 jupytext,
28 ipykernel,
29 pytestCheckHook,
30 pytest-asyncio,
31 pytest-cov-stub,
32 python-magic,
33 html2text,
34 writableTmpDirAsHomeHook,
35}:
36
37buildPythonPackage rec {
38 pname = "euporie";
39 version = "2.8.13";
40 pyproject = true;
41
42 src = fetchFromGitHub {
43 owner = "joouha";
44 repo = "euporie";
45 tag = "v${version}";
46 hash = "sha256-T+Zec5vb+y5qf7Xvv+QtVG+olnv2C0933tCJbEQAJuU=";
47 };
48
49 build-system = [
50 setuptools
51 hatchling
52 ];
53
54 dependencies = [
55 aenum
56 aiohttp
57 prompt-toolkit
58 pygments
59 nbformat
60 jupyter-client
61 typing-extensions
62 fastjsonschema
63 platformdirs
64 pyperclip
65 imagesize
66 markdown-it-py
67 linkify-it-py
68 mdit-py-plugins
69 flatlatex
70 timg
71 pillow
72 sixelcrop
73 universal-pathlib
74 fsspec
75 jupytext
76 ipykernel
77 ];
78
79 pythonRelaxDeps = [
80 "aenum"
81 "linkify-it-py"
82 "markdown-it-py"
83 "mdit-py-plugins"
84 "platformdirs"
85 ];
86
87 doCheck = true;
88
89 nativeCheckInputs = [
90 pytestCheckHook
91 pytest-asyncio
92 pytest-cov-stub
93 python-magic
94 html2text
95 writableTmpDirAsHomeHook
96 ];
97
98 meta = {
99 description = "Jupyter notebooks in the terminal";
100 longDescription = ''
101 Similar to `jupyter lab` or `jupyter notebook`, This package
102 can only be used inside a python environment. To quickly summon
103 a python environment with euporie, you can use:
104 ```
105 nix-shell -p 'python3.withPackages (ps: with ps; [ euporie ])'
106 ```
107 '';
108 homepage = "https://euporie.readthedocs.io/";
109 license = lib.licenses.mit;
110 mainProgram = "euporie";
111 maintainers = with lib.maintainers; [
112 euxane
113 renesat
114 ];
115 };
116}