diff --git a/pkgs/development/python-modules/py-opendisplay/default.nix b/pkgs/development/python-modules/py-opendisplay/default.nix new file mode 100644 index 000000000000..bd4e2f61fae7 --- /dev/null +++ b/pkgs/development/python-modules/py-opendisplay/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + bleak, + bleak-retry-connector, + epaper-dithering, + numpy, + pillow, + pytestCheckHook, + pytest-asyncio, +}: + +buildPythonPackage (finalAttrs: { + pname = "py-opendisplay"; + version = "5.5.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "OpenDisplay"; + repo = "py-opendisplay"; + tag = "v${finalAttrs.version}"; + hash = "sha256-pPV4Ir9GK++66qq5QGnwyjpBinK7EvI7C7HB14tFDXU="; + }; + + build-system = [ hatchling ]; + + dependencies = [ + bleak + bleak-retry-connector + epaper-dithering + numpy + pillow + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ]; + + pythonImportsCheck = [ "opendisplay" ]; + + meta = { + description = "Python library for communicating with OpenDisplay BLE e-paper displays"; + homepage = "https://github.com/OpenDisplay/py-opendisplay"; + changelog = "https://github.com/OpenDisplay/py-opendisplay/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +})