1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 attrs,
6 setuptools,
7 setuptools-scm,
8 pytestCheckHook,
9}:
10
11buildPythonPackage rec {
12 pname = "attrs-strict";
13 version = "1.0.1";
14 pyproject = true;
15
16 src = fetchFromGitHub {
17 owner = "bloomberg";
18 repo = "attrs-strict";
19 tag = version;
20 hash = "sha256-dDOD4Y57E+i8D0S4q+C6t7zjBTsS8q2UFiS22Dsp0Z8=";
21 };
22
23 build-system = [
24 setuptools
25 setuptools-scm
26 ];
27
28 dependencies = [
29 attrs
30 ];
31
32 pythonImportsCheck = [ "attrs_strict" ];
33
34 nativeCheckInputs = [
35 pytestCheckHook
36 ];
37
38 meta = {
39 changelog = "https://github.com/bloomberg/attrs-strict/releases/tag/${version}";
40 description = "Python package which contains runtime validation for attrs data classes based on the types existing in the typing module";
41 homepage = "https://github.com/bloomberg/attrs-strict";
42 license = lib.licenses.asl20;
43 maintainers = with lib.maintainers; [ drupol ];
44 };
45}