From 1144250a96cb4fa338b09fce7b14c5bc4eda3298 Mon Sep 17 00:00:00 2001 From: Warsame Date: Sat, 27 Sep 2025 16:17:49 -0400 Subject: [PATCH] v2 --- __pycache__/run.cpython-312.pyc | Bin 149 -> 151 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 148 -> 150 bytes src/acmecli/__pycache__/cli.cpython-312.pyc | Bin 5296 -> 6114 bytes .../__pycache__/hf_handler.cpython-312.pyc | Bin 1714 -> 1716 bytes src/acmecli/__pycache__/types.cpython-312.pyc | Bin 4204 -> 4206 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 690 -> 692 bytes .../metrics/__pycache__/base.cpython-312.pyc | Bin 379 -> 381 bytes .../license_metric.cpython-312.pyc | Bin 2890 -> 2892 bytes src/acmecli/metrics/code_quality_metric.py | 16 ++++++++++++---- test_url.txt | 1 - urls.txt | 12 ++++++++++-- 11 files changed, 22 insertions(+), 7 deletions(-) delete mode 100644 test_url.txt diff --git a/__pycache__/run.cpython-312.pyc b/__pycache__/run.cpython-312.pyc index 6249259f94c0f7015ffcbd125a85307937ecb4db..368c0e8db5ff5eaf66689a239768b4405d8c588e 100644 GIT binary patch delta 56 zcmbQrIGvIAG%qg~0}yQ7dNhM)BCmtIimO#jcw$j;Vs5H>v4UHEPD*M~ag0l9nXaR= KuWQW2ENuYIX%Sxl delta 54 zcmbQvIF*t2G%qg~0}!~{-^k#e$m<}hq@R(Wo2p+_nwOVaq+gz2l&xQqT3iAlCgx}Z E0GM?U-v9sr diff --git a/src/acmecli/__pycache__/__init__.cpython-312.pyc b/src/acmecli/__pycache__/__init__.cpython-312.pyc index 8c5a7a2ac38fbd86a94981816b749387cd85541e..b37694937a17b566430efc7df46f28451a18fee7 100644 GIT binary patch delta 66 zcmbQjIE|6}G%qg~0}yQ7dUPVUv9_tJRZMtdQE_5!s(P`4TYgSTYEf~FOKO>}qqDDT UOmR_iOk#3wYI06y%*1qE0H1Od!TG%qg~0}!~{-o?n!$Uy@o}0wIcvlJygl Ob5oOZGW92B>H+{{ITYyt diff --git a/src/acmecli/__pycache__/cli.cpython-312.pyc b/src/acmecli/__pycache__/cli.cpython-312.pyc index cbaa9f700513a66bee35777a8726873f24b50b31..0ad1ea78ea05440c13ecad8c40a3da37ad3ec9bf 100644 GIT binary patch delta 2473 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 Z+1E9uxF|U$F*!FiIVUq_a~_Ke696A_7drp| delta 69 zcmdnOyNQ?gG%qg~0}!~{-^hsA$ZNr(X{w)*pPQ;*RGOEUTBKi|UzDw1l3H8>A&QHV T^%IkGQHCT$~EtC;Y_qT$DF_m07U>7nA4XrY7fP>gT4G6lEqC>rc*M@&EvxhZ(#8 diff --git a/src/acmecli/metrics/__pycache__/base.cpython-312.pyc b/src/acmecli/metrics/__pycache__/base.cpython-312.pyc index 5760bd88a697641e81beb8e4222951cc006fa25c..db346cbc95285635e3d23d4d984042c170a081af 100644 GIT binary patch delta 76 zcmey(^p}bEG%qg~0}vRQ-N=ZW$h*zh($y*^Jh7-aF*jAcSivnnCndG0IL0NlOxMxb e*EOcNC^;rEIX5*qCo?8DwWKIBxj1Ixmv#WTTpKz7 delta 74 zcmey%^qYzIG%qg~0}!~{-^hrZ$h*zZTt6c}H&wr=G%qi;NWVP4C|kcIwYUUA6c;7y YCno2nCg)`8=cbkvWhNKvPyE&n0I3EW8UO$Q diff --git a/src/acmecli/metrics/__pycache__/license_metric.cpython-312.pyc b/src/acmecli/metrics/__pycache__/license_metric.cpython-312.pyc index e38ef5c4389cb2625432bd5e24225410c5d16d50..29e722aa8f7735de29ebc46128d816b024149229 100644 GIT binary patch delta 79 zcmX>lc1Dc%G%qg~0}!;j+{mcf$h(Ba*xA)8COomII59U>y;#95KPM%%s5r(YwM^I1 h+1E9uxF|U$F*!FiIVUqFH?^cFGr2fs^COlFHUJ7+8jc1n!*G%qg~0}#w}xRK$!k#`A;p`(6Aer~FMQE6UYYLR|!cey diff --git a/src/acmecli/metrics/code_quality_metric.py b/src/acmecli/metrics/code_quality_metric.py index c628377..eae6f54 100644 --- a/src/acmecli/metrics/code_quality_metric.py +++ b/src/acmecli/metrics/code_quality_metric.py @@ -2,7 +2,6 @@ from ..types import MetricValue from .base import register - class CodeQualityMetric: """Metric to assess code style, maintainability, and engineering practices.""" name = "code_quality" @@ -13,7 +12,12 @@ def score(self, meta: dict) -> MetricValue: # Heuristics for code quality assessment score = 0.0 - readme_text = meta.get('readme_text', '').lower() + readme_text = meta.get('readme_text') + if readme_text is not None: + readme_text = str(readme_text).lower() + else: + readme_text = "" + if readme_text: # Look for testing mentions testing_keywords = ['test', 'testing', 'pytest', 'unittest', 'coverage', 'ci', 'continuous integration'] @@ -41,7 +45,12 @@ def score(self, meta: dict) -> MetricValue: score += 0.1 # Check for popular programming language (better tooling/community) - language = meta.get('language', '').lower() + language = meta.get('language') + if language is not None: + language = str(language).lower() + else: + language = "" + popular_languages = ['python', 'javascript', 'java', 'c++', 'typescript', 'go', 'rust'] if language in popular_languages: score += 0.1 @@ -74,5 +83,4 @@ def score(self, meta: dict) -> MetricValue: latency_ms = int((time.perf_counter() - t0) * 1000) return MetricValue(self.name, value, latency_ms) - register(CodeQualityMetric()) \ No newline at end of file diff --git a/test_url.txt b/test_url.txt deleted file mode 100644 index be601e7..0000000 --- a/test_url.txt +++ /dev/null @@ -1 +0,0 @@ -https://github.com/pytorch/pytorch diff --git a/urls.txt b/urls.txt index 893da06..1dfb3fa 100644 --- a/urls.txt +++ b/urls.txt @@ -1,2 +1,10 @@ -https://github.com/octocat/Hello-World -https://huggingface.co/google/gemma-3-270m \ No newline at end of file +https://github.com/pallets/flask +https://github.com/tiangolo/fastapi +https://github.com/huggingface/transformers +https://github.com/psf/requests +https://huggingface.co/gpt2 +https://huggingface.co/facebook/bart-large +https://huggingface.co/google/vit-base-patch16-224 +https://github.com/numpy/numpy +https://github.com/scikit-learn/scikit-learn +https://github.com/pytorch/pytorch \ No newline at end of file