diff --git a/Makefile b/Makefile
index 9a952ae..026a684 100644
--- a/Makefile
+++ b/Makefile
@@ -97,5 +97,8 @@ distclean:
 	@rm -rf dist $(artifact) build/bdist*
 clean: distclean
 	@rm -rf VERSION VERSION.dev $(testcaches) $(buildcaches) $(generatedcode)
+	@rm -rf docs
+	@rm -rf .*cache
+	@rm -rf .hypothesis tests/.hypothesis
 cleandocs: 
 	@git checkout -- docs && git clean -fx docs
diff --git a/clams/develop/templates/app/metadata.py.template b/clams/develop/templates/app/metadata.py.template
index a074d5f..8b1f8c7 100644
--- a/clams/develop/templates/app/metadata.py.template
+++ b/clams/develop/templates/app/metadata.py.template
@@ -3,6 +3,7 @@ The purpose of this file is to define the metadata of the app with minimal impor
 
 DO NOT CHANGE the name of the file
 """
+import pathlib
 
 from mmif import DocumentTypes, AnnotationTypes
 
@@ -36,7 +37,7 @@ def appmetadata() -> AppMetadata:
         # (but, when the app doesn't implementaion any additional algorithms/model/architecture, but simply use API's of existing, for exmaple, OCR software, it is a wrapper)
         # if the analyzer is a python app, and it's specified in the requirements.txt
         # this trick can also be useful (replace ANALYZER_NAME with the pypi dist name)
-        analyzer_version=[l.strip().rsplit('==')[-1] for l in open('requirements.txt').readlines() if re.match(r'^ANALYZER_NAME==', l)][0],
+        analyzer_version=[l.strip().rsplit('==')[-1] for l in open(pathlib.Path(__file__).parent / 'requirements.txt').readlines() if re.match(r'^ANALYZER_NAME==', l)][0],
         analyzer_license="",  # short name for a software license
     )
     # and then add I/O specifications: an app must have at least one input and one output