1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 pyparsing,
7 typing-extensions,
8 pytestCheckHook,
9}:
10
11buildPythonPackage rec {
12 version = "0.18.1";
13 pname = "ezdxf";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.5";
17
18 src = fetchFromGitHub {
19 owner = "mozman";
20 repo = "ezdxf";
21 rev = "refs/tags/v${version}";
22 hash = "sha256-x1p9dWrbDtDreXdBuzOA4Za+ZC40y4xdEU7MGb9uUec=";
23 };
24
25 propagatedBuildInputs = [
26 pyparsing
27 typing-extensions
28 ];
29
30 nativeCheckInputs = [ pytestCheckHook ];
31
32 disabledTests = [
33 # requires geomdl dependency
34 "TestNurbsPythonCorrectness"
35 "test_rational_spline_curve_points_by_nurbs_python"
36 "test_rational_spline_derivatives_by_nurbs_python"
37 "test_from_nurbs_python_curve_to_ezdxf_bspline"
38 "test_from_ezdxf_bspline_to_nurbs_python_curve_non_rational"
39 "test_from_ezdxf_bspline_to_nurbs_python_curve_rational"
40 # AssertionError: assert 44.99999999999999 == 45
41 "test_dimension_transform_interface"
42 ];
43
44 pythonImportsCheck = [
45 "ezdxf"
46 "ezdxf.addons"
47 ];
48
49 meta = with lib; {
50 description = "Python package to read and write DXF drawings (interface to the DXF file format)";
51 mainProgram = "ezdxf";
52 homepage = "https://github.com/mozman/ezdxf/";
53 license = licenses.mit;
54 maintainers = with maintainers; [ hodapp ];
55 platforms = platforms.unix;
56 };
57}