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}:
15
16buildPythonPackage rec {
17 pname = "structlog";
18 version = "24.4.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.8";
22
23 src = fetchFromGitHub {
24 owner = "hynek";
25 repo = "structlog";
26 rev = "refs/tags/${version}";
27 hash = "sha256-z3ecgsep/BQJ+Fv78rV4XiFU4+1aaUEfNEtIqy44KV4=";
28 };
29
30 build-system = [
31 hatch-fancy-pypi-readme
32 hatch-vcs
33 hatchling
34 ];
35
36 nativeCheckInputs = [
37 freezegun
38 pretend
39 pytest-asyncio
40 pytestCheckHook
41 simplejson
42 ];
43
44 pythonImportsCheck = [ "structlog" ];
45
46 meta = with lib; {
47 description = "Painless structural logging";
48 homepage = "https://github.com/hynek/structlog";
49 changelog = "https://github.com/hynek/structlog/blob/${version}/CHANGELOG.md";
50 license = licenses.asl20;
51 maintainers = with maintainers; [ dotlambda ];
52 };
53}