diff --git a/.gitignore b/.gitignore
index c859b74a434c3e20776cada7b2da9bc29bfa9740..e02656b7ae5ba27a420ce7301177fdd56403875f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1141,4 +1141,5 @@ Debug*/Debug*\ Libs
 /.run/
 /.checkmate/
 /lsp/
-/src/covid19_worker/dump.rdb
+dump.rdb
+!scripts
diff --git a/MANIFEST.in b/MANIFEST.in
index 7f8bbe601424486a897304f15cc4f2394a07e192..25224793f6d899492498fda7468ea57af88329fd 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,12 +1,9 @@
 graft src/covid19/static
-graft src/covid19/templates
 global-exclude *.pyc
 
 include BACKLOG.md
 include LICENSE.md
 include requirements/*.txt
-graft artwork
 graft docs
-prune docs/_build
 graft tests
 global-exclude *.pyc
\ No newline at end of file
diff --git a/scripts/__init__.py b/scripts/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/scripts/scipt_get_python_requirements_from_txt.sh b/scripts/scipt_get_python_requirements_from_txt.sh
new file mode 100644
index 0000000000000000000000000000000000000000..57360dd520a76044f07c7a4f6dd50e305dd79157
--- /dev/null
+++ b/scripts/scipt_get_python_requirements_from_txt.sh
@@ -0,0 +1,4 @@
+cat requirements/build.txt | grep -v '#' | sed 's/^/\t"/g' | sed 's/$/",/g' > requirements/req_build.py
+cat requirements/docs.txt | grep -v '#' | sed 's/^/\t"/g' | sed 's/$/",/g' > requirements/req_docs.py
+cat requirements/tests.txt | grep -v '#' | sed 's/^/\t"/g' | sed 's/$/",/g' > requirements/req_tests.py
+cat requirements/dev.txt | grep -v '#' | sed 's/^/\t"/g' | sed 's/$/",/g' > requirements/req_dev.py
diff --git a/scripts/script_get_python_requirements_from_txt.py b/scripts/script_get_python_requirements_from_txt.py
new file mode 100644
index 0000000000000000000000000000000000000000..d48c834212686a82bb1966ac0040218d71f928f4
--- /dev/null
+++ b/scripts/script_get_python_requirements_from_txt.py
@@ -0,0 +1,20 @@
+#!/user/bin/env python
+
+import os
+import sys
+import subprocess
+import logging
+from setuptools import setup, find_packages
+
+
+def get_python_requirements_from_txt():
+    my_cmd = ['bash', 'scripts'+os.sep+'scipt_get_python_requirements_from_txt.sh']
+    returncode = subprocess.call(my_cmd, shell=True)
+    if returncode == 0:
+        logging.info("retcode: "+str(returncode))
+    else:
+        logging.error("retcode: " + str(returncode))
+    return None
+
+
+get_python_requirements_from_txt()
diff --git a/scripts/script_npm_install.py b/scripts/script_npm_install.py
new file mode 100644
index 0000000000000000000000000000000000000000..073b9e057ecf51c89f8c1e37f6cde4a72156d5bd
--- /dev/null
+++ b/scripts/script_npm_install.py
@@ -0,0 +1,20 @@
+#!/user/bin/env python
+
+import os
+import sys
+import subprocess
+import logging
+from setuptools import setup, find_packages
+
+
+def run_npm_install():
+    my_cmd = ['npm', 'install']
+    returncode = subprocess.call(my_cmd, shell=True)
+    if returncode == 0:
+        logging.info("retcode: "+str(returncode))
+    else:
+        logging.error("retcode: " + str(returncode))
+    return None
+
+
+run_npm_install()
diff --git a/scripts/script_setup_requirements.py b/scripts/script_setup_requirements.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f536fb6e9a0dbb0b174da24de4a399d9fcbac1e
--- /dev/null
+++ b/scripts/script_setup_requirements.py
@@ -0,0 +1,30 @@
+#!/user/bin/env python
+
+import os
+import sys
+import subprocess
+import logging
+from setuptools import setup, find_packages
+
+
+def run_compile_requirements():
+    my_cmd_list = [
+        ['pip-compile', '-r', 'requirements' + os.sep + 'build.in'],
+        ['pip-compile', '-r', 'requirements' + os.sep + 'docs.in'],
+        ['pip-compile', '-r', 'requirements' + os.sep + 'tests.in'],
+        ['pip-compile', '-r', 'requirements' + os.sep + 'dev.in'],
+        ['pip', 'install', '-r', 'requirements' + os.sep + 'build.in'],
+        ['pip', 'install', '-r', 'requirements' + os.sep + 'docs.in'],
+        ['pip', 'install', '-r', 'requirements' + os.sep + 'tests.in'],
+        ['pip', 'install', '-r', 'requirements' + os.sep + 'dev.in'],
+    ]
+    for my_cmd in my_cmd_list:
+        returncode = subprocess.call(my_cmd, shell=True)
+        if returncode == 0:
+            logging.info("retcode: "+str(returncode))
+        else:
+            logging.error("retcode: " + str(returncode))
+    return None
+
+
+run_compile_requirements()