diff --git a/pkgs/development/python-modules/xhtml2pdf/default.nix b/pkgs/development/python-modules/xhtml2pdf/default.nix
new file mode 100644
index 00000000000..d5a66685646
--- /dev/null
+++ b/pkgs/development/python-modules/xhtml2pdf/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pillow
+, html5lib
+, pypdf2
+, reportlab
+, six
+}:
+
+buildPythonPackage rec {
+ pname = "xhtml2pdf";
+ version = "0.2.3";
+
+ propagatedBuildInputs = [pillow html5lib pypdf2 reportlab six];
+
+ src = fetchPypi {
+ inherit pname version;
+ sha256 = "10kg8cmn7zgql2lb6cfmqj94sa0jkraksv3lc4kvpn58sxw7x8w6";
+ };
+
+ meta = with stdenv.lib; {
+ description = "A PDF generator using HTML and CSS";
+ homepage = https://github.com/xhtml2pdf/xhtml2pdf;
+ license = licenses.asl20;
+ };
+
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index fde30019bc9..ee359d21fda 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5165,6 +5165,8 @@ in {
xgboost = pkgs.xgboost;
};
+ xhtml2pdf = callPackage ../development/python-modules/xhtml2pdf { };
+
xkcdpass = callPackage ../development/python-modules/xkcdpass { };
xlsx2csv = callPackage ../development/python-modules/xlsx2csv { };