at master 1.5 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build-system 7 setuptools, 8 setuptools-scm, 9 10 # dependencies 11 aenum, 12 cachetools, 13 klayout, 14 loguru, 15 numpy, 16 pydantic-extra-types, 17 pydantic-settings, 18 pydantic, 19 pygit2, 20 rapidfuzz, 21 rectangle-packer, 22 requests, 23 ruamel-yaml-string, 24 ruamel-yaml, 25 scipy, 26 semver, 27 toolz, 28 typer, 29 30 # tests 31 pytestCheckHook, 32}: 33 34buildPythonPackage rec { 35 pname = "kfactory"; 36 version = "1.14.3"; 37 pyproject = true; 38 39 src = fetchFromGitHub { 40 owner = "gdsfactory"; 41 repo = "kfactory"; 42 tag = "v${version}"; 43 hash = "sha256-dwJqKl6o2w8fxcNMQAvt5dI1k89yoy/PiIH9eo3JQbA="; 44 }; 45 46 build-system = [ 47 setuptools 48 setuptools-scm 49 ]; 50 51 dependencies = [ 52 aenum 53 cachetools 54 klayout 55 loguru 56 numpy 57 pydantic 58 pydantic-extra-types 59 pydantic-settings 60 pygit2 61 rapidfuzz 62 rectangle-packer 63 requests 64 ruamel-yaml 65 ruamel-yaml-string 66 scipy 67 semver 68 toolz 69 typer 70 ]; 71 72 pythonImportsCheck = [ "kfactory" ]; 73 74 nativeCheckInputs = [ pytestCheckHook ]; 75 76 disabledTestPaths = [ 77 # https://github.com/gdsfactory/kfactory/issues/511 78 "tests/test_pdk.py" 79 # NameError 80 "tests/test_session.py" 81 ]; 82 83 meta = { 84 description = "KLayout API implementation of gdsfactory"; 85 homepage = "https://github.com/gdsfactory/kfactory"; 86 changelog = "https://github.com/gdsfactory/kfactory/blob/${src.tag}/CHANGELOG.md"; 87 license = lib.licenses.mit; 88 maintainers = with lib.maintainers; [ fbeffa ]; 89 }; 90}