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