Unverified Commit 9c72c1c6 authored by Fabian Affolter's avatar Fabian Affolter Committed by GitHub
Browse files

python312Packages.dvc: refactor (#386940)

parents b9fbbaca 13a5009e
Loading
Loading
Loading
Loading
+43 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  dvc-objects,
  fetchPypi,
  ossfs,
  pythonOlder,
  setuptools-scm,
}:

buildPythonPackage rec {
  pname = "dvc-oss";
  version = "3.0.0";
  pyproject = true;

  disabled = pythonOlder "3.9";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-EEf3NAIvzSuW0ysGv24JIc0KZYEPf8HpsPrCmhR7apo=";
  };

  # Prevent circular dependency
  pythonRemoveDeps = [ "dvc" ];

  build-system = [ setuptools-scm ];

  dependencies = [
    dvc-objects
    ossfs
  ];

  # Circular dependency
  # pythonImportsCheck = [ "dvc_ssh" ];

  meta = with lib; {
    description = "Alibaba OSS plugin for dvc";
    homepage = "https://pypi.org/project/dvc-oss/";
    changelog = "https://github.com/iterative/dvc-oss/releases/tag/${version}";
    license = licenses.asl20;
    maintainers = with maintainers; [ fab ];
  };
}
+14 −8
Original line number Diff line number Diff line
@@ -6,16 +6,20 @@
  fetchPypi,
  setuptools-scm,
  sshfs,
  pythonOlder,
}:

buildPythonPackage rec {
  pname = "dvc-ssh";
  version = "4.1.1";
  version = "4.2.1";
  pyproject = true;

  disabled = pythonOlder "3.9";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-lvC6oAXQR4u7s+11n6NgQExPc9yrq3JAmmXtuOw22tI=";
    pname = "dvc_ssh";
    inherit version;
    hash = "sha256-ld6uaAIA+8lHK/TjKtrjtmGKj5847SBMYYvKKN+MkS4=";
  };

  pythonRemoveDeps = [
@@ -23,16 +27,18 @@ buildPythonPackage rec {
    "dvc"
  ];

  nativeBuildInputs = [
    setuptools-scm
  ];
  build-system = [ setuptools-scm ];

  propagatedBuildInputs = [
  dependencies = [
    bcrypt
    dvc-objects
    sshfs
  ];

  optional-dependencies = {
    gssapi = [ sshfs ];
  };

  # bcrypt is enabled for sshfs in nixpkgs
  postPatch = ''
    substituteInPlace setup.cfg --replace "sshfs[bcrypt]" "sshfs"
@@ -47,7 +53,7 @@ buildPythonPackage rec {
  # ];

  meta = with lib; {
    description = "ssh plugin for dvc";
    description = "SSH plugin for dvc";
    homepage = "https://pypi.org/project/dvc-ssh/${version}";
    changelog = "https://github.com/iterative/dvc-ssh/releases/tag/${version}";
    license = licenses.asl20;
+46 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  dvc-objects,
  fetchPypi,
  pythonOlder,
  setuptools-scm,
  setuptools,
  webdav4,
}:

buildPythonPackage rec {
  pname = "dvc-webdav";
  version = "3.0.0";
  pyproject = true;

  disabled = pythonOlder "3.9";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-Zefu8uvINBWo3b3LV5vyGaN5fGfnpi1FaMXILeK2pQg=";
  };

  # Prevent circular dependency
  pythonRemoveDeps = [ "dvc" ];

  build-system = [
    setuptools
    setuptools-scm
  ];

  dependencies = [
    dvc-objects
    webdav4
  ];

  # Circular dependency
  # pythonImportsCheck = [ "dvc_webdav" ];

  meta = {
    description = "Webdav plugin for dvc";
    homepage = "https://pypi.org/project/dvc-webdav/";
    license = lib.licenses.asl20;
    maintainers = with lib.maintainers; [ fab ];
  };
}
+51 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  dvc-objects,
  fetchPypi,
  fsspec,
  pythonOlder,
  requests-kerberos,
  setuptools-scm,
  setuptools,
}:

buildPythonPackage rec {
  pname = "dvc-webhdfs";
  version = "3.1.0";
  pyproject = true;

  disabled = pythonOlder "3.9";

  src = fetchPypi {
    inherit pname version;
    hash = "sha256-bolIQ9Fc52agXGFt7anZvDYSSOk7+eozi5lublHqD+o=";
  };

  # Prevent circular dependency
  pythonRemoveDeps = [ "dvc" ];

  build-system = [
    setuptools
    setuptools-scm
  ];

  dependencies = [
    dvc-objects
    fsspec
  ];

  optional-dependencies = {
    kerberos = [ requests-kerberos ];
  };

  # Circular dependency
  # pythonImportsCheck = [ "dvc_webhdfs" ];

  meta = {
    description = "Webhdfs plugin for dvc";
    homepage = "https://pypi.org/project/dvc-webhdfs/";
    license = lib.licenses.asl20;
    maintainers = with lib.maintainers; [ fab ];
  };
}
+22 −6
Original line number Diff line number Diff line
{
  lib,
  appdirs,
  attrs,
  buildPythonPackage,
  celery,
  colorama,
  configobj,
  dulwich,
  distro,
  dpath,
  dvc-azure,
@@ -12,14 +14,18 @@
  dvc-gs,
  dvc-hdfs,
  dvc-http,
  dvc-oss,
  dvc-render,
  dvc-s3,
  dvc-ssh,
  dvc-studio-client,
  dvc-task,
  dvc-webdav,
  dvc-webhdfs,
  fetchFromGitHub,
  flatten-dict,
  flufl-lock,
  fsspec,
  funcy,
  grandalf,
  gto,
@@ -27,7 +33,9 @@
  importlib-metadata,
  importlib-resources,
  iterative-telemetry,
  kombu,
  networkx,
  omegaconf,
  packaging,
  pathspec,
  platformdirs,
@@ -60,7 +68,7 @@ buildPythonPackage rec {
  version = "3.59.1";
  pyproject = true;

  disabled = pythonOlder "3.8";
  disabled = pythonOlder "3.9";

  src = fetchFromGitHub {
    owner = "iterative";
@@ -85,11 +93,13 @@ buildPythonPackage rec {

  dependencies =
    [
      appdirs
      attrs
      celery
      colorama
      configobj
      distro
      dpath
      dulwich
      dvc-data
      dvc-http
      dvc-render
@@ -97,12 +107,15 @@ buildPythonPackage rec {
      dvc-task
      flatten-dict
      flufl-lock
      fsspec
      funcy
      grandalf
      gto
      hydra-core
      iterative-telemetry
      kombu
      networkx
      omegaconf
      packaging
      pathspec
      platformdirs
@@ -126,17 +139,20 @@ buildPythonPackage rec {
    ++ lib.optionals enableGoogle optional-dependencies.gs
    ++ lib.optionals enableAWS optional-dependencies.s3
    ++ lib.optionals enableAzure optional-dependencies.azure
    ++ lib.optionals enableSSH optional-dependencies.ssh
    ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ]
    ++ lib.optionals (pythonOlder "3.9") [ importlib-resources ];
    ++ lib.optionals enableSSH optional-dependencies.ssh;

  optional-dependencies = {
    azure = [ dvc-azure ];
    gdrive = [ dvc-gdrive ];
    gs = [ dvc-gs ];
    hdfs = [ dvc-hdfs ];
    oss = [ dvc-oss ];
    s3 = [ dvc-s3 ];
    ssh = [ dvc-ssh ];
    ssh_gssapi = [ dvc-ssh ] ++ dvc-ssh.optional-dependencies.gssapi;
    webdav = [ dvc-webdav ];
    webhdfs = [ dvc-webhdfs ];
    webhdfs_kerberos = [ dvc-webhdfs ] ++ dvc-webhdfs.optional-dependencies.kerberos;
  };

  # Tests require access to real cloud services
Loading