1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 httpx,
7 pytestCheckHook,
8 pytest-asyncio,
9}:
10buildPythonPackage rec {
11 pname = "biothings-client";
12 version = "0.4.1";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "biothings";
17 repo = "biothings_client.py";
18 tag = "v${version}";
19 hash = "sha256-uItIVoWbclF5Xkt7BxI/Q9sfKtrOJxYeJJmTd2NeGfo=";
20 };
21
22 build-system = [ setuptools ];
23 dependencies = [ httpx ];
24 pythonImportsCheck = [ "biothings_client" ];
25
26 nativeCheckInputs = [
27 pytestCheckHook
28 pytest-asyncio
29 ];
30
31 enabledTestPaths = [
32 # All other tests make network requests to exercise the API
33 "tests/test_async.py::test_generate_async_settings"
34 "tests/test_async.py::test_url_protocol"
35 "tests/test_async.py::test_async_client_proxy_discovery"
36 "tests/test_async_variant.py::test_format_hgvs"
37 "tests/test_sync.py::test_generate_settings"
38 "tests/test_sync.py::test_url_protocol"
39 "tests/test_sync.py::test_client_proxy_discovery"
40 "tests/test_variant.py::test_format_hgvs"
41 ];
42
43 meta = {
44 changelog = "https://github.com/biothings/biothings_client.py/blob/${src.tag}/CHANGES.txt";
45 description = "Wrapper to access Biothings.api-based backend services";
46 homepage = "https://github.com/biothings/biothings_client.py";
47 license = lib.licenses.bsd3;
48 maintainers = with lib.maintainers; [ rayhem ];
49 };
50}