From 25cfb94d69daf0ea68a884b53970d2cbb14c05e1 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 11 Nov 2024 18:09:29 +0100 Subject: [PATCH] python3Packages.gdsfactory: init at 8.18.1 --- .../python-modules/gdsfactory/default.nix | 108 ++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 110 insertions(+) create mode 100644 pkgs/development/python-modules/gdsfactory/default.nix diff --git a/pkgs/development/python-modules/gdsfactory/default.nix b/pkgs/development/python-modules/gdsfactory/default.nix new file mode 100644 index 000000000000..b2282a04a1c0 --- /dev/null +++ b/pkgs/development/python-modules/gdsfactory/default.nix @@ -0,0 +1,108 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + pytestCheckHook, + flit-core, + jinja2, + loguru, + matplotlib, + numpy, + orjson, + pandas, + pydantic, + pydantic-settings, + pydantic-extra-types, + pyyaml, + qrcode, + rectpack, + rich, + scipy, + shapely, + toolz, + types-pyyaml, + typer, + kfactory, + watchdog, + freetype-py, + mapbox-earcut, + networkx, + scikit-image, + trimesh, + ipykernel, + attrs, + graphviz, + # tests + jsondiff, + jsonschema, + pytest-regressions, +}: +buildPythonPackage rec { + pname = "gdsfactory"; + version = "8.18.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "gdsfactory"; + repo = "gdsfactory"; + rev = "v${version}"; + hash = "sha256-wDz8QpRgu40FB8+otnGsHVn2e6/SWXIZgA1aeMqMhPQ="; + }; + + build-system = [ flit-core ]; + + dependencies = [ + jinja2 + loguru + matplotlib + numpy + orjson + pandas + pydantic + pydantic-settings + pydantic-extra-types + pyyaml + qrcode + rectpack + rich + scipy + shapely + toolz + types-pyyaml + typer + kfactory + watchdog + freetype-py + mapbox-earcut + networkx + scikit-image + trimesh + ipykernel + attrs + graphviz + ]; + + nativeCheckInputs = [ + jsondiff + jsonschema + pytestCheckHook + pytest-regressions + ]; + + pythonRelaxDeps = [ + "pydantic" + "trimesh" + ]; + + # tests require >32GB of RAM + doCheck = false; + + pythonImportsCheck = [ "gdsfactory" ]; + + meta = with lib; { + description = "Python library to generate GDS layouts"; + homepage = "https://github.com/gdsfactory/gdsfactory"; + license = licenses.mit; + maintainers = with maintainers; [ fbeffa ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ba378582c7b4..ea6380a49314 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5086,6 +5086,8 @@ self: super: with self; { gdown = callPackage ../development/python-modules/gdown { }; + gdsfactory = callPackage ../development/python-modules/gdsfactory { }; + ge25519 = callPackage ../development/python-modules/ge25519 { }; geant4 = toPythonModule (pkgs.geant4.override {