From 4964ce13a2115d395d77eef2df81aa291c23f3ff Mon Sep 17 00:00:00 2001 From: Keigh Rim Date: Wed, 15 Jan 2025 11:23:25 -0500 Subject: [PATCH] updated appdev template to fix fixed path problem, better cleanup in Makefile --- Makefile | 3 +++ clams/develop/templates/app/metadata.py.template | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) 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