1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 hatchling,
6 hatch-vcs,
7 typing-extensions,
8 pytestCheckHook,
9 kicad,
10}:
11
12buildPythonPackage rec {
13 pname = "kicadcliwrapper";
14 version = "1.1.1";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "atopile";
19 repo = "kicadcliwrapper";
20 tag = "v${version}";
21 hash = "sha256-s1j0k6SvZiIHu8PKGTR+GaYUZIlFq5TKYuxoCsvsvUY=";
22 };
23
24 build-system = [
25 hatchling
26 hatch-vcs
27 ];
28
29 dependencies = [ typing-extensions ];
30
31 pythonRemoveDeps = [ "black" ];
32
33 pythonImportsCheck = [
34 "kicadcliwrapper"
35 "kicadcliwrapper.lib"
36 ];
37
38 # this script is used to generate the bindings
39 # and is intended for development.
40 preCheck = ''
41 rm src/kicadcliwrapper/main.py
42 '';
43
44 nativeCheckInputs = [
45 pytestCheckHook
46 kicad
47 ];
48
49 meta = {
50 description = "Strongly typed, auto-generated bindings for KiCAD's CLI";
51 homepage = "https://github.com/atopile/kicadcliwrapper";
52 license = with lib.licenses; [ mit ];
53 maintainers = with lib.maintainers; [ sigmanificient ];
54 };
55}