1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 freezegun,
6 hatch-fancy-pypi-readme,
7 hatch-vcs,
8 hatchling,
9 pretend,
10 pytest-asyncio,
11 pytestCheckHook,
12 pythonOlder,
13 simplejson,
14 twisted,
15}:
16
17buildPythonPackage rec {
18 pname = "structlog";
19 version = "24.1.0";
20 pyproject = true;
21
22 disabled = pythonOlder "3.8";
23
24 src = fetchFromGitHub {
25 owner = "hynek";
26 repo = "structlog";
27 rev = "refs/tags/${version}";
28 hash = "sha256-0Yc28UEeozK2+IqILFTqHoTiM5L2SA4t6jld4qTBSzQ=";
29 };
30
31 nativeBuildInputs = [
32 hatch-fancy-pypi-readme
33 hatch-vcs
34 hatchling
35 ];
36
37 nativeCheckInputs = [
38 freezegun
39 pretend
40 pytest-asyncio
41 pytestCheckHook
42 simplejson
43 twisted
44 ];
45
46 pythonImportsCheck = [ "structlog" ];
47
48 meta = with lib; {
49 description = "Painless structural logging";
50 homepage = "https://github.com/hynek/structlog";
51 changelog = "https://github.com/hynek/structlog/blob/${version}/CHANGELOG.md";
52 license = licenses.asl20;
53 maintainers = with maintainers; [ dotlambda ];
54 };
55}