seonglae-holistic commited on
Commit
a5b0db7
·
1 Parent(s): 995dcf8

fix: make runnable within local uv env

Browse files
Files changed (3) hide show
  1. pyproject.toml +25 -1
  2. src/display/utils.py +24 -22
  3. uv.lock +0 -0
pyproject.toml CHANGED
@@ -1,9 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  [tool.ruff]
2
  # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
3
  select = ["E", "F"]
4
  ignore = ["E501"] # line too long (black is taking care of this)
5
  line-length = 119
6
- fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"]
7
 
8
  [tool.isort]
9
  profile = "black"
 
1
+ [project]
2
+ name = "libvulnwatchleaderboard"
3
+ version = "0.1.0"
4
+ description = "A vulnerability assessment leaderboard for libraries"
5
+ requires-python = ">=3.8"
6
+ dependencies = [
7
+ "APScheduler",
8
+ "black",
9
+ "datasets",
10
+ "gradio",
11
+ "gradio[oauth]",
12
+ "gradio_leaderboard==0.0.13",
13
+ "gradio_client",
14
+ "huggingface-hub>=0.18.0",
15
+ "matplotlib",
16
+ "numpy",
17
+ "pandas",
18
+ "python-dateutil",
19
+ "tqdm",
20
+ "transformers",
21
+ "tokenizers>=0.15.0",
22
+ "sentencepiece",
23
+ ]
24
+
25
  [tool.ruff]
26
  # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
27
  select = ["E", "F"]
28
  ignore = ["E501"] # line too long (black is taking care of this)
29
  line-length = 119
30
+ fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TID", "TRY", "UP", "YTT"]
31
 
32
  [tool.isort]
33
  profile = "black"
src/display/utils.py CHANGED
@@ -1,8 +1,6 @@
1
- from dataclasses import dataclass, make_dataclass
2
  from enum import Enum
3
 
4
- import pandas as pd
5
-
6
  from src.about import Tasks
7
 
8
  def fields(raw_class):
@@ -21,28 +19,32 @@ class ColumnContent:
21
  never_hidden: bool = False
22
 
23
  ## Leaderboard columns
24
- auto_eval_column_dict = []
 
 
25
  # Init
26
- auto_eval_column_dict.append(["library_type_symbol", ColumnContent, ColumnContent("T", "str", True, never_hidden=True)])
27
- auto_eval_column_dict.append(["library", ColumnContent, ColumnContent("Library", "markdown", True, never_hidden=True)])
28
- #Scores
29
- auto_eval_column_dict.append(["overall_risk", ColumnContent, ColumnContent("Trust Score ⬇️", "number", True)])
 
30
  for task in Tasks:
31
- auto_eval_column_dict.append([task.name, ColumnContent, ColumnContent(task.value.col_name, "number", True)])
 
32
  # Library information
33
- auto_eval_column_dict.append(["library_type", ColumnContent, ColumnContent("Type", "str", False)])
34
- auto_eval_column_dict.append(["framework", ColumnContent, ColumnContent("Framework", "str", False)])
35
- auto_eval_column_dict.append(["version", ColumnContent, ColumnContent("Version", "str", False, False)])
36
- auto_eval_column_dict.append(["language", ColumnContent, ColumnContent("Language", "str", False)])
37
- auto_eval_column_dict.append(["license_name", ColumnContent, ColumnContent("License", "str", True)])
38
- auto_eval_column_dict.append(["stars", ColumnContent, ColumnContent("GitHub ⭐", "number", False)])
39
- auto_eval_column_dict.append(["last_update", ColumnContent, ColumnContent("Last Updated", "str", False)])
40
- auto_eval_column_dict.append(["verified", ColumnContent, ColumnContent("Independently Verified", "bool", False)])
41
- auto_eval_column_dict.append(["availability", ColumnContent, ColumnContent("Active Maintenance", "bool", True)])
42
- auto_eval_column_dict.append(["report_url", ColumnContent, ColumnContent("Report", "str", True)])
43
-
44
- # We use make dataclass to dynamically fill the scores from Tasks
45
- AutoEvalColumn = make_dataclass("AutoEvalColumn", auto_eval_column_dict, frozen=True)
46
 
47
  ## For the queue columns in the submission tab
48
  @dataclass(frozen=True)
 
1
+ from dataclasses import dataclass
2
  from enum import Enum
3
 
 
 
4
  from src.about import Tasks
5
 
6
  def fields(raw_class):
 
19
  never_hidden: bool = False
20
 
21
  ## Leaderboard columns
22
+ # Create a dictionary to hold the class attributes
23
+ auto_eval_column_attrs = {}
24
+
25
  # Init
26
+ auto_eval_column_attrs["library_type_symbol"] = ColumnContent("T", "str", True, never_hidden=True)
27
+ auto_eval_column_attrs["library"] = ColumnContent("Library", "markdown", True, never_hidden=True)
28
+
29
+ # Scores
30
+ auto_eval_column_attrs["overall_risk"] = ColumnContent("Trust Score ⬇️", "number", True)
31
  for task in Tasks:
32
+ auto_eval_column_attrs[task.name] = ColumnContent(task.value.col_name, "number", True)
33
+
34
  # Library information
35
+ auto_eval_column_attrs["library_type"] = ColumnContent("Type", "str", False)
36
+ auto_eval_column_attrs["framework"] = ColumnContent("Framework", "str", False)
37
+ auto_eval_column_attrs["version"] = ColumnContent("Version", "str", False, False)
38
+ auto_eval_column_attrs["language"] = ColumnContent("Language", "str", False)
39
+ auto_eval_column_attrs["license_name"] = ColumnContent("License", "str", True)
40
+ auto_eval_column_attrs["stars"] = ColumnContent("GitHub ⭐", "number", False)
41
+ auto_eval_column_attrs["last_update"] = ColumnContent("Last Updated", "str", False)
42
+ auto_eval_column_attrs["verified"] = ColumnContent("Independently Verified", "bool", False)
43
+ auto_eval_column_attrs["availability"] = ColumnContent("Active Maintenance", "bool", True)
44
+ auto_eval_column_attrs["report_url"] = ColumnContent("Report", "str", True)
45
+
46
+ # Create the dataclass with class attributes
47
+ AutoEvalColumn = type("AutoEvalColumn", (), auto_eval_column_attrs)
48
 
49
  ## For the queue columns in the submission tab
50
  @dataclass(frozen=True)
uv.lock ADDED
The diff for this file is too large to render. See raw diff