{ lib , arrow , buildPythonPackage , fetchPypi , importlib-metadata , logfury , pyfakefs , pytestCheckHook , pytest-lazy-fixture , pytest-mock , pythonOlder , requests , setuptools-scm , tqdm }: buildPythonPackage rec { pname = "b2sdk"; version = "1.18.0"; format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; hash = "sha256-knLyjRjUmLZtM9dJoPBeSdm7GpE0+UJhwLi/obVvPuw="; }; nativeBuildInputs = [ setuptools-scm ]; propagatedBuildInputs = [ arrow logfury requests tqdm ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ]; checkInputs = [ pytestCheckHook pytest-lazy-fixture pytest-mock pyfakefs ]; postPatch = '' substituteInPlace setup.py \ --replace 'setuptools_scm<6.0' 'setuptools_scm' substituteInPlace requirements.txt \ --replace 'arrow>=0.8.0,<1.0.0' 'arrow' ''; disabledTestPaths = [ # requires aws s3 auth "test/integration/test_download.py" ]; disabledTests = [ # Test requires an API key "test_raw_api" "test_files_headers" "test_large_file" ]; pythonImportsCheck = [ "b2sdk" ]; meta = with lib; { description = "Client library and utilities for access to B2 Cloud Storage (backblaze)"; homepage = "https://github.com/Backblaze/b2-sdk-python"; license = licenses.mit; maintainers = with maintainers; [ ]; }; }