diff --git a/pkgs/development/python-modules/persistent/default.nix b/pkgs/development/python-modules/persistent/default.nix
new file mode 100644
index 000000000000..4940a8b2e046
--- /dev/null
+++ b/pkgs/development/python-modules/persistent/default.nix
@@ -0,0 +1,23 @@
+{ buildPythonPackage
+, fetchPypi
+, zope_interface
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "persistent";
+  version = "4.2.4.2";
+  name = "${pname}-${version}";
+
+  propagatedBuildInputs = [ zope_interface ];
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "cf264cd55866c7ffbcbe1328f8d8b28fd042a5dd0c03a03f68c0887df3aa1964";
+  };
+
+  meta = {
+    description = "Automatic persistence for Python objects";
+    homepage = http://www.zope.org/Products/ZODB;
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index e4a7a349fa36..276c25399266 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -25049,21 +25049,7 @@ EOF
 
   BTrees = callPackage ../development/python-modules/btrees {};
 
-  persistent = self.buildPythonPackage rec {
-    name = "persistent-4.0.8";
-
-    propagatedBuildInputs = with self; [ zope_interface ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/persistent/${name}.tar.gz";
-      sha256 = "678902217c5370d33694c6dc95b89e1e6284b4dc41f04c056326194a3f6f3e22";
-    };
-
-    meta = {
-      description = "Automatic persistence for Python objects";
-      homepage = http://www.zope.org/Products/ZODB;
-    };
-  };
+  persistent = callPackage ../development/python-modules/persistent {};
 
   xdot = buildPythonPackage rec {
     name = "xdot-0.7";