Unverified Commit 39f7a97e authored by Martin Weinelt's avatar Martin Weinelt Committed by GitHub
Browse files

Merge pull request #200850 from fabaff/nibe

parents 228feb70 5be6a3f4
Loading
Loading
Loading
Loading
+57 −0
Original line number Diff line number Diff line
{ lib
, buildPythonPackage
, connio
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, setuptools
, umodbus
}:

buildPythonPackage rec {
  pname = "async-modbus";
  version = "0.2.0";
  format = "pyproject";

  disabled = pythonOlder "3.7";

  src = fetchFromGitHub {
    owner = "tiagocoutinho";
    repo = "async_modbus";
    rev = "refs/tags/v${version}";
    hash = "sha256-TB+ndUvLZ9G3XXEBpLb4ULHlYZC2CoqGnL2BjMQrhRg=";
  };

  postPatch = ''
    substituteInPlace pyproject.toml \
      --replace '"--cov=async_modbus",' "" \
      --replace '"--cov-report=html", "--cov-report=term",' "" \
      --replace '"--durations=2", "--verbose"' ""
  '';

  nativeBuildInputs = [
    setuptools
  ];

  propagatedBuildInputs = [
    connio
    umodbus
  ];

  checkInputs = [
    pytest-asyncio
    pytestCheckHook
  ];

  pythonImportsCheck = [
    "async_modbus"
  ];

  meta = with lib; {
    description = "Library for Modbus communication";
    homepage = "https://github.com/tiagocoutinho/async_modbus";
    license = with licenses; [ gpl3Plus ];
    maintainers = with maintainers; [ fab ];
  };
}
+42 −0
Original line number Diff line number Diff line
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytestCheckHook
, pythonOlder
, serialio
, sockio
}:

buildPythonPackage rec {
  pname = "connio";
  version = "0.2.0";
  format = "setuptools";

  disabled = pythonOlder "3.7";

  src = fetchFromGitHub {
    owner = "tiagocoutinho";
    repo = pname;
    rev = "refs/tags/v${version}";
    hash = "sha256-fPM7Ya69t0jpZhKM2MTk6BwjvoW3a8SV3k000LB9Ypo=";
  };

  propagatedBuildInputs = [
    serialio
    sockio
  ];

  # Module has no tests
  doCheck = false;

  pythonImportsCheck = [
    "connio"
  ];

  meta = with lib; {
    description = "Library for concurrency agnostic communication";
    homepage = "https://github.com/tiagocoutinho/connio";
    license = with licenses; [ gpl3Plus ];
    maintainers = with maintainers; [ fab ];
  };
}
+57 −0
Original line number Diff line number Diff line
{ lib
, aiohttp
, aresponses
, async-modbus
, async-timeout
, buildPythonPackage
, construct
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, setuptools
, tenacity
}:

buildPythonPackage rec {
  pname = "nibe";
  version = "1.2.1";
  format = "pyproject";

  disabled = pythonOlder "3.9";

  src = fetchFromGitHub {
    owner = "yozik04";
    repo = pname;
    rev = "refs/tags/${version}";
    hash = "sha256-y1/yZE5Gfj2XPscZ27TNXOM/VGy/iIFkvg2TCNsh4tI=";
  };

  nativeBuildInputs = [
    setuptools
  ];

  propagatedBuildInputs = [
    async-modbus
    async-timeout
    construct
    tenacity
  ];

  checkInputs = [
    aresponses
    pytest-asyncio
    pytestCheckHook
  ];

  pythonImportsCheck = [
    "nibe"
  ];

  meta = with lib; {
    description = "Library for the communication with Nibe heatpumps";
    homepage = "https://github.com/yozik04/nibe";
    license = with licenses; [ gpl3Plus ];
    maintainers = with maintainers; [ fab ];
  };
}
+43 −0
Original line number Diff line number Diff line
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, pyserial
, sockio
}:

buildPythonPackage rec {
  pname = "serialio";
  version = "2.4.0";
  format = "setuptools";

  disabled = pythonOlder "3.7";

  src = fetchFromGitHub {
    owner = "tiagocoutinho";
    repo = pname;
    rev = "refs/tags/v${version}";
    hash = "sha256-9TRGT0wpoRRcHqnH1XzlMBh0IcVzdEcOzN7hkeYnoW4=";
  };

  propagatedBuildInputs = [
    pyserial
    sockio
  ];

  # Module has no tests
  doCheck = false;

  pythonImportsCheck = [
    "serialio"
  ];

  meta = with lib; {
    description = "Library for concurrency agnostic serial connunication";
    homepage = "https://github.com/tiagocoutinho/serialio";
    license = with licenses; [ gpl3Plus ];
    maintainers = with maintainers; [ fab ];
  };
}
+80 −0
Original line number Diff line number Diff line
{ lib
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:

buildPythonPackage rec {
  pname = "sockio";
  version = "0.15.0";
  format = "setuptools";

  disabled = pythonOlder "3.7";

  src = fetchFromGitHub {
    owner = "tiagocoutinho";
    repo = pname;
    rev = "refs/tags/v${version}";
    hash = "sha256-NSGd7/k1Yr408dipMNBSPRSwQ+wId7VLxgqMM/UmN/Q=";
  };

  postPatch = ''
    substituteInPlace setup.cfg \
      --replace "--cov-config=.coveragerc --cov sockio" "" \
      --replace "--cov-report html --cov-report term" "" \
      --replace "--durations=2 --verbose" ""
  '';

  checkInputs = [
    pytest-asyncio
    pytestCheckHook
  ];

  pythonImportsCheck = [
    "sockio"
  ];

  disabledTests = [
    # Tests require network access
    "test_open_timeout"
    "test_write_readline_error"
    "test_open_close"
    "test_callbacks"
    "test_coroutine_callbacks"
    "test_error_callback"
    "test_eof_callback"
    "test_write_read"
    "test_write_readline"
    "test_write_readlines"
    "test_writelines_readlines"
    "test_writelines"
    "test_readline"
    "test_readuntil"
    "test_readexactly"
    "test_readlines"
    "test_read"
    "test_readbuffer"
    "test_parallel_rw"
    "test_parallel"
    "test_stream"
    "test_timeout"
    "test_line_stream"
    "test_block_stream"
    "test_socket_for_url"
    "test_root_socket_for_url"
  ];

  disabledTestPaths = [
    # We don't care about Python 2.x
    "tests/test_py2.py"
  ];

  meta = with lib; {
    description = "Implementation of the Modbus protocol";
    homepage = "https://tiagocoutinho.github.io/sockio/";
    license = with licenses; [ gpl3Plus ];
    maintainers = with maintainers; [ fab ];
  };
}
Loading