1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, pytestCheckHook
6, pytest-asyncio
7, pretend
8, freezegun
9, simplejson
10, typing-extensions
11, pythonAtLeast
12}:
13
14buildPythonPackage rec {
15 pname = "structlog";
16 version = "22.1.0";
17 format = "flit";
18
19 src = fetchFromGitHub {
20 owner = "hynek";
21 repo = "structlog";
22 rev = "refs/tags/${version}";
23 sha256 = "sha256-2sdH6iP+l+6pBNC+sjpAX8bCdCANqqkaqZRmR68uwxY=";
24 };
25
26 propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
27 typing-extensions
28 ];
29
30 pythonImportsCheck = [
31 "structlog"
32 ];
33
34 checkInputs = [
35 freezegun
36 pretend
37 pytest-asyncio
38 pytestCheckHook
39 simplejson
40 ];
41
42 meta = with lib; {
43 description = "Painless structural logging";
44 homepage = "https://github.com/hynek/structlog";
45 license = licenses.asl20;
46 maintainers = with maintainers; [ ];
47 };
48}