{ lib, buildPythonPackage, fetchFromGitHub, google-re2, pyyaml, pytestCheckHook, setuptools, setuptools-scm, ua-parser-builtins, ua-parser-rs, }: buildPythonPackage rec { pname = "ua-parser"; version = "1.0.0"; pyproject = true; src = fetchFromGitHub { owner = "ua-parser"; repo = "uap-python"; rev = "refs/tags/${version}"; fetchSubmodules = true; hash = "sha256-byKtxmuYIsEYyuUmfnbLhfe7EKj0k7QGkK5HewiTiy4="; }; build-system = [ pyyaml setuptools setuptools-scm ]; dependencies = [ ua-parser-builtins ]; optional-dependencies = { yaml = [ pyyaml ]; re2 = [ google-re2 ]; regex = [ ua-parser-rs ]; }; nativeCheckInputs = [ pytestCheckHook ]; pythonImportsCheck = [ "ua_parser" ]; meta = { changelog = "https://github.com/ua-parser/uap-python/releases/tag/${lib.removePrefix "refs/tags/" src.rev}"; description = "Python implementation of the UA Parser"; homepage = "https://github.com/ua-parser/uap-python"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ dotlambda ]; }; }