diff --git a/pkgs/development/python-modules/pyvcd/default.nix b/pkgs/development/python-modules/pyvcd/default.nix
new file mode 100644
index 00000000000..b3d4483d65d
--- /dev/null
+++ b/pkgs/development/python-modules/pyvcd/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, setuptools_scm
+, six
+, pytest }:
+
+buildPythonPackage rec {
+  version = "0.1.4";
+  pname = "pyvcd";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0dv9wac5y5z9j54ypyc59csxdiy9ybpphw9ipxp1k8nfg65q9jxx";
+  };
+
+  buildInputs = [ setuptools_scm ];
+  propagatedBuildInputs = [ six ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  checkInputs = [ pytest ];
+
+  meta = with lib; {
+    description = "Python package for writing Value Change Dump (VCD) files";
+    homepage = https://github.com/SanDisk-Open-Source/pyvcd;
+    license = licenses.mit;
+    maintainers = [ maintainers.sb0 ];
+  };
+}
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 923834df80c..8ebd6d3fc34 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -698,6 +698,8 @@ in {
 
   pyxml = disabledIf isPy3k (callPackage ../development/python-modules/pyxml{ });
 
+  pyvcd = callPackage ../development/python-modules/pyvcd { };
+
   pyvoro = callPackage ../development/python-modules/pyvoro { };
 
   relatorio = callPackage ../development/python-modules/relatorio { };