diff --git a/environment.yml b/environment.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b7d8c9eca63142afe6d725de9fc4a6dfe88e1db8
--- /dev/null
+++ b/environment.yml
@@ -0,0 +1,18 @@
+name: transcript-sequence-extractor
+channels:
+  - defaults
+  - conda-forge
+  - bioconda
+dependencies:
+  - python=3.10
+  - pandas=1.5
+  - numpy=1.23
+  - gtfparse=1.2
+  - pip=22.3
+  - pytest=7.2
+  - coverage=6.5
+  - black=22.10
+  - flake8=6.0
+  - flake8-docstrings=1.6
+  - mypy=0.991
+  - pylint=2.15
diff --git a/requirements.txt b/requirements.txt
index ed4c674a110399054f5274a7730f62f745efc1b3..4ce7c7f16bf931b4d0893cf868c0e1f973559b74 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,3 @@
  pandas ~= 1.5
  numpy ~= 1.23
- gtfparse ~= 1.3
+ gtfparse ~= 1.2
diff --git a/requirements_dev.txt b/requirements_dev.txt
index 4360923ac5b030fc34743142d9a850b830995e7d..ab4c4964f11ad764a889bccac4d6a17fdf1cd12e 100644
--- a/requirements_dev.txt
+++ b/requirements_dev.txt
@@ -1,7 +1,7 @@
-pytest
-coverage
-black
-flake8
-flake8-docstrings
-mypy
-pylint
+pytest~=7.2
+coverage~=6.5
+black~=22.10
+flake8~=6.0
+flake8-docstrings~=1.6
+mypy~=0.991
+pylint~=2.15