1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, poetry-core
6, beautifulsoup4
7, boto3
8, lxml
9, pdoc
10, pytestCheckHook
11, requests-mock
12}:
13
14buildPythonPackage rec {
15 pname = "bx-py-utils";
16 version = "80";
17
18 disabled = pythonOlder "3.9";
19
20 format = "pyproject";
21
22 src = fetchFromGitHub {
23 owner = "boxine";
24 repo = "bx_py_utils";
25 rev = "refs/tags/v${version}";
26 hash = "sha256-ih0tqT+3fTTgncXz4bneo4OGT0jVhybdADTy1de5VqI=";
27 };
28
29 postPatch = ''
30 rm bx_py_utils_tests/publish.py
31 '';
32
33 nativeBuildInputs = [
34 poetry-core
35 ];
36
37 pythonImportsCheck = [
38 "bx_py_utils.anonymize"
39 "bx_py_utils.auto_doc"
40 "bx_py_utils.compat"
41 "bx_py_utils.dict_utils"
42 "bx_py_utils.environ"
43 "bx_py_utils.error_handling"
44 "bx_py_utils.file_utils"
45 "bx_py_utils.graphql_introspection"
46 "bx_py_utils.hash_utils"
47 "bx_py_utils.html_utils"
48 "bx_py_utils.iteration"
49 "bx_py_utils.path"
50 "bx_py_utils.processify"
51 "bx_py_utils.rison"
52 "bx_py_utils.stack_info"
53 "bx_py_utils.string_utils"
54 "bx_py_utils.test_utils"
55 "bx_py_utils.text_tools"
56 ];
57
58 nativeCheckInputs = [
59 beautifulsoup4
60 boto3
61 lxml
62 pdoc
63 pytestCheckHook
64 requests-mock
65 ];
66
67 disabledTests = [
68 # too closely affected by bs4 updates
69 "test_pretty_format_html"
70 "test_assert_html_snapshot_by_css_selector"
71 ];
72
73 disabledTestPaths = [
74 "bx_py_utils_tests/tests/test_project_setup.py"
75 ];
76
77 meta = {
78 description = "Various Python utility functions";
79 homepage = "https://github.com/boxine/bx_py_utils";
80 license = lib.licenses.mit;
81 maintainers = with lib.maintainers; [ dotlambda ];
82 };
83}