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