1{
2 buildPythonPackage,
3 lib,
4 fetchFromGitHub,
5 pytestCheckHook,
6 setuptools,
7 scikit-build,
8 cmake,
9 ninja,
10 python,
11 flaky,
12 hypothesis,
13}:
14
15buildPythonPackage rec {
16 pname = "picologging";
17 version = "0.9.4";
18 pyproject = true;
19
20 src = fetchFromGitHub {
21 # 0.9.4 only release on github
22 owner = "microsoft";
23 repo = "picologging";
24 tag = version;
25 hash = "sha256-t75D7aNKAifzeCPwtyKp8LoiXtbbXspRFYnsI0gx+V4=";
26 };
27
28 patches = [
29 # For python 313
30 # https://github.com/microsoft/picologging/pull/212
31 ./pr-212.patch
32 ];
33
34 build-system = [
35 setuptools
36 cmake
37 scikit-build
38 ninja
39 ];
40
41 nativeCheckInputs = [
42 pytestCheckHook
43 ];
44
45 dontUseCmakeConfigure = true;
46 __darwinAllowLocalNetworking = true;
47
48 dependencies = [
49 flaky
50 hypothesis
51 ];
52
53 pythonImportsCheck = [ "picologging" ];
54
55 meta = {
56 homepage = "https://github.com/microsoft/picologging";
57 platforms = lib.platforms.unix;
58 maintainers = with lib.maintainers; [ bot-wxt1221 ];
59 changelog = "https://github.com/microsoft/picologging/releases/tag/${version}";
60 description = "Optimized logging library for Python";
61 license = lib.licenses.mit;
62 };
63}