at 25.11-pre 2.1 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 # build-system 6 hatchling, 7 scikit-build-core, 8 hatch-vcs, 9 nanobind, 10 # deps 11 antlr4-python3-runtime, 12 attrs, 13 case-converter, 14 cattrs, 15 click, 16 deepdiff, 17 easyeda2ato, 18 eseries, 19 fake-useragent, 20 fastapi, 21 gitpython, 22 igraph, 23 jinja2, 24 natsort, 25 networkx, 26 pandas, 27 pint, 28 pygls, 29 quart-cors, 30 quart-schema, 31 quart, 32 rich, 33 ruamel-yaml, 34 schema, 35 scipy, 36 semver, 37 toolz, 38 urllib3, 39 uvicorn, 40 watchfiles, 41 pyyaml, 42 # tests 43 pytestCheckHook, 44 pytest-xdist, 45 pytest-timeout, 46}: 47 48buildPythonPackage rec { 49 pname = "atopile"; 50 version = "0.2.69"; 51 pyproject = true; 52 53 src = fetchFromGitHub { 54 owner = "atopile"; 55 repo = "atopile"; 56 tag = "v${version}"; 57 hash = "sha256-mQYnaWch0lVzz1hV6WboYxBGe3ruw+mK2AwMx13DQJM="; 58 }; 59 60 build-system = [ 61 hatchling 62 scikit-build-core 63 hatch-vcs 64 nanobind 65 ]; 66 67 dependencies = [ 68 antlr4-python3-runtime 69 attrs 70 case-converter 71 cattrs 72 click 73 deepdiff 74 easyeda2ato 75 eseries 76 fake-useragent 77 fastapi 78 gitpython 79 igraph 80 jinja2 81 natsort 82 networkx 83 pandas 84 pint 85 pygls 86 quart-cors 87 quart-schema 88 quart 89 rich 90 ruamel-yaml 91 schema 92 scipy 93 semver 94 toolz 95 urllib3 96 uvicorn 97 watchfiles 98 pyyaml # required for ato 99 ]; 100 101 pythonRelaxDeps = [ "antlr4-python3-runtime" ]; 102 103 pythonImportsCheck = [ "atopile" ]; 104 105 preCheck = '' 106 substituteInPlace pyproject.toml \ 107 --replace-fail "--html=artifacts/test-report.html" "" \ 108 --replace-fail "--self-contained-html" "" 109 ''; 110 111 nativeCheckInputs = [ 112 pytestCheckHook 113 pytest-xdist 114 pytest-timeout 115 ]; 116 117 meta = { 118 description = "Design circuit boards with code"; 119 homepage = "https://aiopg.readthedocs.io/"; 120 downloadPage = "https://github.com/atopile/atopile"; 121 changelog = "https://github.com/atopile/atopile/releases/tag/${src.rev}"; 122 license = with lib.licenses; [ mit ]; 123 maintainers = with lib.maintainers; [ sigmanificient ]; 124 mainProgram = "ato"; 125 }; 126}