1{ lib
2, buildPythonPackage
3, fastapi
4, fetchFromGitHub
5, flask
6, httpx
7, pytestCheckHook
8, pythonOlder
9, requests
10, sanic
11, uvicorn
12, wheel
13}:
14
15buildPythonPackage rec {
16 pname = "json-logging";
17 version = "1.5.0-rc0";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "bobbui";
24 repo = "json-logging-python";
25 rev = "refs/tags/${version}";
26 hash = "sha256-WOAEY1pONH+Gx1b8zHZDMNgJJSn7jvMO60LYTA8z/dE=";
27 };
28
29 nativeCheckInputs = [
30 fastapi
31 flask
32 httpx
33 pytestCheckHook
34 # quart
35 requests
36 sanic
37 uvicorn
38 wheel
39 ];
40
41 pythonImportsCheck = [
42 "json_logging"
43 ];
44
45 disabledTests = [
46 "quart"
47 ];
48
49 __darwinAllowLocalNetworking = true;
50
51 meta = with lib; {
52 description = "Python library to emit logs in JSON format";
53 longDescription = ''
54 Python logging library to emit JSON log that can be easily indexed and searchable by logging
55 infrastructure such as ELK, EFK, AWS Cloudwatch, GCP Stackdriver.
56 '';
57 homepage = "https://github.com/bobbui/json-logging-python";
58 changelog = "https://github.com/bobbui/json-logging-python/releases/tag/${version}";
59 license = licenses.asl20;
60 maintainers = with maintainers; [ AluisioASG ];
61 };
62}