diff --git a/pkgs/by-name/h5/h5glance/package.nix b/pkgs/by-name/h5/h5glance/package.nix new file mode 100644 index 000000000000..bd4e7153b0ed --- /dev/null +++ b/pkgs/by-name/h5/h5glance/package.nix @@ -0,0 +1,44 @@ +{ + lib, + python3, + fetchFromGitHub, +}: + +python3.pkgs.buildPythonApplication rec { + pname = "h5glance"; + version = "0.9"; + pyproject = true; + + src = fetchFromGitHub { + owner = "European-XFEL"; + repo = "h5glance"; + tag = version; + hash = "sha256-20gSaNZrH3AeFTGLho6sbWljfqln9SQEVdvEVe/WaYY="; + }; + + build-system = [ + python3.pkgs.flit-core + ]; + + dependencies = with python3.pkgs; [ + h5py + htmlgen + ]; + + nativeCheckInputs = [ + python3.pkgs.pytestCheckHook + ]; + + pythonImportsCheck = [ + "h5glance" + ]; + + meta = { + description = "Explore HDF5 files in terminal & HTML views"; + homepage = "https://github.com/European-XFEL/h5glance"; + changelog = "https://github.com/European-XFEL/h5glance/blob/${src.rev}/CHANGES.rst"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ doronbehar ]; + mainProgram = "h5glance"; + }; +} diff --git a/pkgs/development/python-modules/asserts/default.nix b/pkgs/development/python-modules/asserts/default.nix new file mode 100644 index 000000000000..76be0c518057 --- /dev/null +++ b/pkgs/development/python-modules/asserts/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + poetry-core, + + # dependencies + typing-extensions, + + # tests + unittestCheckHook, +}: + +buildPythonPackage rec { + pname = "asserts"; + version = "0.13.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "srittau"; + repo = "python-asserts"; + tag = "v${version}"; + hash = "sha256-hjTzGCcURI0NH9pgZ6KB0J3tSbgIaneDnWr8zrLVG6M="; + }; + + build-system = [ + poetry-core + ]; + + dependencies = [ + typing-extensions + ]; + + nativeCheckInputs = [ + unittestCheckHook + ]; + + pythonImportsCheck = [ + "asserts" + ]; + + meta = { + description = "Stand-alone Assertions for Python"; + homepage = "https://github.com/srittau/python-asserts"; + changelog = "https://github.com/srittau/python-asserts/blob/${src.rev}/CHANGELOG.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/development/python-modules/htmlgen/default.nix b/pkgs/development/python-modules/htmlgen/default.nix new file mode 100644 index 000000000000..6dbb101b552e --- /dev/null +++ b/pkgs/development/python-modules/htmlgen/default.nix @@ -0,0 +1,59 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + setuptools, + + # dependencies + asserts, + mypy, +}: + +buildPythonPackage rec { + pname = "htmlgen"; + version = "2.0.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "srittau"; + repo = "python-htmlgen"; + tag = "v${version}"; + hash = "sha256-RmJKaaTB+xvsJ+9jM21ZUNVTlr7ebPW785A8OXrpDoY="; + }; + + build-system = [ + setuptools + ]; + + dependencies = [ + mypy + ]; + + nativeCheckInputs = [ + asserts + ]; + # From some reason, using unittestCheckHook doesn't work, and the list of + # test files have to be used explicitly, and also without the `discover` + # argument. + checkPhase = '' + runHook preCheck + + python -m unittest test_htmlgen/*.py + + runHook postCheck + ''; + + pythonImportsCheck = [ + "htmlgen" + ]; + + meta = { + description = "Python HTML 5 Generator"; + homepage = "https://github.com/srittau/python-htmlgen"; + changelog = "https://github.com/srittau/python-htmlgen/blob/v${version}/NEWS.md"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ doronbehar ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6dee54e8d17e..3d4e9359e96f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -894,6 +894,8 @@ self: super: with self; { assay = callPackage ../development/python-modules/assay { }; + asserts = callPackage ../development/python-modules/asserts { }; + assertpy = callPackage ../development/python-modules/assertpy { }; asterisk-mbox = callPackage ../development/python-modules/asterisk-mbox { }; @@ -6062,6 +6064,8 @@ self: super: with self; { htmldate = callPackage ../development/python-modules/htmldate { }; + htmlgen = callPackage ../development/python-modules/htmlgen { }; + htmllistparse = callPackage ../development/python-modules/htmllistparse { }; htmlmin = callPackage ../development/python-modules/htmlmin { };