1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchPypi,
6 setuptools,
7 wheel,
8 tkinter,
9 darkdetect,
10}:
11let
12 pname = "customtkinter";
13 version = "5.2.2";
14in
15buildPythonPackage {
16 inherit pname version;
17 pyproject = true;
18 disabled = pythonOlder "3.7";
19
20 src = fetchPypi {
21 inherit pname version;
22 hash = "sha256-/Y2zuvqWHJgu5gMNuoC0wuJYWGMHVrUTmG2xkRPY0gc=";
23 };
24
25 nativeBuildInputs = [
26 setuptools
27 wheel
28 ];
29 buildInputs = [ tkinter ];
30 propagatedBuildInputs = [ darkdetect ];
31
32 # No tests
33 doCheck = false;
34 pythonImportsCheck = [ "customtkinter" ];
35
36 meta = {
37 description = "A modern and customizable python UI-library based on Tkinter";
38 homepage = "https://github.com/TomSchimansky/CustomTkinter";
39 license = lib.licenses.mit;
40 longDescription = ''
41 CustomTkinter is a python UI-library based on Tkinter, which provides
42 new, modern and fully customizable widgets. They are created and
43 used like normal Tkinter widgets and can also be used in combination
44 with normal Tkinter elements. The widgets and the window colors
45 either adapt to the system appearance or the manually set mode
46 ('light', 'dark'), and all CustomTkinter widgets and windows support
47 HighDPI scaling (Windows, macOS). With CustomTkinter you'll get
48 a consistent and modern look across all desktop platforms
49 (Windows, macOS, Linux).
50 '';
51 maintainers = with lib.maintainers; [ donteatoreo ];
52 };
53}