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