1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 hatch-vcs,
6 hatchling,
7 in-n-out,
8 psygnal,
9 pydantic,
10 pydantic-compat,
11 pytestCheckHook,
12 pythonOlder,
13 typing-extensions,
14}:
15
16buildPythonPackage rec {
17 pname = "app-model";
18 version = "0.4.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchFromGitHub {
24 owner = "pyapp-kit";
25 repo = "app-model";
26 tag = "v${version}";
27 hash = "sha256-T7aUwdne1rUzhVRotlxDvEBm3mi/frUQziZdLo53Lsg=";
28 };
29
30 build-system = [
31 hatch-vcs
32 hatchling
33 ];
34
35 dependencies = [
36 psygnal
37 pydantic
38 pydantic-compat
39 in-n-out
40 typing-extensions
41 ];
42
43 nativeCheckInputs = [ pytestCheckHook ];
44
45 pythonImportsCheck = [ "app_model" ];
46
47 meta = with lib; {
48 description = "Module to implement generic application schema";
49 homepage = "https://github.com/pyapp-kit/app-model";
50 changelog = "https://github.com/pyapp-kit/app-model/blob/${src.tag}/CHANGELOG.md";
51 license = licenses.bsd3;
52 maintainers = with maintainers; [ fab ];
53 };
54}