1{ 2 lib, 3 annexremote, 4 buildPythonPackage, 5 datalad, 6 datasalad, 7 distutils, 8 fetchFromGitHub, 9 git-annex, 10 git, 11 hatch-vcs, 12 hatchling, 13 humanize, 14 more-itertools, 15 openssh, 16 psutil, 17 pytestCheckHook, 18 pythonAtLeast, 19 requests-toolbelt, 20 requests, 21 unzip, 22 webdavclient3, 23 writableTmpDirAsHomeHook, 24}: 25 26buildPythonPackage rec { 27 pname = "datalad-next"; 28 version = "1.6.0-unstable-2025-07-04"; 29 pyproject = true; 30 31 src = fetchFromGitHub { 32 owner = "datalad"; 33 repo = "datalad-next"; 34 rev = "2d2b1526c1e396964dd3ffdbb37597adefe7682d"; 35 hash = "sha256-47cRxaxOGzR6hDfiW2hS3MNHp2aP9rxtWNxV+33PPfs="; 36 }; 37 38 env.SETUPTOOLS_SCM_PRETEND_VERSION = "1.6.0"; 39 40 nativeBuildInputs = [ git ]; 41 42 build-system = [ 43 hatchling 44 hatch-vcs 45 ]; 46 47 dependencies = [ 48 annexremote 49 datasalad 50 datalad 51 humanize 52 more-itertools 53 ]; 54 55 optional-dependencies = { 56 httpsupport = [ 57 requests 58 requests-toolbelt 59 ]; 60 }; 61 62 nativeCheckInputs = [ 63 datalad 64 git-annex 65 openssh 66 psutil 67 pytestCheckHook 68 unzip 69 webdavclient3 70 writableTmpDirAsHomeHook 71 ]; 72 73 disabledTests = [ 74 # remotes available after datalad-next install (through `console_scripts`), but not yet in $PATH during test 75 "test_uncurl_addurl_unredirected" 76 "test_uncurl" 77 "test_uncurl_ria_access" 78 "test_uncurl_store" 79 "test_uncurl_remove" 80 "test_uncurl_testremote" 81 "test_replace_add_archive_content" 82 "test_annex_remote" 83 "test_export_remote" 84 "test_annex_remote_autorepush" 85 "test_export_remote_autorepush" 86 "test_typeweb_annex" 87 "test_typeweb_annex_uncompressed" 88 "test_typeweb_export" 89 "test_submodule_url" 90 "test_uncurl_progress_reporting_to_annex" 91 "test_archivist_retrieval" 92 "test_archivist_retrieval_legacy" 93 94 # hardcoded /bin path 95 "test_auto_if_wanted_data_transfer_path_restriction" 96 97 # Test require internet access 98 "test_auto_data_transfer" 99 "test_compressed_file_stay_compressed" 100 "test_delete_method" 101 "test_delete_timeout" 102 "test_http_url_operations" 103 "test_iter_tar" 104 "test_ls_file_collection_tarfile" 105 "test_push_wanted" 106 "test_transparent_decompression" 107 ] 108 ++ lib.optionals (pythonAtLeast "3.13") [ 109 # RuntimeError 110 "test_tree_with_broken_symlinks" 111 ]; 112 113 disabledTestPaths = [ 114 # Tests require internet access 115 "datalad_next/commands/tests/test_download.py" 116 "datalad_next/archive_operations/tests/test_tarfile.py" 117 ]; 118 119 pythonImportsCheck = [ "datalad_next" ]; 120 121 meta = { 122 description = "DataLad extension with a staging area for additional functionality, or for improved performance and user experience"; 123 changelog = "https://github.com/datalad/datalad-next/blob/main/CHANGELOG.md"; 124 homepage = "https://github.com/datalad/datalad-next"; 125 license = lib.licenses.mit; 126 maintainers = with lib.maintainers; [ gador ]; 127 }; 128}