diff --git a/pkgs/development/python-modules/html-tag-names/default.nix b/pkgs/development/python-modules/html-tag-names/default.nix
new file mode 100644
index 000000000000..543ef8686dc9
--- /dev/null
+++ b/pkgs/development/python-modules/html-tag-names/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+}:
+
+buildPythonPackage rec {
+ pname = "html-tag-names";
+ version = "0.1.2";
+ format = "pyproject";
+
+ src = fetchFromGitHub {
+ owner = "Riverside-Healthcare";
+ repo = "html-tag-names";
+ rev = version;
+ hash = "sha256-2YywP4/0yocejuJwanC5g9BR7mcy5C+zMhCjNZ9FRH4=";
+ };
+
+ nativeBuildInputs = [
+ poetry-core
+ ];
+
+ # has no tests
+ doCheck = false;
+
+ pythonImportsCheck = [ "HtmlTagNames" ];
+
+ meta = with lib; {
+ description = "List of known HTML tags";
+ homepage = "https://github.com/Riverside-Healthcare/html-tag-names";
+ license = licenses.gpl3Only;
+ maintainers = with maintainers; [ traxys ];
+ };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 24878a3c70f1..a8d31fb8c712 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -4944,6 +4944,8 @@ self: super: with self; {
html-sanitizer = callPackage ../development/python-modules/html-sanitizer { };
+ html-tag-names = callPackage ../development/python-modules/html-tag-names { };
+
html-text = callPackage ../development/python-modules/html-text { };
htseq = callPackage ../development/python-modules/htseq { };