diff --git a/pkgs/development/python-modules/timeslot/default.nix b/pkgs/development/python-modules/timeslot/default.nix new file mode 100644 index 000000000000..1a71651ca054 --- /dev/null +++ b/pkgs/development/python-modules/timeslot/default.nix @@ -0,0 +1,48 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, poetry-core +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "timeslot"; + version = "0.1.2"; + + # pypi distribution doesn't include tests, so build from source instead + src = fetchFromGitHub { + owner = "ErikBjare"; + repo = pname; + rev = "af35445e96cbb2f3fb671a75aac6aa93e4e7e7a6"; + sha256 = "sha256-GEhg2iMsYMfalT7L9TCd1KHU6oa/wTl5m3mRC0zOH9Q="; + }; + + format = "pyproject"; + + disabled = pythonOlder "3.6"; + + nativeBuildInputs = [ + poetry-core + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + pytestFlagsArray = [ + # The pyproject.toml specifies the flag `--cov=timeslot`, + # This causes an error when running without pytest-cov, + # so use this flag to override that option, as we don't need coverage. + "--override-ini addopts=''" + ]; + + pythonImportsCheck = [ "timeslot" ]; + + meta = with lib; { + description = "Data type for representing time slots with a start and end"; + homepage = "https://github.com/ErikBjare/timeslot"; + maintainers = with maintainers; [ huantian ]; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5c7d144cd4cc..1510a4a0efaf 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11816,6 +11816,8 @@ self: super: with self; { timeout-decorator = callPackage ../development/python-modules/timeout-decorator { }; + timeslot = callPackage ../development/python-modules/timeslot { }; + timetagger = callPackage ../development/python-modules/timetagger { }; timezonefinder = callPackage ../development/python-modules/timezonefinder { };