diff --git a/pkgs/development/python-modules/onecache/default.nix b/pkgs/development/python-modules/onecache/default.nix new file mode 100644 index 000000000000..03a8520bbfe0 --- /dev/null +++ b/pkgs/development/python-modules/onecache/default.nix @@ -0,0 +1,49 @@ +{ + lib, + buildPythonPackage, + pythonOlder, + fetchFromGitHub, + poetry-core, + pytestCheckHook, + pytest-cov-stub, + pytest-asyncio, + stdenv, +}: + +buildPythonPackage rec { + pname = "onecache"; + version = "0.7.0"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "sonic182"; + repo = "onecache"; + rev = "refs/tags/${version}"; + hash = "sha256-go/3HntSLzzTmHS9CxGPHT6mwXl+6LuWFmkGygGIjqU="; + }; + + build-system = [ poetry-core ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-cov-stub + pytest-asyncio + ]; + + disabledTests = lib.optionals stdenv.isDarwin [ + # test fails due to unknown reason on darwin + "test_lru_and_ttl_refresh" + ]; + + pythonImportsCheck = [ "onecache" ]; + + meta = { + changelog = "https://github.com/sonic182/onecache/blob/${version}/CHANGELOG.md"; + description = "Python LRU and TTL cache for sync and async code"; + license = lib.licenses.mit; + homepage = "https://github.com/sonic182/onecache"; + maintainers = with lib.maintainers; [ geraldog ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8544f7c7d8f1..65716fa2895c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9373,6 +9373,8 @@ self: super: with self; { ondilo = callPackage ../development/python-modules/ondilo { }; + onecache = callPackage ../development/python-modules/onecache { }; + onetimepass = callPackage ../development/python-modules/onetimepass { }; onigurumacffi = callPackage ../development/python-modules/onigurumacffi { };