1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 cython,
7 networkx,
8 decorator,
9 knot-floer-homology,
10 snappy-manifolds,
11 snappy-15-knots,
12}:
13
14buildPythonPackage rec {
15 pname = "spherogram";
16 version = "2.3";
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "3-manifolds";
21 repo = "spherogram";
22 tag = "${version}_as_released";
23 hash = "sha256-uqc+3xS4xulXR0tZlNuyC5Zz5OztR6c4PZWpsvU+4Pw=";
24 };
25
26 build-system = [
27 setuptools
28 cython
29 ];
30
31 dependencies = [
32 networkx
33 decorator
34 snappy-manifolds
35 knot-floer-homology
36 ];
37
38 optional-dependencies.snappy-15-knots = [ snappy-15-knots ];
39
40 pythonImportsCheck = [ "spherogram" ];
41
42 meta = {
43 description = "Spherical diagrams for 3-manifold topology";
44 homepage = "https://snappy.computop.org/spherogram.html";
45 changelog = "https://github.com/3-manifolds/Spherogram/releases/tag/${src.tag}";
46 license = lib.licenses.gpl2Plus;
47 maintainers = with lib.maintainers; [ noiioiu ];
48 };
49}