1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 scikit-learn,
7 typer,
8 requests,
9 pillow,
10 numpy,
11 pytestCheckHook,
12 opencv-python,
13 requests-mock,
14}:
15buildPythonPackage rec {
16 pname = "pylette";
17 version = "4.1.0";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 owner = "qTipTip";
22 repo = "Pylette";
23 tag = version;
24 hash = "sha256-6OZeCcF47xjj266+IasJYub042R46KRaNXGCv+hlWdY=";
25 };
26
27 build-system = [
28 poetry-core
29 ];
30
31 dependencies = [
32 scikit-learn
33 pillow
34 requests
35 typer
36 numpy
37 ];
38
39 pythonImportsCheck = [
40 "Pylette"
41 ];
42
43 pythonRelaxDeps = [
44 "numpy"
45 "Pillow"
46 "typer"
47 ];
48
49 disabledTests = [
50 # hangs forever
51 "test_color_extraction_deterministic_kmeans"
52 ];
53
54 nativeCheckInputs = [
55 opencv-python
56 pytestCheckHook
57 requests-mock
58 typer
59 ];
60
61 meta = {
62 changelog = "https://github.com/qTipTip/Pylette/releases/tag/${src.tag}";
63 description = "Python library for extracting color palettes from images";
64 homepage = "https://qtiptip.github.io/Pylette/";
65 license = lib.licenses.mit;
66 maintainers = with lib.maintainers; [ DataHearth ];
67 };
68}