at master 1.4 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 hatchling, 6 requests, 7 nominal-api, 8 nominal-api-protos, 9 python-dateutil, 10 conjure-python-client, 11 pandas, 12 typing-extensions, 13 click, 14 pyyaml, 15 tabulate, 16 ffmpeg-python, 17 pytest-cov-stub, 18 pytestCheckHook, 19}: 20 21buildPythonPackage rec { 22 pname = "nominal"; 23 version = "1.71.0"; 24 pyproject = true; 25 26 src = fetchFromGitHub { 27 owner = "nominal-io"; 28 repo = "nominal-client"; 29 tag = "v${version}"; 30 hash = "sha256-C0afrzWlq2Z3a21MIJ/3XgvjkEZONwBgCZ+06XIYFGE="; 31 }; 32 33 build-system = [ hatchling ]; 34 35 dependencies = [ 36 requests 37 conjure-python-client 38 nominal-api 39 python-dateutil 40 pandas 41 typing-extensions 42 click 43 pyyaml 44 tabulate 45 ffmpeg-python 46 ]; 47 48 optional-dependencies = { 49 protos = [ nominal-api-protos ]; 50 # tdms = [ nptdms ]; nptdms is not in nixpkgs 51 }; 52 53 nativeCheckInputs = [ 54 nominal-api-protos 55 pytest-cov-stub 56 pytestCheckHook 57 ]; 58 59 pythonImportsCheck = [ 60 "nominal" 61 "nominal.core" 62 ]; 63 64 disabledTestPaths = [ 65 "tests/cli/test_auth.py::test_good_request" 66 ]; 67 68 meta = { 69 description = "Automate Nominal workflows in Python"; 70 homepage = "https://github.com/nominal-io/nominal-client"; 71 changelog = "https://github.com/nominal-io/nominal-client/releases/tag/${src.tag}"; 72 license = lib.licenses.mit; 73 maintainers = with lib.maintainers; [ alkasm ]; 74 }; 75}