diff --git a/pkgs/development/python-modules/property-cached/default.nix b/pkgs/development/python-modules/property-cached/default.nix new file mode 100644 index 000000000000..5852d27c3fe2 --- /dev/null +++ b/pkgs/development/python-modules/property-cached/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + freezegun, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage rec { + pname = "property-cached"; + version = "1.6.4"; + pyproject = true; + + src = fetchFromGitHub { + owner = "althonos"; + repo = "property-cached"; + tag = "v${version}"; + hash = "sha256-8kityZ++1TS22Ff7a5x5bQi0QBaHsNaP4E/Man8A28A="; + }; + + build-system = [ setuptools ]; + + nativeCheckInputs = [ + pytestCheckHook + freezegun + ]; + + disabledTestPaths = [ + # https://github.com/althonos/property-cached/pull/118 + "tests/test_coroutine_cached_property.py" + "tests/test_async_cached_property.py" + ]; + disabledTests = [ + # https://github.com/pydanny/cached-property/issues/131 + "test_threads_ttl_expiry" + ]; + + pythonImportsCheck = [ "property_cached" ]; + + meta = { + description = "Decorator for caching properties in classes"; + homepage = "https://github.com/althonos/property-cached"; + changelog = "https://github.com/althonos/property-cached/blob/v${version}/CHANGELOG.rst"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ jherland ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5e6721686eb1..d82dfa9a7301 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11833,6 +11833,8 @@ self: super: with self; { propcache = callPackage ../development/python-modules/propcache { }; + property-cached = callPackage ../development/python-modules/property-cached { }; + property-manager = callPackage ../development/python-modules/property-manager { }; prophet = callPackage ../development/python-modules/prophet { };