1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 setuptools,
7 pytestCheckHook,
8}:
9let
10 pname = "pyembroidery";
11
12 # Mysteriously, the latest version published on PyPI has the version of 1.5.1,
13 # but the latest GitHub version stopped at 1.2.39. Further more Ink/Stitch requires the .exceptions
14 # module which is absent from the PyPI release.
15 # I guess this is *technically* the correct version name, but... yikes.
16 version = "1.5.1-unstable-2024-06-26";
17in
18buildPythonPackage {
19 inherit pname version;
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "inkstitch";
24 repo = "pyembroidery";
25 rev = "b603b8d2b2bf91b5b0823a8a619562de5fd756e7";
26 hash = "sha256-cnWQ/ZScdXTFMLHdceyCLjgEkcwv3KuZHwXWlsYCcBA=";
27 };
28
29 build-system = [
30 setuptools
31 ];
32
33 pythonImportsCheck = [
34 "pyembroidery"
35 ];
36
37 nativeCheckInputs = [
38 pytestCheckHook
39 ];
40
41 # Failed assertions.
42 # See https://github.com/inkstitch/pyembroidery/issues/108
43 disabledTests = [
44 "test_generic_write_gcode"
45 "test_jef_trims_commands"
46 ];
47
48 meta = {
49 description = "Python library for the reading and writing of embroidery files";
50 homepage = "https://github.com/inkstitch/pyembroidery";
51 license = with lib.licenses; [ mit ];
52 maintainers = with lib.maintainers; [ pluiedev ];
53 };
54}