Unverified Commit c091ca63 authored by Yohann Boniface's avatar Yohann Boniface Committed by GitHub
Browse files

python312Packages.pyadjoint-ad: init at 2025.04.0 (#404041)

parents 1b6b151b 36e386de
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  setuptools,
  numpy,
  pytestCheckHook,
}:

buildPythonPackage rec {
  pname = "checkpoint-schedules";
  version = "1.0.4";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "firedrakeproject";
    repo = "checkpoint_schedules";
    tag = "v${version}";
    hash = "sha256-3bn/KxxtRLRtOHFeULQdnndonpuhuYLL8/y/zoAurzY=";
  };

  build-system = [ setuptools ];

  dependencies = [
    numpy
  ];

  pythonImportsCheck = [
    "checkpoint_schedules"
  ];

  nativeCheckInputs = [ pytestCheckHook ];

  meta = {
    homepage = "https://www.firedrakeproject.org/checkpoint_schedules";
    downloadPage = "https://github.com/firedrakeproject/checkpoint_schedules";
    description = "Schedules for incremental checkpointing of adjoint simulations";
    changelog = "https://github.com/firedrakeproject/checkpoint_schedules/releases/tag/${src.tag}";
    license = lib.licenses.lgpl3Only;
    maintainers = with lib.maintainers; [ qbisi ];
  };
}
+52 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  setuptools,
  scipy,
  checkpoint-schedules,
  pytestCheckHook,
}:

buildPythonPackage rec {
  pname = "pyadjoint-ad";
  version = "2025.04.0";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "dolfin-adjoint";
    repo = "pyadjoint";
    tag = version;
    hash = "sha256-ZNd8aJJ87OfQakScrkYqhCAh7qGctW/uqIoQjX5VEhI=";
  };

  build-system = [
    setuptools
  ];

  dependencies = [
    scipy
    checkpoint-schedules
  ];

  pythonImportsCheck = [
    # The firedrake_adjoint module is deprecated and requires a cyclic dependency of firedrake
    # "firedrake_adjoint"
    "numpy_adjoint"
    "pyadjoint"
    "pyadjoint.optimization"
  ];

  nativeCheckInputs = [ pytestCheckHook ];

  pytestFlagsArray = [
    "tests/pyadjoint"
  ];

  meta = {
    homepage = "https://github.com/dolfin-adjoint/pyadjoint";
    description = "High-level automatic differentiation library";
    license = lib.licenses.lgpl3Only;
    maintainers = with lib.maintainers; [ qbisi ];
  };
}
+4 −0
Original line number Diff line number Diff line
@@ -2404,6 +2404,8 @@ self: super: with self; {
  checkdmarc = callPackage ../development/python-modules/checkdmarc { };
  checkpoint-schedules = callPackage ../development/python-modules/checkpoint-schedules { };
  checksumdir = callPackage ../development/python-modules/checksumdir { };
  cheetah3 = callPackage ../development/python-modules/cheetah3 { };
@@ -11842,6 +11844,8 @@ self: super: with self; {
  pyacoustid = callPackage ../development/python-modules/pyacoustid { };
  pyadjoint-ad = callPackage ../development/python-modules/pyadjoint-ad { };
  pyads = callPackage ../development/python-modules/pyads { };
  pyaehw4a1 = callPackage ../development/python-modules/pyaehw4a1 { };