Unverified Commit 70c22141 authored by Wolfgang Walther's avatar Wolfgang Walther Committed by GitHub
Browse files

python3Packages.atopile: init at 0.2.69 (#387962)

parents 9b8302f5 b0ddacd1
Loading
Loading
Loading
Loading
+126 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  # build-system
  hatchling,
  scikit-build-core,
  hatch-vcs,
  nanobind,
  # deps
  antlr4-python3-runtime,
  attrs,
  case-converter,
  cattrs,
  click,
  deepdiff,
  easyeda2ato,
  eseries,
  fake-useragent,
  fastapi,
  gitpython,
  igraph,
  jinja2,
  natsort,
  networkx,
  pandas,
  pint,
  pygls,
  quart-cors,
  quart-schema,
  quart,
  rich,
  ruamel-yaml,
  schema,
  scipy,
  semver,
  toolz,
  urllib3,
  uvicorn,
  watchfiles,
  pyyaml,
  # tests
  pytestCheckHook,
  pytest-xdist,
  pytest-timeout,
}:

buildPythonPackage rec {
  pname = "atopile";
  version = "0.2.69";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "atopile";
    repo = "atopile";
    tag = "v${version}";
    hash = "sha256-mQYnaWch0lVzz1hV6WboYxBGe3ruw+mK2AwMx13DQJM=";
  };

  build-system = [
    hatchling
    scikit-build-core
    hatch-vcs
    nanobind
  ];

  dependencies = [
    antlr4-python3-runtime
    attrs
    case-converter
    cattrs
    click
    deepdiff
    easyeda2ato
    eseries
    fake-useragent
    fastapi
    gitpython
    igraph
    jinja2
    natsort
    networkx
    pandas
    pint
    pygls
    quart-cors
    quart-schema
    quart
    rich
    ruamel-yaml
    schema
    scipy
    semver
    toolz
    urllib3
    uvicorn
    watchfiles
    pyyaml # required for ato
  ];

  pythonRelaxDeps = [ "antlr4-python3-runtime" ];

  pythonImportsCheck = [ "atopile" ];

  preCheck = ''
    substituteInPlace pyproject.toml \
      --replace-fail "--html=artifacts/test-report.html" "" \
      --replace-fail "--self-contained-html" ""
  '';

  nativeCheckInputs = [
    pytestCheckHook
    pytest-xdist
    pytest-timeout
  ];

  meta = {
    description = "Design circuit boards with code";
    homepage = "https://aiopg.readthedocs.io/";
    downloadPage = "https://github.com/atopile/atopile";
    changelog = "https://github.com/atopile/atopile/releases/tag/${src.rev}";
    license = with lib.licenses; [ mit ];
    maintainers = with lib.maintainers; [ sigmanificient ];
    mainProgram = "ato";
  };
}
+36 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  setuptools,
  pytestCheckHook,
}:

buildPythonPackage rec {
  pname = "case-converter";
  version = "1.2.0";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "chrisdoherty4";
    repo = "python-case-converter";
    tag = "v${version}";
    hash = "sha256-PS/9Ndl3oD9zimEf819dNoSAeNJPndVjT+dkfW7FIJs=";
  };

  build-system = [ setuptools ];

  pythonImportsCheck = [ "caseconverter" ];

  doCheck = true;

  nativeCheckInputs = [ pytestCheckHook ];

  meta = {
    description = "Case conversion library for Python";
    homepage = "https://github.com/chrisdoherty4/python-case-converter";
    changelog = "https://github.com/chrisdoherty4/python-case-converter/releases/tag/${src.tag}";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ sigmanificient ];
  };
}
+40 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  setuptools,
  docopt,
  pytestCheckHook,
  hypothesis,
}:

buildPythonPackage {
  pname = "docopt-subcommands";
  version = "4.0.0-unstable-2020-01-06";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "abingham";
    repo = "docopt-subcommands";
    rev = "5693cbac24701c53e55fa182c1d563736e6a0557"; # no tags
    hash = "sha256-bNFmRMzyC9BQB/J0ACqYxkS7lHG4CWd5/by7QgCopFo=";
  };

  build-system = [ setuptools ];

  dependencies = [ docopt ];

  pythonImportsCheck = [ "docopt_subcommands" ];

  nativeCheckInputs = [
    pytestCheckHook
    hypothesis
  ];

  meta = {
    description = "Create subcommand-based CLI programs with docopt";
    homepage = "https://github.com/abingham/docopt-subcommands";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ sigmanificient ];
  };
}
+41 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchPypi,
  setuptools,
  pydantic,
  requests,
}:

buildPythonPackage rec {
  pname = "easyeda2ato";
  version = "0.2.7";
  pyproject = true;

  # repo version does not match
  src = fetchPypi {
    inherit pname version;

    hash = "sha256-bHhBN+h9Vx9Q4wZVKxMzkEEXzV7hKoQz8i+JpkSFsYA=";
  };

  build-system = [ setuptools ];

  dependencies = [
    pydantic
    requests
  ];

  pythonImportsCheck = [ "easyeda2kicad" ];

  doCheck = false; # no tests

  meta = {
    description = "Convert any LCSC components (including EasyEDA) to KiCad library";
    homepage = "https://github.com/uPesy/easyeda2kicad.py";
    changelog = "https://github.com/uPesy/easyeda2kicad.py/releases/tag/v${version}";
    license = lib.licenses.agpl3Only;
    maintainers = with lib.maintainers; [ sigmanificient ];
    mainProgram = "easyeda2kicad";
  };
}
+45 −0
Original line number Diff line number Diff line
{
  lib,
  buildPythonPackage,
  fetchFromGitHub,
  setuptools,
  docopt-subcommands,
  future,
  pytestCheckHook,
  hypothesis,
}:

buildPythonPackage {
  pname = "eseries";
  version = "1.2.1-unstable-2023-12-17";
  pyproject = true;

  src = fetchFromGitHub {
    owner = "rob-smallshire";
    repo = "eseries";
    rev = "3becd72de8b1b533b4a637169022231271a934fb"; # no tags
    hash = "sha256-iQBh4L+t24pOBh86wEqu5e6/RUmTQdCX+rOV/H2ywaY=";
  };

  build-system = [ setuptools ];

  dependencies = [
    docopt-subcommands
    future
  ];

  pythonImportsCheck = [ "eseries" ];

  nativeCheckInputs = [
    pytestCheckHook
    hypothesis
  ];

  meta = {
    description = "Find value in the E-series used for electronic components values";
    homepage = "https://github.com/rob-smallshire/eseries";
    license = lib.licenses.mit;
    maintainers = with lib.maintainers; [ sigmanificient ];
    mainProgram = "eseries";
  };
}
Loading